projects
/
cascardo
/
grammar.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added debug code to item generation
[cascardo/grammar.git]
/
grammar.h
diff --git
a/grammar.h
b/grammar.h
index
0b26b12
..
f945330
100644
(file)
--- a/
grammar.h
+++ b/
grammar.h
@@
-22,7
+22,7
@@
typedef gint (*nextcb) (gpointer, gpointer*);
typedef struct
{
gboolean terminal;
typedef struct
{
gboolean terminal;
-
gint
value;
+
GQuark
value;
} symbol_t;
typedef struct _rule rule_t;
} symbol_t;
typedef struct _rule rule_t;
@@
-38,13
+38,17
@@
typedef struct
GType grammar_get_type ();
GType grammar_get_type ();
-symbol_t* symbol_new (gboolean,
gint
);
+symbol_t* symbol_new (gboolean,
GQuark
);
symbol_t* symbol_copy (symbol_t*);
guint symbol_hash (gconstpointer);
gboolean symbol_equal (gconstpointer, gconstpointer);
symbol_t* symbol_copy (symbol_t*);
guint symbol_hash (gconstpointer);
gboolean symbol_equal (gconstpointer, gconstpointer);
+gint symbol_cmp (symbol_t*, symbol_t*);
rule_t* rule_new ();
rule_t* rule_copy (rule_t*);
rule_t* rule_new ();
rule_t* rule_copy (rule_t*);
+gint rule_cmp (rule_t*, rule_t*);
+gboolean rule_equal (gconstpointer, gconstpointer);
+guint rule_hash (gconstpointer);
symbol_t* rule_pop (rule_t*);
void rule_append (rule_t*, symbol_t*);
void rule_delete (rule_t*);
symbol_t* rule_pop (rule_t*);
void rule_append (rule_t*, symbol_t*);
void rule_delete (rule_t*);