From a62337e4820285aa154540d9ac30ec424f291892 Mon Sep 17 00:00:00 2001 From: Thadeu Lima de Souza Cascardo Date: Mon, 24 Oct 2005 00:03:50 +0000 Subject: [PATCH] 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 --- lr1.c | 3 +-- lr1.h | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) 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 -- 2.20.1