From: Thadeu Lima de Souza Cascardo Date: Mon, 24 Oct 2005 00:03:50 +0000 (+0000) Subject: Pushing on lr1 stack is now public X-Git-Tag: cascardo@tlscascardo--private,libgrammatic--regular--0.1--base-0~7 X-Git-Url: http://git.cascardo.info/?p=cascardo%2Fgrammar.git;a=commitdiff_plain;h=a62337e4820285aa154540d9ac30ec424f291892 Pushing on lr1 stack is now public LR(1) parser should have an arbritary initial state. Then, pushing to its stack is now public. git-archimport-id: cascardo@tlscascardo--private/libgrammatic--nogobject-lr1--0.1--patch-5 --- diff --git a/lr1.c b/lr1.c index d7f2d98..c36c64d 100644 --- a/lr1.c +++ b/lr1.c @@ -67,7 +67,7 @@ void transition_delete (transition_t* transition) g_free (transition); } -static void lr1_push (lr1_t* parser, gint st, gpointer attrib) +void lr1_push (lr1_t* parser, gint st, gpointer attrib) { state_t* state; state = g_malloc (sizeof (state_t)); @@ -103,7 +103,6 @@ lr1_t* lr1_new (nextcb cb, gpointer data) parser->data = data; parser->stack = NULL; - lr1_push (parser, 0, NULL); parser->table = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, g_hash_table_destroy); diff --git a/lr1.h b/lr1.h index 89de8ce..de4faa8 100644 --- a/lr1.h +++ b/lr1.h @@ -13,6 +13,7 @@ void transition_delete (transition_t*); lr1_t* lr1_new (nextcb, gpointer); void lr1_delete (lr1_t*); void lr1_add (lr1_t*, gint, symbol_t*, transition_t*); +void lr1_push (lr1_t*, gint, gpointer); gpointer lr1_build (lr1_t*); #endif