summaryrefslogtreecommitdiff
path: root/symbol.hh
blob: 4f26e04e662ec8453116e68b2714aace617ebcf3 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef SYMBOL_HH
#define SYMBOL_HH
#include "string.hh"
#include "boxes.hh"
#include "proto.hh"

struct Symbol {
    String tex;
    Box dim;

    Symbol (String, Box);
    Symbol();
};

struct Parametric_symbol {    
    Symtables*symtables_;	// indirection 

    /*****************/
    
    Parametric_symbol(Symtables*s) { symtables_ = s; }
    Symbol eval(String args1) const; // convenience
    Symbol eval(String args1,String arg2) const; // convenience
    virtual Symbol eval(svec<String> args)const =0;
    virtual ~Parametric_symbol(){}
};

#endif