+++ /dev/null
-<<\r
-/* parser.dlg -- DLG Description of scanner\r
- *\r
- * Generated from: dlg_p.g\r
- *\r
- * Terence Parr, Will Cohen, and Hank Dietz: 1989-2001\r
- * Purdue University Electrical Engineering\r
- * With AHPCRC, University of Minnesota\r
- * ANTLR Version 1.33MR33\r
- */\r
-\r
-#define ANTLR_VERSION 13333\r
-#include "pcctscfg.h"\r
-#include "pccts_stdio.h"\r
-\r
-#include <ctype.h>\r
-#include "dlg.h"\r
-#include "antlr.h"\r
-#include "tokens.h"\r
-#include "dlgdef.h"\r
-LOOKAHEAD\r
-\r
-void\r
-#ifdef __USE_PROTOS\r
-zzerraction(void)\r
-#else\r
-zzerraction()\r
-#endif\r
-{\r
- (*zzerr)("invalid token");\r
- zzadvance();\r
- zzskip();\r
-}\r
->>\r
-\r
-<<%%lexaction\r
-\r
-int func_action; /* should actions be turned into functions?*/\r
-int lex_mode_counter = 0; /* keeps track of the number of %%names */\r
-/* MR1 */\r
-/* MR1 11-Apr-97 Provide mechanism for inserting code into DLG class */\r
-/* MR1 via <<%%lexmember...>> */\r
-/* MR1 */\r
-int lexMember = 0; /* <<%%lexmemeber ...>> MR1 */\r
-int lexAction = 0; /* <<%%lexaction ...>> MR1 */\r
-int parserClass = 0; /* <<%%parserclass ...>> MR1 */\r
-int lexPrefix = 0; /* <<%%lexprefix ...>> MR1 */\r
-char theClassName[100]; /* MR11 */\r
-char *pClassName=theClassName; /* MR11 */\r
-int firstLexMember=1; /* MR1 */\r
-\r
-#ifdef __USE_PROTOS\r
-void xxputc(int c) { /* MR1 */\r
-#else\r
- void xxputc(c) /* MR1 */\r
- int c; /* MR1 */\r
- { /* MR1 */\r
-#endif\r
- if (parserClass) { /* MR1 */\r
- *pClassName++=c; /* MR1 */\r
- *pClassName=0; /* MR1 */\r
- } else if (lexMember || lexPrefix) { /* MR1 */\r
- if (class_stream != NULL) fputc(c,class_stream); /* MR1 */\r
- } else { /* MR1 */\r
- fputc(c,OUT); /* MR1 */\r
- }; /* MR1 */\r
- } /* MR1 */\r
- \r
-#ifdef __USE_PROTOS\r
- void xxprintf(char *format,char *string) { /* MR1 */\r
-#else\r
- void xxprintf(format,string) /* MR1 */\r
- char *format; /* MR1 */\r
- char *string; /* MR1 */\r
- { /* MR1 */\r
-#endif\r
- if (lexMember || lexPrefix || parserClass) { /* MR1 */\r
- if (class_stream != NULL) /* MR1 */\r
- fprintf(class_stream,format,string); /* MR1 */\r
- } else { /* MR1 */\r
- fprintf(OUT,format,string); /* MR1 */\r
- }; /* MR1 */\r
- } /* MR1 */\r
->>\r
-\r
-\r
-%%START\r
-\r
-@\r
- <<\r
- NLA = 1;\r
- >>\r
-\r
-[\r\t\ ]+\r
- <<\r
- NLA = 2;\r
- zzskip(); \r
- >>\r
-\r
-\n\r
- <<\r
- NLA = 3;\r
- zzline++; zzskip(); DAWDLE; \r
- >>\r
-\r
-\@\r
- <<\r
- NLA = L_EOF;\r
- >>\r
-\r
-\%\%\r
- <<\r
- NLA = PER_PER;\r
- >>\r
-\r
-\%\%[a-zA-Z_][a-zA-Z0-9_]*\r
- <<\r
- NLA = NAME_PER_PER;\r
- p_mode_def(&zzlextext[2],lex_mode_counter++); \r
- >>\r
-\r
-\<\<\%\%lexmember\r
- <<\r
- NLA = LEXMEMBER;\r
- lexMember=1; /* MR1 */\r
- if (firstLexMember != 0) { /* MR1 */\r
- firstLexMember=0; /* MR1 */\r
- p_class_def1(); /* MR1 */\r
- }; /* MR1 */\r
- zzmode(ACT); /* MR1 */\r
- >>\r
-\r
-\<\<\%\%lexaction\r
- <<\r
- NLA = LEXACTION;\r
- lexAction=1;zzmode(ACT); \r
- >>\r
-\r
-\<\<\%\%parserclass\r
- <<\r
- NLA = PARSERCLASS;\r
- parserClass=1; /* MR1 */\r
- zzmode(ACT); /* MR1 */\r
- >>\r
-\r
-\<\<\%\%lexprefix\r
- <<\r
- NLA = LEXPREFIX;\r
- lexPrefix=1;zzmode(ACT); \r
- >>\r
-\r
-\<\<\r
- <<\r
- NLA = ACTION;\r
- if (func_action)\r
- fprintf(OUT,"\n%s %sact%d()\n{ ",\r
- gen_cpp?"ANTLRTokenType":"static void",\r
- gen_cpp?ClassName("::"):"", ++action_no);\r
- zzmode(ACT); zzskip();\r
- >>\r
-\r
-\>\>\r
- <<\r
- NLA = GREAT_GREAT;\r
- >>\r
-\r
-\{\r
- <<\r
- NLA = L_BRACE;\r
- >>\r
-\r
-\}\r
- <<\r
- NLA = R_BRACE;\r
- >>\r
-\r
-\(\r
- <<\r
- NLA = L_PAR;\r
- >>\r
-\r
-\)\r
- <<\r
- NLA = R_PAR;\r
- >>\r
-\r
-\[\r
- <<\r
- NLA = L_BRACK;\r
- >>\r
-\r
-\]\r
- <<\r
- NLA = R_BRACK;\r
- >>\r
-\r
-\*\r
- <<\r
- NLA = ZERO_MORE;\r
- >>\r
-\r
-\+\r
- <<\r
- NLA = ONE_MORE;\r
- >>\r
-\r
-\|\r
- <<\r
- NLA = OR;\r
- >>\r
-\r
-\-\r
- <<\r
- NLA = RANGE;\r
- >>\r
-\r
-\~\r
- <<\r
- NLA = NOT;\r
- >>\r
-\r
-\\0[0-7]*\r
- <<\r
- NLA = OCTAL_VALUE;\r
- {int t; sscanf(&zzlextext[1],"%o",&t); zzlextext[0] = t;} \r
- >>\r
-\r
-\\0[Xx][0-9a-fA-F]+\r
- <<\r
- NLA = HEX_VALUE;\r
- {int t; sscanf(&zzlextext[3],"%x",&t); zzlextext[0] = t;} \r
- >>\r
-\r
-\\[1-9][0-9]*\r
- <<\r
- NLA = DEC_VALUE;\r
- {int t; sscanf(&zzlextext[1],"%d",&t); zzlextext[0] = t;} \r
- >>\r
-\r
-\\t\r
- <<\r
- NLA = TAB;\r
- zzlextext[0] = '\t'; \r
- >>\r
-\r
-\\n\r
- <<\r
- NLA = NL;\r
- zzlextext[0] = '\n'; \r
- >>\r
-\r
-\\r\r
- <<\r
- NLA = CR;\r
- zzlextext[0] = '\r'; \r
- >>\r
-\r
-\\b\r
- <<\r
- NLA = BS;\r
- zzlextext[0] = '\b'; \r
- >>\r
-\r
-\\ \n\r
- <<\r
- NLA = CONTINUATION;\r
- zzline++; zzskip(); \r
- >>\r
-\r
-\\~[tnrb]\r
- <<\r
- NLA = LIT;\r
- zzlextext[0] = zzlextext[1]; \r
- >>\r
-\r
-~[\\]\r
- <<\r
- NLA = REGCHAR;\r
- >>\r
-\r
-\r
-%%ACT\r
-\r
-@\r
- <<\r
- NLA = 1;\r
- error("unterminated action", zzline); zzmode(START); \r
- >>\r
-\r
-\>\>\r
- <<\r
- NLA = ACTION;\r
- if (func_action) fprintf(OUT,"}\n\n");\r
- zzmode(START);\r
- /* MR1 */\r
- /* MR1 11-Apr-97 Provide mechanism for inserting code into DLG class */\r
- /* MR1 via <<%%lexmember ...>> */\r
- /* MR1 This is a consequence of not saving actions */\r
- /* MR1 */\r
- /* MR1 */ parserClass=0; \r
- /* MR1 */ lexPrefix=0;\r
- /* MR1 */ lexAction=0;\r
- /* MR1 */ lexMember=0;\r
- >>\r
-\r
-\>\r
- <<\r
- NLA = 34;\r
- xxputc(zzlextext[0]); zzskip(); \r
- >>\r
-\r
-\\\>\r
- <<\r
- NLA = 35;\r
- xxputc('>'); zzskip(); \r
- >>\r
-\r
-\\\r
- <<\r
- NLA = 36;\r
- xxputc('\\'); zzskip(); \r
- >>\r
-\r
-\n\r
- <<\r
- NLA = 37;\r
- xxputc(zzlextext[0]); ++zzline; zzskip(); \r
- >>\r
-\r
-/\*\r
- <<\r
- NLA = 38;\r
- zzmode(ACTION_COMMENTS); /* MR1 */\r
- xxprintf("%s", &(zzlextext[0])); zzskip(); /* MR1 */\r
- >>\r
-\r
-//\r
- <<\r
- NLA = 39;\r
- zzmode(ACTION_CPP_COMMENTS); /* MR1 */\r
- xxprintf("%s", &(zzlextext[0])); zzskip(); /* MR1 */\r
- >>\r
-\r
-~[]\r
- <<\r
- NLA = 40;\r
- xxputc(zzlextext[0]); zzskip(); \r
- >>\r
-\r
-\r
-%%ACTION_COMMENTS\r
-\r
-@\r
- <<\r
- NLA = 1;\r
- >>\r
-\r
-\*/\r
- <<\r
- NLA = 41;\r
- zzmode(ACT); /* MR1 */\r
- xxprintf("%s", &(zzlextext[0])); zzskip(); /* MR1 */\r
- >>\r
-\r
-[\n\r]\r
- <<\r
- NLA = 42;\r
- zzline++; xxputc(zzlextext[0]); zzskip(); \r
- >>\r
-\r
-~[]\r
- <<\r
- NLA = 43;\r
- xxputc(zzlextext[0]); zzskip(); \r
- >>\r
-\r
-\r
-%%ACTION_CPP_COMMENTS\r
-\r
-@\r
- <<\r
- NLA = 1;\r
- >>\r
-\r
-[\n\r]\r
- <<\r
- NLA = 44;\r
- zzmode(ACT); zzline++; /* MR1 */\r
- xxprintf("%s", &(zzlextext[0])); zzskip(); /* MR1 */\r
- >>\r
-\r
-~[]\r
- <<\r
- NLA = 45;\r
- xxputc(zzlextext[0]); zzskip(); \r
- >>\r
-\r
-%%\r