projects
/
cascardo
/
grammar.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added some debugging
[cascardo/grammar.git]
/
lr1_gen.c
diff --git
a/lr1_gen.c
b/lr1_gen.c
index
3ff7cbf
..
ff9658b
100644
(file)
--- a/
lr1_gen.c
+++ b/
lr1_gen.c
@@
-42,20
+42,23
@@
void lr1_gen_add (gpointer key, gpointer val, gpointer data)
if (item->dot == NULL)
{
#ifdef DEBUG
if (item->dot == NULL)
{
#ifdef DEBUG
- printf ("ACCEPT: %
x
\n", key);
+ printf ("ACCEPT: %
p
\n", key);
#endif
transition = transition_accept_new ();
lr1_add (data, key, symbol_new (TRUE, 0), transition);
}
else
{
#endif
transition = transition_accept_new ();
lr1_add (data, key, symbol_new (TRUE, 0), transition);
}
else
{
+#ifdef DEBUG
+ printf ("START: %p\n", key);
+#endif
lr1_push (data, key, NULL);
}
}
else if (item->dot == NULL)
{
#ifdef DEBUG
lr1_push (data, key, NULL);
}
}
else if (item->dot == NULL)
{
#ifdef DEBUG
- printf ("REDUCE: %
x
, %s\n", key,
+ printf ("REDUCE: %
p
, %s\n", key,
g_quark_to_string (item->lookahead->value));
#endif
transition = transition_reduce_new (item->left, item->right);
g_quark_to_string (item->lookahead->value));
#endif
transition = transition_reduce_new (item->left, item->right);
@@
-80,7
+83,7
@@
void lr1_gen_add (gpointer key, gpointer val, gpointer data)
l = g_list_next (l);
#ifdef DEBUG
l = g_list_next (l);
#ifdef DEBUG
- printf ("SHIFT: %
x, %s, %x
\n", key,
+ printf ("SHIFT: %
p, %s, %p
\n", key,
g_quark_to_string (symbol->value), l->data);
#endif
transition = transition_shift_new (l->data);
g_quark_to_string (symbol->value), l->data);
#endif
transition = transition_shift_new (l->data);
@@
-104,6
+107,9
@@
lr1_t* lr1_gen (grammar_t* grammar, symbol_t* start, nextcb cb, gpointer data)
lr1 = lr1_new (cb, data);
first = grammar_first (grammar);
lr1 = lr1_new (cb, data);
first = grammar_first (grammar);
+#ifdef DEBUG
+ first_print (first);
+#endif
collection = item_set_collection (grammar, first, start);
collection = item_set_collection (grammar, first, start);