/* A lexical scanner generated by flex */ /* Scanner skeleton version: * $Header: /db0/home/nsl/www.export/protected/NS/cvsroot/pp/src/jbf/yylex.template,v 1.2 1997/03/28 02:06:50 aalx Exp $ */ /* * Copyright (c) 1996 Dennis Heimbigner. email dennis@cs.colorado.edu */ /**************************************************/ /**************************************************/ /**************************************************/ // PREFIX /* SCCS @(#)alpha.lex 1.8 -- 08/02/99 --14:02:42 * $Log: 98/9/28 sn added \r to the NONNEWLINE_WHITE_SPACE_CHAR list 98/10/2 aa added "else" catches so that SPECIAL and NSLJ was not getting thrown in were not wanted. 98/10/3 aa added "new" catch to ARRAY so that "ARRAY" was not getting thrown in where not wanted. */ package lx.src; import java.lang.System; import java.io.*; import java.util.*; import lx.src.util.*; import pp.src.jbf.*; class Utility { public static void assert ( boolean expr ) { if (false == expr) { throw (new Error("Error: Assertion failed.")); } } private static final String errorMsg[] = { "Error: Unmatched end-of-comment punctuation.", "Error: Unmatched start-of-comment punctuation.", "Error: Unclosed string.", "Error: Illegal character." }; public static final int E_ENDCOMMENT = 0; public static final int E_STARTCOMMENT = 1; public static final int E_UNCLOSEDSTR = 2; public static final int E_UNMATCHED = 3; public static void error ( int code ) { System.out.println(errorMsg[code]); } } //{COMMENT_TEXT} { } /**************************************************/ public class YYlex { // Set up the fake goto mechanism protected int Goto; protected static final int yynobranch = 0; protected static final int yy_find_action = 1; protected static final int yy_match = 2; protected static final int do_action = 3; // CONSTANTS public static final int YY_FLEX_MAJOR_VERSION = 2; public static final int YY_FLEX_MINOR_VERSION = 5; public static final int YY_NULL = 0; public static final int YY_MORE_ADJ = 0; public static final int YY_END_OF_BUFFER_CHAR = 0; public static final int YY_BUF_SIZE = 16384; public static final int YY_READ_BUF_SIZE = 8192; public static final int EOB_ACT_CONTINUE_SCAN = 0; public static final int EOB_ACT_END_OF_FILE = 1; public static final int EOB_ACT_LAST_MATCH = 2; public static final int YY_START_STACK_INCR = 25; public static final int YY_BUFFER_NEW = 0; public static final int YY_BUFFER_NORMAL = 1; public static final int YY_BUFFER_EOF_PENDING = 2; public static final int YY_NUM_RULES = 30; public static final int YY_END_OF_BUFFER = 31; public static final int YY_SPECIAL = 1830; // STATES public static final int INITIAL = 0; public static final int COMMENT = 1; public static final int VERB_ON = 2; public static final int VERB_SCAN = 3; public static final int VERB_IGN = 4; // MISC. protected static final int EOF = -1; // Class State Int_Stack yy_start_stack; java.io.InputStream yyin; java.io.PrintStream yyout; int yy_start; /* start state number */ int yy_last_accepting_state; int yy_last_accepting_cpos; YYtoken yylval; YYtoken yylvalundef; protected StringBuffer lexeme; YYlexbuffer yytext; public int yydebug; boolean yy_at_bol; boolean is_interactive; int yy_current_state; int yy_act; // PROCS public YYlex(java.io.InputStream fin) {this(fin,System.out);} public YYlex() {this(System.in,System.out);} public YYlex(java.io.InputStream fin, java.io.PrintStream fout) { yyin = fin; yyout = fout; yy_start_stack = new Int_Stack(); yy_start = 1; /* start state number */ yy_last_accepting_state = 0; yy_last_accepting_cpos = 0; yy_current_state = 0; yy_act = 0; yy_at_bol = true; //pretend is_interactive= false; yylval = null; yylvalundef = new YYtoken(0); yydebug = 0; yytext = new YYlexbuffer(yyin,yyout); lexeme = new StringBuffer(); } public YYtoken yylex() throws LexException, IOException, EmptyStackException { yytext.purge(); scanloop: while( true ) { /* loops until end-of-file is reached */ yytext.mark(); int thisch = yytext.nextchar(); if(thisch == EOF) thisch = YY_END_OF_BUFFER_CHAR; branch: switch (Goto) { case yynobranch: yy_current_state = yy_start; yy_current_state += YY_AT_BOL(); //<< //yy_match: do { ///**/yyout.println("(1)yy_current_state=" + yy_current_state); int yy_c; // yy_c = yy_ec[YY_SC_TO_UI(thisch)]; yy_c = yy_ec[thisch]; ///**/yyout.println("(1)yy_c=" + yy_c); ///**/yyout.println("(1)yy_accept[yy_current_state]=" + yy_accept[yy_current_state]); if ( yy_accept[yy_current_state] != 0) { yy_last_accepting_cpos = yytext.currentpos(); yy_last_accepting_state = yy_current_state; ///**/yyout.println("(1)yy_last_accepting_state=" + yy_last_accepting_state); ///**/yyout.println("(1)yy_last_accepting_cpos=" + yy_last_accepting_cpos); } while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state) { ///**/yyout.println("(2)yy_chk[yy_base[yy_current_state]+yy_c]="+yy_chk[yy_base[yy_current_state] + yy_c]); yy_current_state = (int) yy_def[yy_current_state]; ///**/yyout.println("(2)yy_current_state=" + yy_current_state); if ( yy_current_state >= yy_accept.length ) { yy_c = yy_meta[yy_c]; ///**/yyout.println("(2)yy_c=" + yy_c); } } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ///**/yyout.println("(3)yy_current_state=" + yy_current_state); ///**/yyout.println("yy_at_bol=" + yy_at_bol); yy_at_bol = (thisch == '\n'); thisch = yytext.nextchar(); if(thisch == EOF) thisch = YY_END_OF_BUFFER_CHAR; } while ( yy_base[yy_current_state] != YY_SPECIAL ); case yy_find_action: yy_act = yy_accept[yy_current_state]; ///**/yyout.println("(4)yy_act=" + yy_act); if ( yy_act == 0 ) { /* have to back up to last accepting state*/ do { yytext.backup(); } while(yytext.currentpos() >= yy_last_accepting_cpos); thisch = yytext.nextchar(); ///**/yyout.print("backup:"+" yyline="+yyline()+" ; yychar="+yychar0()+" ; yylinechar="+yychar()+" ; yytext=/"+yytext.contents()+"/"); yy_current_state = yy_last_accepting_state; yy_act = yy_accept[yy_current_state]; ///**/yyout.println("(5)yy_current_state=" + yy_current_state); ///**/yyout.println("(5)yy_act=" + yy_act); } // YY_DO_BEFORE_ACTION; case do_action: /* This label is used only to access EOF actions. */ yy_at_bol = (yytext.yychar0() == 0); yylval = yylvalundef; yytext.backup(); ///**/yyout.println("(6)yy_act=" + yy_act); ///**/yyout.println("(6)yytext=/" + yytext.contents() + "/"); ///**/yyout.println("(6)yy_at_bol=" + yy_at_bol); ///**/yyout.println("yytext.lexeme=/" + yytext.lexeme() + "/"); switch ( yy_act ) { /* beginning of action switch */ case 0: /* must back up */ /* have to back up to last accepting state*/ do { yytext.backup(); } while(yytext.currentpos() > yy_last_accepting_cpos); thisch = yytext.nextchar(); ///**/yyout.print("backup:"+" yyline="+yyline()+" ; yychar="+yychar0()+" ; yylinechar="+yychar()+" ; yytext=/"+yytext.contents()+"/"); yy_current_state = yy_last_accepting_state; {Goto = yy_find_action; break branch;} // ACTIONS case 1: {echo();} break; case 2: {echo(); //yyreturn(new YYtoken(YYtokentypes.ANY,yytext)); } break; case 3: { echo(); yybegin(COMMENT); comment_count = comment_count + 1; } break; case 4: {echo(); comment_count = comment_count + 1; } break; case 5: {echo(); comment_count = comment_count - 1; Utility.assert(comment_count >= 0); if (comment_count == 0) { yybegin(INITIAL); } } break; case 6: { echo(); } break; case 7: { echo(); } break; case 8: { echo(); //yyreturn(new YYtoken(YYtokentypes.ANY,yytext)); // Utility.assert(str.length() == lexeme().length() - 2); } break; case 9: { echo(); //yyreturn(new YYtoken(YYtokentypes.ANY,yytext)); // Utility.error(Utility.E_UNCLOSEDSTR); //Utility.assert(str.length() == lexeme().length() - 1); } break; case 10: { echo(); } break; case 11: { echo(); yybegin(VERB_ON); } break; case 12: { echo(); yybegin(VERB_ON); } break; case 13: { echo(" "); yybegin(INITIAL); } break; case 14: { echo("special "); //yyreturn(new YYtoken(YYtokentypes.ANY,yytext)); } break; case 15: { echo("special "); //yyreturn(new YYtoken(YYtokentypes.ANY,yytext)); } break; case 16: {echo(); } break; case 17: { echo("special "); //yyreturn(new YYtoken(YYtokentypes.ANY,yytext)); } break; case 18: { echo(); //yyreturn(new YYtoken(YYtokentypes.ANY,yytext)); } break; case 19: { r_echo("nslConst","static final SPECIAL"); } break; case 20: { r_echo("nslConst","static final SPECIAL"); } break; case 21: { r_echo("nslConst","static final"); } break; case 22: { echo("ARRAY "); //yyreturn(new YYtoken(YYtokentypes.ANY,yytext)); } break; case 23: { echo(); } break; case 24: { echo("NSLJ "); } break; case 25: { r_echo("/*===*/"); System.err.println("***** ISTE\n"+yytext.lexeme()+ "\n**************\n"); } break; case 26: {echo(); } break; case 27: { echo("SPECIAL "); } break; case 28: { echo("SPECIAL "); //yyreturn(new YYtoken(YYtokentypes.ANY,yytext)); } break; case 29: { echo(); //yyreturn(new YYtoken(YYtokentypes.ANY,yytext)); } break; case 30: break; case YY_END_OF_BUFFER + 1 + INITIAL : case YY_END_OF_BUFFER + 1 + COMMENT : case YY_END_OF_BUFFER + 1 + VERB_ON : case YY_END_OF_BUFFER + 1 + VERB_SCAN : case YY_END_OF_BUFFER + 1 + VERB_IGN : yylval = null; break; case YY_END_OF_BUFFER: yy_act = YY_STATE_EOF(YY_START()); {Goto = do_action; break branch;} default: yyfatalerror( "fatal flex scanner internal error--no action found" ); break; } /* end of action switch */ if(yylval != yylvalundef) { if(yydebug >= 1) yyreport(yylval); return yylval; } else { if(yydebug >= 10) yyout.println("yylex: no token produced"); } } //branch } /* end of scanning one token */ } /* end of yylex */ public void yy_push_state( int new_state ) { yy_start_stack.push(YY_START()); BEGIN(new_state); } public void yy_pop_state() { BEGIN(yy_start_stack.pop()); } protected int yy_top_state() { return yy_start_stack.top(); } protected void yyfatalerror( String msg) throws LexException { throw new LexException("yylex: fatalerror: " + msg); } public void yylexerror(String s) throws LexException { yyout.println("yylexerror: " + "char/line+char " + yytext.yychar0() + "/" + yytext.yyline() + "+" + yytext.yychar0() + " ; " + s); throw new LexException(s); } public YYtoken yyreport(YYtoken yylval) { if(yylval != null) { yyout.println("yylex: " + " char/line+char " + yylval.charno0() + "/" + yylval.lineno() + "+" + yylval.charno() + " /" + YYtokentypes.tokenname(yylval.tokentype) + "/(" + yylval.tokentype + ") ; text=#" + yylval.text + "#"); } else { yyout.println("yylex: " + " char/line+char " + yytext.yychar0() + "/" + yytext.yyline() + "+" + yytext.yychar0() + " /EOF/"); } return yylval; } protected void BEGIN(int n) {yy_start = 1+2*n;} public void yybegin(int n) {BEGIN(n);} public int YY_START() {return (yy_start-1)/2;} protected int YY_AT_BOL() {return (yy_at_bol)?1:0;} protected int YY_STATE_EOF(int st) {return YY_END_OF_BUFFER + st + 1;} /* Promotes a possibly negative, possibly signed char to an unsigned * integer for use as an array index. If the signed char is negative, * we want to instead treat it as an 8-bit unsigned char, hence the * double cast. */ protected int YY_SC_TO_UI(byte c) {return (int)((byte)c);} public void yy_set_interactive(boolean is_interactive) { this.is_interactive= is_interactive; } protected void yy_set_bol(boolean at_bol) { yy_at_bol = at_bol; } // TABLES public static final short yy_accept[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 29, 1, 1, 9, 29, 29, 29, 29, 29, 29, 29, 6, 2, 6, 6, 10, 10, 29, 30, 1, 9, 8, 9, 0, 0, 0, 0, 3, 7, 0, 0, 0, 0, 0, 0, 0, 5, 4, 0, 9, 0, 8, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 22, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 26, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 16, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 13, 0, 23, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 23, 0, 0, 0, 25, 0, 0, 0, 12, 0, 11, 0, 0, 0, 0, 23, 0, 0, 0, 25, 0, 0 }; public static final int yy_ec[] = { 0, 1, 1, 1, 1, 1, 1, 1, 2, 3, 4, 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 6, 1, 7, 1, 1, 1, 8, 9, 10, 1, 11, 1, 12, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16, 1, 11, 1, 1, 1, 7, 7, 17, 7, 7, 7, 7, 7, 7, 18, 7, 19, 7, 20, 7, 7, 7, 7, 21, 7, 7, 7, 7, 7, 7, 7, 22, 23, 24, 1, 25, 1, 26, 27, 28, 7, 29, 30, 31, 32, 33, 7, 7, 34, 35, 36, 37, 38, 7, 39, 40, 41, 42, 43, 44, 7, 7, 7, 45, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; public static final int yy_meta[] = { 0, 1, 1, 2, 3, 2, 1, 4, 5, 1, 6, 7, 8, 1, 9, 1, 10, 4, 4, 4, 4, 4, 11, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1 }; public static final short yy_base[] = { 0, 0, 0, 42, 43, 45, 46, 0, 0, 0, 0, 571, 1830, 57, 61, 45, 68, 57, 71, 82, 111, 67, 52, 1830, 1830, 552, 539, 1830, 1830, 495, 1830, 95, 72, 1830, 115, 98, 82, 0, 498, 1830, 0, 95, 96, 97, 105, 113, 120, 115, 1830, 1830, 463, 125, 154, 85, 175, 158, 468, 161, 0, 142, 144, 164, 158, 159, 160, 163, 457, 203, 224, 244, 469, 450, 1830, 426, 207, 210, 266, 213, 191, 234, 196, 225, 244, 256, 419, 435, 288, 391, 390, 375, 294, 304, 333, 240, 179, 376, 221, 254, 274, 284, 353, 318, 69, 1830, 348, 369, 1830, 357, 366, 385, 409, 360, 1830, 452, 287, 472, 492, 343, 194, 277, 368, 362, 325, 211, 424, 338, 310, 288, 284, 512, 532, 278, 270, 240, 300, 239, 435, 364, 401, 431, 413, 224, 337, 390, 245, 468, 486, 542, 506, 232, 553, 185, 180, 171, 482, 472, 556, 1830, 559, 418, 151, 413, 439, 451, 565, 452, 457, 571, 587, 590, 469, 1830, 601, 158, 290, 522, 346, 135, 494, 610, 616, 508, 519, 520, 633, 637, 649, 653, 664, 676, 528, 680, 143, 136, 605, 723, 556, 120, 529, 540, 687, 698, 702, 745, 749, 760, 764, 775, 779, 793, 797, 808, 569, 573, 130, 812, 823, 827, 830, 120, 873, 893, 96, 1830, 582, 80, 841, 845, 857, 861, 907, 918, 922, 614, 618, 620, 933, 638, 660, 937, 951, 662, 68, 61, 647, 713, 686, 940, 955, 700, 709, 710, 966, 970, 984, 988, 999, 1003, 720, 725, 56, 889, 1014, 1018, 1830, 727, 731, 1022, 1036, 1047, 1058, 1069, 1073, 1084, 1095, 1106, 1117, 1121, 1132, 747, 762, 809, 41, 846, 869, 1143, 1830, 1151, 1830, 1165, 1176, 1180, 1191, 1195, 1209, 1213, 870, 1830, 875, 1830, 1258, 1269, 1280, 1291, 1301, 1311, 44, 1322, 1333, 1343, 1353, 1362, 1373, 1384, 1394, 1398, 1408, 1418, 1428, 1438, 1448, 1459, 1470, 1480, 1491, 1502, 1513, 1524, 1535, 1546, 1557, 1568, 1579, 1590, 1601, 1611, 1622, 1633, 1644, 1655, 1665, 1676, 1687, 1698, 1709, 1720, 1731, 1742, 1753, 1764, 1775, 1786, 1797, 1808, 1818 }; public static final short yy_def[] = { 0, 299, 1, 300, 300, 301, 301, 302, 302, 302, 302, 299, 299, 299, 299, 303, 304, 299, 304, 304, 304, 20, 20, 299, 299, 299, 299, 299, 299, 299, 299, 299, 303, 299, 303, 305, 20, 306, 307, 299, 308, 20, 20, 20, 20, 20, 20, 20, 299, 299, 299, 303, 299, 303, 309, 310, 307, 307, 308, 20, 20, 20, 20, 20, 20, 20, 299, 303, 299, 309, 311, 312, 299, 313, 314, 310, 315, 20, 20, 316, 20, 20, 20, 20, 299, 311, 299, 312, 312, 313, 313, 317, 318, 319, 20, 320, 20, 20, 20, 20, 299, 299, 299, 299, 313, 321, 299, 299, 317, 307, 318, 322, 299, 323, 20, 299, 320, 324, 20, 20, 20, 20, 299, 325, 326, 321, 321, 322, 322, 299, 323, 327, 328, 329, 20, 324, 324, 20, 20, 299, 20, 299, 325, 330, 331, 326, 326, 326, 326, 327, 299, 328, 328, 329, 329, 20, 324, 299, 20, 20, 299, 325, 325, 330, 331, 325, 332, 333, 326, 299, 299, 299, 329, 334, 20, 335, 20, 299, 325, 299, 325, 332, 325, 325, 333, 333, 325, 336, 337, 333, 338, 339, 334, 334, 20, 340, 20, 299, 331, 325, 341, 333, 333, 333, 325, 336, 337, 333, 333, 333, 341, 333, 338, 342, 343, 339, 339, 339, 339, 299, 299, 340, 344, 299, 20, 299, 333, 333, 325, 341, 333, 333, 326, 338, 338, 342, 343, 338, 345, 346, 339, 347, 344, 344, 20, 299, 338, 299, 338, 345, 338, 338, 346, 346, 338, 348, 349, 346, 347, 350, 351, 20, 20, 299, 299, 343, 338, 352, 346, 346, 346, 338, 348, 349, 346, 346, 346, 352, 346, 347, 347, 350, 351, 347, 353, 354, 299, 354, 299, 346, 346, 338, 352, 346, 346, 339, 347, 299, 347, 0, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299 }; public static final short yy_nxt[] = { 0, 12, 13, 13, 14, 13, 15, 16, 12, 12, 12, 12, 12, 17, 12, 12, 12, 16, 16, 16, 16, 16, 12, 12, 12, 16, 16, 16, 16, 18, 16, 16, 16, 19, 16, 16, 20, 16, 21, 16, 16, 16, 16, 22, 16, 12, 24, 24, 55, 27, 27, 33, 25, 25, 284, 26, 26, 28, 28, 31, 31, 31, 31, 31, 31, 31, 31, 39, 34, 284, 40, 35, 35, 35, 35, 35, 35, 243, 33, 123, 37, 47, 124, 37, 243, 35, 35, 35, 29, 29, 38, 33, 36, 38, 37, 34, 36, 31, 31, 31, 31, 35, 35, 35, 38, 41, 45, 36, 34, 46, 245, 36, 243, 42, 35, 35, 35, 51, 51, 52, 38, 53, 36, 37, 36, 36, 36, 51, 51, 52, 241, 33, 60, 38, 36, 59, 36, 36, 34, 62, 43, 61, 36, 238, 36, 36, 63, 64, 67, 36, 225, 44, 193, 36, 65, 36, 52, 52, 52, 193, 36, 74, 74, 74, 76, 76, 76, 79, 79, 79, 37, 77, 197, 36, 193, 80, 177, 32, 68, 68, 68, 78, 36, 70, 36, 57, 71, 36, 36, 36, 83, 72, 36, 36, 82, 154, 152, 73, 36, 36, 36, 152, 81, 36, 36, 51, 51, 52, 114, 53, 74, 74, 74, 74, 74, 74, 93, 93, 93, 36, 36, 143, 37, 36, 144, 36, 34, 68, 68, 68, 94, 36, 70, 96, 137, 71, 36, 79, 79, 79, 72, 150, 36, 93, 93, 93, 73, 68, 68, 68, 36, 97, 70, 36, 36, 71, 38, 118, 166, 160, 72, 36, 38, 136, 154, 36, 73, 56, 56, 76, 76, 76, 56, 36, 56, 56, 56, 98, 56, 56, 56, 56, 99, 36, 36, 36, 152, 150, 56, 56, 57, 101, 101, 101, 36, 119, 36, 104, 104, 104, 128, 102, 120, 36, 128, 105, 138, 107, 107, 107, 106, 56, 70, 36, 36, 71, 36, 36, 90, 36, 72, 101, 101, 101, 36, 121, 126, 36, 134, 36, 194, 102, 155, 103, 56, 56, 109, 109, 109, 56, 36, 56, 56, 56, 111, 56, 56, 161, 56, 112, 144, 104, 104, 104, 126, 56, 56, 57, 141, 105, 107, 107, 107, 103, 106, 70, 196, 136, 71, 107, 107, 107, 90, 72, 70, 36, 128, 71, 56, 115, 115, 115, 72, 139, 70, 126, 36, 71, 109, 109, 109, 36, 72, 36, 122, 140, 111, 36, 117, 90, 163, 112, 36, 164, 36, 158, 88, 88, 36, 57, 56, 56, 109, 109, 109, 56, 139, 56, 56, 56, 111, 56, 56, 178, 56, 112, 179, 146, 101, 146, 36, 56, 56, 57, 74, 74, 74, 147, 156, 156, 156, 36, 36, 176, 86, 100, 105, 36, 159, 161, 90, 157, 144, 36, 56, 129, 129, 129, 36, 136, 131, 163, 161, 132, 164, 144, 88, 161, 72, 148, 166, 146, 101, 146, 133, 115, 115, 115, 86, 190, 70, 147, 191, 71, 84, 172, 172, 172, 72, 146, 101, 146, 57, 173, 117, 115, 115, 115, 106, 147, 70, 36, 66, 71, 161, 174, 154, 164, 72, 146, 101, 146, 36, 148, 117, 129, 129, 129, 143, 147, 131, 200, 57, 132, 50, 175, 175, 175, 72, 161, 161, 148, 144, 144, 133, 129, 129, 129, 213, 123, 131, 214, 200, 132, 38, 146, 101, 146, 72, 49, 161, 148, 167, 144, 133, 168, 169, 169, 169, 156, 156, 156, 175, 175, 175, 48, 170, 105, 180, 180, 180, 299, 157, 299, 185, 186, 185, 224, 181, 233, 136, 187, 214, 235, 188, 36, 236, 148, 36, 299, 146, 101, 146, 169, 169, 169, 36, 167, 171, 36, 168, 244, 299, 170, 172, 172, 172, 299, 299, 299, 182, 36, 173, 101, 101, 101, 189, 106, 219, 186, 186, 186, 36, 102, 246, 154, 161, 247, 233, 198, 235, 214, 148, 236, 36, 171, 185, 186, 185, 299, 185, 186, 185, 201, 299, 36, 188, 201, 233, 299, 188, 214, 186, 186, 186, 103, 203, 204, 203, 161, 299, 199, 198, 205, 261, 262, 206, 209, 180, 209, 233, 299, 259, 238, 167, 260, 36, 210, 189, 185, 186, 185, 189, 216, 169, 216, 201, 36, 299, 188, 227, 228, 227, 217, 199, 299, 233, 201, 207, 236, 229, 185, 186, 185, 299, 185, 186, 185, 231, 211, 213, 232, 201, 267, 299, 188, 263, 263, 263, 233, 233, 189, 214, 214, 299, 218, 220, 220, 220, 264, 279, 70, 230, 260, 222, 281, 299, 190, 282, 223, 267, 233, 299, 189, 214, 73, 299, 189, 185, 186, 185, 299, 186, 186, 186, 201, 299, 296, 188, 161, 297, 299, 198, 203, 204, 203, 299, 209, 180, 209, 205, 299, 279, 206, 167, 260, 299, 210, 185, 186, 185, 299, 185, 186, 185, 201, 299, 299, 188, 201, 189, 299, 188, 299, 199, 299, 185, 186, 185, 299, 227, 228, 227, 201, 299, 207, 188, 187, 299, 211, 210, 185, 186, 185, 299, 216, 169, 216, 201, 281, 189, 188, 282, 299, 189, 217, 216, 169, 216, 299, 216, 169, 216, 216, 169, 216, 217, 239, 189, 299, 240, 299, 230, 217, 185, 186, 185, 299, 185, 186, 185, 201, 299, 189, 188, 201, 279, 218, 188, 260, 186, 186, 186, 299, 227, 228, 227, 161, 218, 299, 198, 187, 218, 299, 210, 218, 220, 220, 220, 279, 279, 70, 284, 282, 222, 279, 189, 299, 260, 223, 189, 299, 285, 285, 285, 73, 220, 220, 220, 299, 299, 70, 199, 299, 222, 286, 230, 299, 299, 223, 185, 186, 185, 299, 299, 73, 299, 201, 36, 299, 188, 185, 186, 185, 299, 146, 101, 146, 201, 36, 299, 206, 167, 299, 299, 168, 248, 248, 248, 299, 253, 254, 253, 169, 169, 169, 249, 255, 299, 299, 256, 299, 189, 170, 216, 169, 216, 299, 254, 254, 254, 239, 299, 189, 240, 233, 299, 148, 265, 253, 254, 253, 299, 253, 254, 253, 268, 299, 250, 256, 268, 299, 257, 256, 299, 171, 299, 254, 254, 254, 299, 270, 271, 270, 233, 299, 218, 265, 272, 299, 266, 273, 276, 248, 276, 299, 253, 254, 253, 239, 299, 257, 277, 268, 299, 257, 256, 287, 287, 287, 299, 263, 263, 263, 299, 290, 291, 290, 299, 266, 288, 299, 268, 274, 264, 292, 299, 299, 299, 253, 254, 253, 299, 36, 278, 299, 294, 299, 257, 295, 253, 254, 253, 299, 36, 299, 299, 268, 299, 299, 256, 253, 254, 253, 299, 299, 299, 293, 268, 299, 299, 256, 254, 254, 254, 299, 270, 271, 270, 233, 299, 257, 265, 272, 299, 299, 273, 276, 248, 276, 299, 299, 257, 299, 239, 299, 299, 277, 253, 254, 253, 299, 299, 257, 299, 268, 299, 299, 256, 253, 254, 253, 299, 299, 266, 299, 268, 299, 274, 256, 253, 254, 253, 299, 290, 291, 290, 268, 299, 278, 256, 255, 299, 299, 277, 253, 254, 253, 299, 299, 257, 299, 268, 299, 299, 256, 285, 285, 285, 299, 299, 257, 299, 299, 287, 287, 287, 299, 299, 286, 299, 299, 257, 299, 299, 38, 293, 288, 253, 254, 253, 299, 299, 38, 299, 268, 299, 257, 256, 253, 254, 253, 299, 254, 254, 254, 268, 299, 299, 256, 233, 299, 299, 265, 290, 291, 290, 299, 253, 254, 253, 255, 299, 299, 277, 268, 299, 299, 256, 299, 257, 299, 253, 254, 253, 299, 216, 169, 216, 268, 299, 257, 273, 239, 299, 266, 240, 299, 299, 299, 299, 299, 299, 299, 299, 299, 293, 299, 299, 299, 257, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 257, 299, 299, 299, 218, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 32, 32, 299, 32, 32, 32, 32, 32, 32, 32, 32, 36, 36, 36, 299, 299, 299, 36, 36, 299, 36, 54, 54, 54, 299, 299, 299, 299, 299, 299, 54, 56, 56, 56, 56, 56, 56, 299, 56, 56, 299, 56, 58, 58, 299, 58, 58, 58, 58, 58, 58, 58, 58, 69, 69, 69, 69, 299, 69, 299, 69, 69, 69, 75, 75, 75, 299, 299, 299, 75, 75, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 87, 87, 299, 87, 87, 87, 87, 87, 87, 87, 87, 89, 89, 89, 89, 89, 89, 299, 89, 89, 299, 89, 91, 91, 91, 92, 92, 92, 92, 92, 92, 299, 92, 92, 299, 92, 95, 95, 95, 299, 299, 299, 299, 299, 299, 95, 108, 108, 108, 108, 299, 108, 299, 108, 108, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 113, 113, 113, 299, 299, 299, 299, 299, 299, 113, 116, 116, 116, 116, 299, 116, 299, 116, 116, 116, 125, 125, 299, 125, 125, 125, 125, 125, 125, 125, 125, 127, 127, 299, 127, 127, 127, 127, 127, 127, 127, 127, 130, 130, 130, 130, 299, 130, 299, 130, 130, 130, 135, 135, 135, 135, 135, 135, 299, 135, 135, 299, 135, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 151, 151, 299, 151, 151, 151, 151, 151, 151, 151, 151, 153, 153, 153, 153, 153, 153, 299, 153, 153, 299, 153, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 165, 165, 165, 165, 165, 299, 165, 165, 165, 165, 165, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 192, 192, 299, 192, 192, 192, 192, 192, 192, 192, 192, 195, 195, 195, 299, 299, 299, 299, 299, 299, 195, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 221, 221, 221, 221, 299, 221, 299, 221, 221, 221, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 237, 237, 237, 237, 237, 299, 237, 237, 237, 237, 237, 242, 242, 299, 242, 242, 242, 242, 242, 242, 242, 242, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 283, 283, 283, 283, 283, 299, 283, 283, 283, 283, 283, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 54, 54, 54, 299, 299, 299, 299, 299, 54, 54, 11, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299 }; public static final short yy_chk[] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 306, 5, 6, 15, 3, 4, 282, 3, 4, 5, 6, 13, 13, 13, 13, 14, 14, 14, 14, 17, 15, 260, 17, 16, 16, 16, 18, 18, 18, 243, 32, 102, 16, 22, 102, 18, 242, 19, 19, 19, 5, 6, 16, 53, 22, 18, 19, 32, 21, 31, 31, 31, 31, 35, 35, 35, 19, 18, 21, 21, 53, 21, 225, 36, 222, 19, 20, 20, 20, 34, 34, 34, 35, 34, 36, 20, 41, 42, 43, 51, 51, 51, 219, 51, 42, 20, 44, 41, 42, 43, 34, 44, 20, 43, 45, 214, 47, 44, 45, 46, 51, 46, 197, 20, 193, 45, 47, 47, 52, 52, 52, 192, 46, 55, 55, 55, 57, 57, 57, 61, 61, 61, 55, 59, 177, 60, 173, 62, 160, 52, 54, 54, 54, 60, 59, 54, 60, 57, 54, 62, 63, 64, 65, 54, 65, 61, 64, 153, 152, 54, 62, 63, 64, 151, 63, 65, 61, 67, 67, 67, 94, 67, 74, 74, 74, 75, 75, 75, 77, 77, 77, 94, 78, 123, 75, 118, 123, 80, 67, 68, 68, 68, 78, 78, 68, 80, 118, 68, 80, 79, 79, 79, 68, 149, 77, 93, 93, 93, 68, 69, 69, 69, 96, 81, 69, 77, 81, 69, 79, 96, 144, 141, 69, 96, 93, 135, 133, 81, 69, 76, 76, 76, 76, 76, 76, 82, 76, 76, 76, 82, 76, 76, 76, 76, 83, 97, 82, 83, 132, 131, 76, 76, 76, 86, 86, 86, 97, 97, 83, 90, 90, 90, 128, 86, 98, 98, 127, 90, 119, 91, 91, 91, 90, 76, 91, 99, 98, 91, 114, 119, 90, 174, 91, 101, 101, 101, 99, 99, 126, 114, 114, 134, 174, 101, 134, 86, 92, 92, 92, 92, 92, 92, 134, 92, 92, 92, 92, 92, 92, 142, 92, 92, 142, 104, 104, 104, 125, 92, 92, 92, 122, 104, 107, 107, 107, 101, 104, 107, 176, 117, 107, 108, 108, 108, 104, 107, 108, 176, 111, 108, 92, 95, 95, 95, 108, 120, 95, 105, 176, 95, 109, 109, 109, 121, 95, 137, 100, 121, 109, 120, 95, 89, 143, 109, 121, 143, 137, 137, 88, 87, 120, 109, 110, 110, 110, 110, 110, 110, 138, 110, 110, 110, 110, 110, 110, 161, 110, 110, 161, 124, 124, 124, 138, 110, 110, 110, 139, 139, 139, 124, 136, 136, 136, 138, 140, 159, 85, 84, 136, 159, 140, 162, 73, 136, 162, 140, 110, 113, 113, 113, 159, 136, 113, 163, 165, 113, 163, 165, 71, 166, 113, 124, 166, 145, 145, 145, 113, 115, 115, 115, 70, 170, 115, 145, 170, 115, 66, 154, 154, 154, 115, 146, 146, 146, 56, 154, 115, 116, 116, 116, 154, 146, 116, 155, 50, 116, 178, 155, 154, 178, 116, 148, 148, 148, 155, 145, 116, 129, 129, 129, 181, 148, 129, 181, 38, 129, 29, 175, 175, 175, 129, 182, 183, 146, 182, 183, 129, 130, 130, 130, 190, 198, 130, 190, 198, 130, 175, 147, 147, 147, 130, 26, 199, 148, 147, 199, 130, 147, 150, 150, 150, 156, 156, 156, 158, 158, 158, 25, 150, 156, 164, 164, 164, 11, 156, 0, 167, 167, 167, 196, 164, 212, 156, 167, 212, 213, 167, 196, 213, 147, 158, 0, 168, 168, 168, 169, 169, 169, 196, 168, 150, 158, 168, 224, 0, 169, 172, 172, 172, 0, 0, 0, 164, 224, 172, 179, 179, 179, 167, 172, 194, 180, 180, 180, 224, 179, 233, 172, 180, 233, 234, 180, 235, 234, 168, 235, 194, 169, 184, 184, 184, 0, 185, 185, 185, 184, 0, 194, 184, 185, 237, 0, 185, 237, 186, 186, 186, 179, 187, 187, 187, 186, 0, 180, 186, 187, 244, 244, 187, 188, 188, 188, 238, 0, 241, 238, 188, 241, 244, 188, 184, 189, 189, 189, 185, 191, 191, 191, 189, 244, 0, 189, 200, 200, 200, 191, 186, 0, 246, 200, 187, 246, 200, 201, 201, 201, 0, 202, 202, 202, 201, 188, 249, 201, 202, 249, 0, 202, 245, 245, 245, 250, 251, 189, 250, 251, 0, 191, 195, 195, 195, 245, 258, 195, 200, 258, 195, 259, 0, 265, 259, 195, 265, 266, 0, 201, 266, 195, 0, 202, 203, 203, 203, 0, 204, 204, 204, 203, 0, 279, 203, 204, 279, 0, 204, 205, 205, 205, 0, 206, 206, 206, 205, 0, 280, 205, 206, 280, 0, 206, 207, 207, 207, 0, 208, 208, 208, 207, 0, 0, 207, 208, 203, 0, 208, 0, 204, 0, 209, 209, 209, 0, 210, 210, 210, 209, 0, 205, 209, 210, 0, 206, 210, 211, 211, 211, 0, 215, 215, 215, 211, 281, 207, 211, 281, 0, 208, 215, 216, 216, 216, 0, 217, 217, 217, 218, 218, 218, 216, 217, 209, 0, 217, 0, 210, 218, 226, 226, 226, 0, 227, 227, 227, 226, 0, 211, 226, 227, 283, 215, 227, 283, 228, 228, 228, 0, 229, 229, 229, 228, 216, 0, 228, 229, 217, 0, 229, 218, 220, 220, 220, 284, 296, 220, 284, 296, 220, 298, 226, 0, 298, 220, 227, 0, 261, 261, 261, 220, 221, 221, 221, 0, 0, 221, 228, 0, 221, 261, 229, 0, 0, 221, 230, 230, 230, 0, 0, 221, 0, 230, 261, 0, 230, 231, 231, 231, 0, 232, 232, 232, 231, 261, 0, 231, 232, 0, 0, 232, 236, 236, 236, 0, 239, 239, 239, 247, 247, 247, 236, 239, 0, 0, 239, 0, 230, 247, 240, 240, 240, 0, 248, 248, 248, 240, 0, 231, 240, 248, 0, 232, 248, 252, 252, 252, 0, 253, 253, 253, 252, 0, 236, 252, 253, 0, 239, 253, 0, 247, 0, 254, 254, 254, 0, 255, 255, 255, 254, 0, 240, 254, 255, 0, 248, 255, 256, 256, 256, 0, 257, 257, 257, 256, 0, 252, 256, 257, 0, 253, 257, 262, 262, 262, 0, 263, 263, 263, 0, 267, 267, 267, 0, 254, 262, 0, 267, 255, 263, 267, 0, 0, 0, 268, 268, 268, 0, 262, 256, 0, 268, 0, 257, 268, 269, 269, 269, 0, 262, 0, 0, 269, 0, 0, 269, 270, 270, 270, 0, 0, 0, 267, 270, 0, 0, 270, 271, 271, 271, 0, 272, 272, 272, 271, 0, 268, 271, 272, 0, 0, 272, 273, 273, 273, 0, 0, 269, 0, 273, 0, 0, 273, 274, 274, 274, 0, 0, 270, 0, 274, 0, 0, 274, 275, 275, 275, 0, 0, 271, 0, 275, 0, 272, 275, 276, 276, 276, 0, 277, 277, 277, 276, 0, 273, 276, 277, 0, 0, 277, 278, 278, 278, 0, 0, 274, 0, 278, 0, 0, 278, 285, 285, 285, 0, 0, 275, 0, 0, 287, 287, 287, 0, 0, 285, 0, 0, 276, 0, 0, 285, 277, 287, 289, 289, 289, 0, 0, 287, 0, 289, 0, 278, 289, 290, 290, 290, 0, 291, 291, 291, 290, 0, 0, 290, 291, 0, 0, 291, 292, 292, 292, 0, 293, 293, 293, 292, 0, 0, 292, 293, 0, 0, 293, 0, 289, 0, 294, 294, 294, 0, 295, 295, 295, 294, 0, 290, 294, 295, 0, 291, 295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 292, 0, 0, 0, 293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 294, 0, 0, 0, 295, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 303, 303, 0, 303, 303, 303, 303, 303, 303, 303, 303, 304, 304, 304, 0, 0, 0, 304, 304, 0, 304, 305, 305, 305, 0, 0, 0, 0, 0, 0, 305, 307, 307, 307, 307, 307, 307, 0, 307, 307, 0, 307, 308, 308, 0, 308, 308, 308, 308, 308, 308, 308, 308, 309, 309, 309, 309, 0, 309, 0, 309, 309, 309, 310, 310, 310, 0, 0, 0, 310, 310, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 312, 312, 0, 312, 312, 312, 312, 312, 312, 312, 312, 313, 313, 313, 313, 313, 313, 0, 313, 313, 0, 313, 314, 314, 314, 315, 315, 315, 315, 315, 315, 0, 315, 315, 0, 315, 316, 316, 316, 0, 0, 0, 0, 0, 0, 316, 317, 317, 317, 317, 0, 317, 0, 317, 317, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 319, 319, 319, 0, 0, 0, 0, 0, 0, 319, 320, 320, 320, 320, 0, 320, 0, 320, 320, 320, 321, 321, 0, 321, 321, 321, 321, 321, 321, 321, 321, 322, 322, 0, 322, 322, 322, 322, 322, 322, 322, 322, 323, 323, 323, 323, 0, 323, 0, 323, 323, 323, 324, 324, 324, 324, 324, 324, 0, 324, 324, 0, 324, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 328, 328, 0, 328, 328, 328, 328, 328, 328, 328, 328, 329, 329, 329, 329, 329, 329, 0, 329, 329, 0, 329, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 331, 331, 331, 331, 331, 0, 331, 331, 331, 331, 331, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 333, 334, 334, 0, 334, 334, 334, 334, 334, 334, 334, 334, 335, 335, 335, 0, 0, 0, 0, 0, 0, 335, 336, 336, 336, 336, 336, 336, 336, 336, 336, 336, 336, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 338, 338, 338, 338, 338, 338, 338, 338, 338, 338, 338, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 340, 340, 340, 340, 0, 340, 0, 340, 340, 340, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 343, 343, 343, 343, 343, 0, 343, 343, 343, 343, 343, 344, 344, 0, 344, 344, 344, 344, 344, 344, 344, 344, 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 351, 351, 351, 351, 351, 0, 351, 351, 351, 351, 351, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 354, 354, 354, 0, 0, 0, 0, 0, 354, 354, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299 }; // SUFFIX private int comment_count = 0; public YYtoken dummy=new YYtoken(0,"dummy",0,0,1); NslPrePreProcessor nppp; void r_echo(String s) { System.out.print(s); } void r_echo(String from, String to) { String line = yytext.lexeme(); int index = line.indexOf(from); if(index < 0) { // nothing found to replace System.out.print(yytext.lexeme()); return; } to = to.concat(line.substring(from.length())); System.out.print(to); } void echo() { System.out.print(yytext.lexeme()); } void echo(String s) { System.out.print(s+yytext.lexeme()); } public void init(NslPrePreProcessor nppp) { nppp.setWholeBuffer(yytext.wholebuffer); } int yywrap() { System.out.println(" ********* YYWRAP!!!!"); return(0); } public void setdebug(boolean d) {yydebug = d?1:0; yytext.setdebug(d);} public void setdebug(int i) {yydebug = i>0?i:0; yytext.setdebug(i);} public void yyreturn(YYtoken t) {yylval = t;} // return 0 based line number public int yyline() {return yytext.yyline();} // return 0 based absolute char number public int yychar0() {return yytext.yychar0();} // return 0 based char number within line public int yychar() {return yytext.yychar();} } // class YYlex