Update the changelog
[opencv] / apps / cvenv / EiC / 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
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16
17 extern symentry_t *EiC_HTAB[];
18
19 int EiC_iskeyword(keyword_t *keywords,char*id,int n);
20 void EiC_eicpush(eicstack_t *s, val_t v);
21 int EiC_eicpop(eicstack_t *s, val_t *pop);
22 int init_hashtab(int size);
23 int hashsmc(char * s,int mod);
24 symentry_t * EiC_lookup(char nspace,char *id);
25 symentry_t * EiC_lookup_by_callback(char nspace, void* callback);
26 void free_sym(symentry_t *sym);
27 void EiC_remlevel(int level);
28 void EiC_lut_CleanUp(size_t bot);
29 void EiC_addoffsettolevel(char nspace,int level,int off);
30 void EiC_marktype(type_expr *type, char mark);
31 void EiC_marksyms(char mark);
32 void EiC_remsym(symentry_t *sym);
33 symentry_t * EiC_insertLUT(char nspace,char *id,int type);
34 char * EiC_strsave(char *s);
35 void EiC_newsymtype(symentry_t *sym, type_expr *t);
36 void newsymARval(token_t *e1, val_t *v);
37 int nextstackitem(int level);
38 int EiC_stackit(symentry_t * sym,int level);
39 void EiC_inittoken(token_t * e1);
40 void EiC_freetoken(token_t * e1);
41
42 void initcode(code_t * code);
43 void EiC_killcode(symentry_t *sym);
44 void EiC_freecode(code_t * code);
45 void EiC_generate(code_t * code, int opcode,val_t *val,int ext);
46 void copycode(code_t * c1, code_t * c2);
47 void EiC_concode(code_t * c1, code_t * c2);
48 void EiC_contoken(token_t * e1, token_t * e2);
49 void EiC_swaptokens(token_t *e1, token_t * e2);
50
51 #define setCodeLineNo(C,idx,No); ((C)->inst[idx].line = No)
52
53 size_t EiC_lut_NextEntryNum(void);
54
55 #ifdef __cplusplus
56 }
57 #endif
58