7 typedef struct binding *Binding;
13 typedef struct arity *Arity;
20 typedef struct patternAST *PatternAST;
28 struct strTableElement *kids;
29 struct strTableElement *nts;
31 typedef struct ruleAST *RuleAST;
47 typedef struct symbol *Symbol;
49 struct strTableElement {
54 typedef struct strTableElement *StrTableElement;
59 typedef struct strTable *StrTable;
61 extern StrTable newStrTable ARGS((void));
62 extern StrTableElement addString ARGS((StrTable, char *, int, int *));
64 extern void doSpec ARGS((List, List));
65 extern Arity newArity ARGS((int, List));
66 extern Binding newBinding ARGS((char *, int));
67 extern PatternAST newPatternAST ARGS((char *, List));
68 extern RuleAST newRuleAST ARGS((char *, PatternAST, int, IntList));
69 extern Symbol enter ARGS((char *, int *));
70 extern Symbol newSymbol ARGS((char *));
72 extern void makeDebug ARGS((void));
73 extern void makeSimple ARGS((void));
74 extern void makePlanks ARGS((void));
75 extern void makeOpLabel ARGS((void));
76 extern void makeChild ARGS((void));
77 extern void makeOperators ARGS((void));
78 extern void makeLabel ARGS((void));
79 extern void makeString ARGS((void));
80 extern void makeString ARGS((void));
81 extern void makeReduce ARGS((void));
82 extern void makeRuleTable ARGS((void));
83 extern void makeTables ARGS((void));
84 extern void makeTreecost ARGS((void));
85 extern void makePrint ARGS((void));
86 extern void makeRule ARGS((void));
87 extern void makeNts ARGS((void));
88 extern void makeKids ARGS((void));
89 extern void startBurm ARGS((void));
90 extern void startOptional ARGS((void));
91 extern void makePlankLabel ARGS((void));
92 extern void makeStateLabel ARGS((void));
93 extern void makeStringArray ARGS((void));
94 extern void makeNonterminalArray ARGS((void));
95 extern void makeCostArray ARGS((void));
96 extern void makeLHSmap ARGS((void));
97 extern void makeClosureArray ARGS((void));
98 extern void makeOperatorVector ARGS((void));
99 extern void endOptional ARGS((void));
100 extern void reportDiagnostics ARGS((void));
101 extern void makeNonterminals ARGS((void));
102 extern int opsOfArity ARGS((int));
104 extern void yypurge ARGS((void));
105 extern void yyfinished ARGS((void));
107 extern void printRepresentative ARGS((FILE *, Item_Set));
109 extern void dumpRules ARGS((List));
110 extern void dumpDecls ARGS((List));
111 extern void dumpRuleAST ARGS((RuleAST));
112 extern void dumpPatternAST ARGS((PatternAST));
113 extern void dumpArity ARGS((Arity));
114 extern void dumpBinding ARGS((Binding));
115 extern void dumpStrTable ARGS((StrTable));
117 extern int yylex ARGS((void));
118 extern int yyparse ARGS((void));
120 extern int max_ruleAST;
121 extern List ruleASTs;
123 extern FILE *outfile;
124 extern const char *prefix;
126 extern int speedflag;
127 extern int grammarflag;