From 0d61c96b6916c025af7ad8846821151db7f2bdef Mon Sep 17 00:00:00 2001 From: felipebart Date: Tue, 18 Dec 2007 06:07:09 +0000 Subject: [PATCH] =?utf8?q?Tabela=20de=20simbolos...=20Constru=C3=A7=C3=A3o?= =?utf8?q?=20das=20fun=C3=A7=C3=B5es.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit git-svn-id: https://toypasc.googlecode.com/svn/trunk@6 cbd757d2-8441-0410-81db-47b75ec2d254 --- symbol_table.c | 43 +++++++++++++++++++++++++++++++++++-------- 1 file changed, 35 insertions(+), 8 deletions(-) diff --git a/symbol_table.c b/symbol_table.c index c697495..7cec44d 100755 --- a/symbol_table.c +++ b/symbol_table.c @@ -4,21 +4,37 @@ void symbol_table_destroy(Symbol * table) { - Symbol * temp; - - while(table->next != NULL){ + Symbol * prev, next; + prev = table; + next = table->next; - table + while(temp->next != NULL){ + + free(prev); + prev = next->next; + free(next); + next = prev->next; } } char * -symbol_table_dump(void) +symbol_table_dump(Symbol table) { + Symbol * temp; + temp = table; + + while(temp =! NULL){ + + printf("%s\n", temp->name); + printf("%d\n", temp->type); + temp = temp->next; + + } + free(temp); } @@ -35,10 +51,21 @@ symbol_insert(Symbol * table, char const * name, int type) } Symbol * -symbol_lookup(char const * name) +symbol_lookup(Symbol * table, char const * name) { - - + + Symbol * temp; + temp = table; + + while(temp =! NULL){ + + printf("%s\n", temp->name); + printf("%d\n", temp->type); + temp = temp->next; + + } + + free(temp); } -- 2.11.4.GIT