X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=codea%2Fsymtable.h;h=9892899a871ed7b692bd158535ec96911ee80a74;hb=7f1d29c581324003e8c378069b94eafef62fbab0;hp=df7fa5a6561ed95135d5dc76f0fc0e3059f1dfc9;hpb=536ec62d45af2b1893a2ccd617eb4b7604adf5c9;p=uebersetzerbau-ss10.git diff --git a/codea/symtable.h b/codea/symtable.h old mode 100755 new mode 100644 index df7fa5a..9892899 --- a/codea/symtable.h +++ b/codea/symtable.h @@ -1,8 +1,9 @@ #ifndef SYMTABLE_H #define SYMTABLE_H -#define S_FIELD 0 -#define S_VAR 1 +#define S_FIELD (1<<0) +#define S_VAR (1<<1) +#define S_PARM (1<<2) #define SYMNULL (struct symbol *)NULL @@ -10,11 +11,13 @@ struct symbol { char *ident; struct symbol *next; short type; + int param_index; + int soffset; }; struct symbol *tab_clone(struct symbol *tab); struct symbol *tab_new(void); -struct symbol *tab_add_symbol(struct symbol *tab, char *ident, short type, short check); +struct symbol *tab_add_symbol(struct symbol *tab, char *ident, short type, short check, int param_index, int soffset); struct symbol *tab_lookup(struct symbol *tab, char *ident, short type); struct symbol *tab_remove_symbol(struct symbol *tab, char *ident, short type); struct symbol *tab_merge(struct symbol *tab, struct symbol *to_add, short check);