/* * Parser: P a r s e r H e a d e r * * Generated from: parser.g * * Terence Parr, Russell Quong, Will Cohen, and Hank Dietz: 1989-2001 * Parr Research Corporation * with Purdue University Electrical Engineering * with AHPCRC, University of Minnesota * ANTLR Version 1.33MR33 */ #ifndef Parser_h #define Parser_h #ifndef ANTLR_VERSION #define ANTLR_VERSION 13333 #endif #include "AParser.h" #include "config.h" #include #include #include "lsys.h" #include "util.h" #define PURIFY(a,b) void parse_file (FILE *file, const string &path, lsys &l) t_err; void parse_file (const string &path, lsys &l) t_err; extern list include_dirs; class Parser : public ANTLRParser { public: static const ANTLRChar *tokenName(int tk); enum { SET_SIZE = 49 }; protected: static const ANTLRChar *_token_tbl[]; private: #line 97 "parser.g" public: string current_file; protected: void syn(_ANTLRTokenPtr tok, ANTLRChar *egroup, SetWordType *eset, ANTLRTokenType etok, int k); bool istok (_ANTLRTokenPtr tok, const char *s) { return strcmp (tok->getText(), s) == 0; }; file_pos here () { return file_pos (current_file, LT(1)->getLine (), -1); }; protected: static SetWordType err1[8]; static SetWordType WildCard_set[8]; static SetWordType WildCard_errset[8]; static SetWordType err4[8]; static SetWordType err5[8]; static SetWordType setwd1[49]; static SetWordType err6[8]; static SetWordType err7[8]; static SetWordType err8[8]; static SetWordType err9[8]; static SetWordType err10[8]; static SetWordType err11[8]; static SetWordType setwd2[49]; static SetWordType err12[8]; static SetWordType err13[8]; static SetWordType err14[8]; static SetWordType setwd3[49]; static SetWordType err15[8]; static SetWordType err16[8]; static SetWordType err17[8]; static SetWordType setwd4[49]; static SetWordType err18[8]; static SetWordType err19[8]; static SetWordType setwd5[49]; static SetWordType err20[8]; static SetWordType err21[8]; static SetWordType err22[8]; static SetWordType setwd6[49]; private: void zzdflthandlers( int _signal, int *_retsignal ); public: Parser(ANTLRTokenBuffer *input); void parse_file(lsys & l); void parse_lsys(lsys & l); void statement(lsys & l); void parse_rule(lsys & l); void parse_modvec(module_vec & v); void parse_module(module & m); void module_head(module & m); string module_name(void); string module_ref(void); void expr_any(module & v); void expr_modvec(module & v); void expr_numeric(module & v); void expr_0(module & v); void expr_1(module & v); void expr_2(module & v); void expr_3(module & v); void expr_4(module & v); void expr_5(module & v); void expr_atom(module & v); void expr_module(module & m); }; #endif /* Parser_h */