diff options
author | Teddy <[email protected]> | 2014-03-26 19:50:34 +0800 |
---|---|---|
committer | Teddy <[email protected]> | 2014-03-26 19:50:34 +0800 |
commit | dc4cacf854d28a0df88e37e2f0c0abce421657a9 (patch) | |
tree | 7e1a79d002576f2c91cfb680095749840fa5d33c | |
parent | eb001bab8f7a342afde93bd8c2c300a9e837db79 (diff) |
problem caused by `void *`
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | semantics.c | 10 | ||||
-rw-r--r-- | test.c | 3 |
3 files changed, 10 insertions, 7 deletions
@@ -27,6 +27,6 @@ clean: sem: semantics.o test.o gcc -o sem semantics.o test.o semantics.o: semantics.c - gcc -c semantics.c -Wall -Wextra + gcc -c semantics.c -Wall -Wextra -g test.o: test.c - gcc -c test.c -Wall -Wextra + gcc -c test.c -Wall -Wextra -g diff --git a/semantics.c b/semantics.c index 0913e65..cb12c29 100644 --- a/semantics.c +++ b/semantics.c @@ -108,23 +108,23 @@ void cscope_exit(CScope_t cs) { void ctable_debug_print(CTable_t ct) { int i; - fprintf(stderr, "\n*** CTable ***\n"); + fprintf(stderr, "*** CTable ***\n"); for (i = 0; i < MAX_TABLE_SIZE; i++) if (ct->head[i]) { CTNode *p; fprintf(stderr, "[%04d]", i); for (p = ct->head[i]; p; p = p->next) - fprintf(stderr, "->[%s:%d]", ct->pfunc(p), p->lvl); + fprintf(stderr, "->[%s:%d]", ct->pfunc(p->val), p->lvl); fprintf(stderr, "\n"); } - fprintf(stderr, "*** CTable ***\n\n"); + fprintf(stderr, "*** CTable ***\n"); } void cscope_debug_print(CScope_t cs) { int lvl = cs->lvl; CSNode *p; - fprintf(stderr, "****** CScope ******\n"); + fprintf(stderr, "\n****** CScope ******\n"); for (p = cs->top; p; p = p->next) { CVar *vp; @@ -142,7 +142,7 @@ void cscope_debug_print(CScope_t cs) { ctable_debug_print(cs->tvar); fprintf(stderr, "Type Table:\n"); ctable_debug_print(cs->ttype); - fprintf(stderr, "****** CScope ******\n"); + fprintf(stderr, "****** CScope ******\n\n"); } CVar *cscope_lookup_var(CScope_t cs, const char *name) { @@ -1,6 +1,7 @@ #include <stdlib.h> #include "semantics.h" #define PV(str) cscope_push_var(scope, newvar(str)) +#define PT(str) cscope_push_type(scope, newtype(str)) CVar_t newvar(const char *name) { return cvar_create(name, NULL); @@ -21,11 +22,13 @@ int main() { cscope_enter(scope); PV("a"); PV("hello"); + PT("CType"); cscope_debug_print(scope); cscope_enter(scope); PV("a"); PV("yay"); PV("world"); + PT("CType"); cscope_debug_print(scope); cscope_exit(scope); cscope_debug_print(scope); |