Move the sources to trunk
[opencv] / apps / Hawk / CVEiCL / EiC / src / symbol.h
1 /* symbol.h
2  *
3  *      (C) Copyright May  7 1995, Edmond J. Breen.
4  *                 ALL RIGHTS RESERVED.
5  * This code may be copied for personal, non-profit use only.
6  *
7  */
8
9 #ifndef HSIZE
10 #define HSIZE 101
11 #endif
12 extern symentry_t *EiC_HTAB[];
13
14 int EiC_iskeyword(keyword_t *keywords,char*id,int n);
15 void EiC_eicpush(eicstack_t *s, val_t v);
16 int EiC_eicpop(eicstack_t *s, val_t *pop);
17 int init_hashtab(int size);
18 int hashsmc(char * s,int mod);
19 symentry_t * EiC_lookup(char nspace,char *id);
20 void free_sym(symentry_t *sym);
21 void EiC_remlevel(int level);
22 void EiC_lut_CleanUp(size_t bot);
23 void EiC_addoffsettolevel(char nspace,int level,int off);
24 void EiC_marktype(type_expr *type, char mark);
25 void EiC_marksyms(char mark);
26 void EiC_remsym(symentry_t *sym);
27 symentry_t * EiC_insertLUT(char nspace,char *id,int type);
28 char * EiC_strsave(char *s);
29 void EiC_newsymtype(symentry_t *sym, type_expr *t);
30 void newsymARval(token_t *e1, val_t *v);
31 int nextstackitem(int level);
32 int EiC_stackit(symentry_t * sym,int level);
33 void EiC_inittoken(token_t * e1);
34 void EiC_freetoken(token_t * e1);
35
36 void initcode(code_t * code);
37 void EiC_killcode(symentry_t *sym);
38 void EiC_freecode(code_t * code);
39 void EiC_generate(code_t * code, int opcode,val_t *val,int ext);
40 void copycode(code_t * c1, code_t * c2);
41 void EiC_concode(code_t * c1, code_t * c2);
42 void EiC_contoken(token_t * e1, token_t * e2);
43 void EiC_swaptokens(token_t *e1, token_t * e2);
44
45 #define setCodeLineNo(C,idx,No); ((C)->inst[idx].line = No)
46
47 size_t EiC_lut_NextEntryNum(void);
48
49
50
51
52
53