X-Git-Url: http://git.cascardo.info/?p=cascardo%2Fgrammar.git;a=blobdiff_plain;f=grammar.h;h=0b26b12a72b9ad9e7db9e1ad2bd9bb95a3870755;hp=81ec41d744dde87f97e5fd86669746fe23642161;hb=045ec14b737624b1290c3cc7f5601a71f9fc4a0d;hpb=d9258d06fc616367741428b0346f985fcb68ef75 diff --git a/grammar.h b/grammar.h index 81ec41d..0b26b12 100644 --- a/grammar.h +++ b/grammar.h @@ -39,9 +39,18 @@ typedef struct GType grammar_get_type (); symbol_t* symbol_new (gboolean, gint); +symbol_t* symbol_copy (symbol_t*); +guint symbol_hash (gconstpointer); +gboolean symbol_equal (gconstpointer, gconstpointer); + +rule_t* rule_new (); +rule_t* rule_copy (rule_t*); +symbol_t* rule_pop (rule_t*); +void rule_append (rule_t*, symbol_t*); +void rule_delete (rule_t*); + rule_t* grammar_rule_new (Grammar*, symbol_t*); -void grammar_rule_append (rule_t*, symbol_t*); GList* grammar_get_rules (Grammar*, symbol_t*); GList* grammar_get_rule (rule_t*);