comparison lwbasic/symtab.h @ 32:49d608aecc4d

Framework for handling local stack frame and/or variables
author lost@l-w.ca
date Thu, 03 Feb 2011 22:00:47 -0700
parents bc96cd02fbf4
children
comparison
equal deleted inserted replaced
31:574931d87abd 32:49d608aecc4d
40 struct symtab_entry_s 40 struct symtab_entry_s
41 { 41 {
42 char *name; /* name of the symbol */ 42 char *name; /* name of the symbol */
43 int addr; /* address of symbol */ 43 int addr; /* address of symbol */
44 int symtype; /* type of symbol */ 44 int symtype; /* type of symbol */
45 45 void *privdata; /* random data associated with symbol */
46 symtab_entry_t *next; /* next in the list */ 46 symtab_entry_t *next; /* next in the list */
47 }; 47 };
48 48
49 typedef struct symtab_s 49 typedef struct symtab_s
50 { 50 {
52 } symtab_t; 52 } symtab_t;
53 53
54 __E symtab_t *symtab_init(void); 54 __E symtab_t *symtab_init(void);
55 __E void symtab_destroy(symtab_t *st); 55 __E void symtab_destroy(symtab_t *st);
56 __E symtab_entry_t *symtab_find(symtab_t *st, char *name); 56 __E symtab_entry_t *symtab_find(symtab_t *st, char *name);
57 __E void symtab_register(symtab_t *st, char *name, int addr, int symtype); 57 __E void symtab_register(symtab_t *st, char *name, int addr, int symtype, void *data);
58 58
59 #undef __E 59 #undef __E
60 60
61 #endif /* __symtab_h_seen__ */ 61 #endif /* __symtab_h_seen__ */