2005-01-17 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mono / monoburg / monoburg.h
index d1e54c0471bc3302f7f0aa9c61a9a0e536cfb74b..6700fda01995801ae290858c7ff4bbbda6e36fd4 100644 (file)
@@ -7,6 +7,8 @@ void yyerror (char *fmt, ...);
 int  yylex   (void);
 
 extern FILE *inputfd;
+extern FILE *outputfd;
+extern GHashTable *definedvars;
 
 typedef struct _Rule Rule;
 
@@ -25,6 +27,7 @@ struct _NonTerm {
        int number;
        GList *rules; /* rules with this nonterm on the left side */
        GList *chain;
+       gboolean reached;
 };
 
 typedef struct _Tree Tree;
@@ -41,19 +44,29 @@ struct _Rule {
        Tree *tree;
        char *code;
        char *cost;
+       char *cfunc;
 };
 
 
 Tree    *create_tree    (char *id, Tree *left, Tree *right);
 
-void     create_term    (char *id, int num);
+Term    *create_term    (char *id, int num);
+
+void     create_term_prefix (char *id);
 
 NonTerm *nonterm        (char *id);
 
 void     start_nonterm  (char *id);
 
-void     create_rule    (char *id, Tree *tree, char *code, char *cost);
+Rule    *make_rule      (char *id, Tree *tree);
+
+void     rule_add       (Rule *rule, char *code, char *cost, char *cfunc);
+
+void     create_rule    (char *id, Tree *tree, char *code, char *cost, 
+                        char *cfunc);
 
 void     yyparsetail    (void);
 
+void     reset_parser (void);
+
 #endif