File: sym.h

package info (click to toggle)
lie 2.2.2%2Bdfsg-2
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd, stretch, wheezy
  • size: 1,000 kB
  • ctags: 1,801
  • sloc: ansic: 12,761; yacc: 395; makefile: 150; sh: 4
file content (29 lines) | stat: -rw-r--r-- 751 bytes parent folder | download | duplicates (3)
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))