File: sym.h

package info (click to toggle)
lie 2.2.2%2Bdfsg-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,036 kB
  • sloc: ansic: 12,761; yacc: 395; makefile: 111; sh: 4
file content (29 lines) | stat: -rw-r--r-- 751 bytes parent folder | download | duplicates (5)
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
28
29


void addsym(strtype name, symblst arg, symblst expr, int class);
void assignsym(symblst s, symblst t);
void push(symblst lst, symblst sym);
symblst push_value(symblst list);
symblst pop_value(symblst topoldsym);
void assignnames(symblst list, symblst name_list);
void add_dollar_names(symblst list);

symblst srchsym(symblst lst, strtype name, symblst arg);

symbrec* creatsym(strtype a);

void error_prototype(string name, symblst arg);

void assigntype(objtype t, symblst list);

void error_not_foundsym(symblst s);


#define  coerc_tab(t1,t2)   \
    (t1 == INTEGER && t2 == BIGINT ? (fobject)int2bin : \
     t1 == BIGINT  && t2 == INTEGER ? (fobject)bin2int : \
     (fobject) NULL)

#define  eq_types(t1,t2) ((t1 == t2) || coerc_tab(t1,t2))