6 typedef gint (*nextcb) (gpointer, gpointer*);
14 typedef struct _rule rule_t;
20 symbol_t* symbol_new (gboolean, GQuark);
21 symbol_t* symbol_copy (symbol_t*);
22 guint symbol_hash (gconstpointer);
23 gboolean symbol_equal (gconstpointer, gconstpointer);
24 gint symbol_cmp (symbol_t*, symbol_t*);
27 rule_t* rule_copy (rule_t*);
28 gint rule_cmp (rule_t*, rule_t*);
29 gboolean rule_equal (gconstpointer, gconstpointer);
30 guint rule_hash (gconstpointer);
31 symbol_t* rule_pop (rule_t*);
32 void rule_append (rule_t*, symbol_t*);
33 void rule_delete (rule_t*);
35 grammar_t* grammar_new ();
36 rule_t* grammar_rule_new (grammar_t*, symbol_t*);
37 GList* grammar_get_rules (grammar_*, symbol_t*);
38 GList* grammar_get_rule (rule_t*);
39 void grammar_delete (grammar_t*);