5 #include <glib-object.h>
7 #define GRAMMAR_TYPE (grammar_get_type ())
8 #define GRAMMAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
9 GRAMMAR_TYPE, Grammar))
10 #define GRAMMAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), \
11 GRAMMAR_TYPE, GrammarClass))
12 #define IS_GRAMMAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
14 #define IS_GRAMMAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), \
16 #define GRAMMAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), \
17 GRAMMAR_TYPE, GrammarClass))
20 typedef gint (*nextcb) (gpointer, gpointer*);
28 typedef struct _rule rule_t;
39 GType grammar_get_type ();
41 symbol_t* symbol_new (gboolean, gint);
43 rule_t* grammar_rule_new (Grammar*, symbol_t*);
44 void grammar_rule_append (rule_t*, symbol_t*);
45 GList* grammar_get_rules (Grammar*, symbol_t*);
46 GList* grammar_get_rule (rule_t*);