diff options
Diffstat (limited to 'org.eclipse.photran.core/model/org/eclipse/photran/internal/core/f95modelparser/FixedFormLexerPhase1.java')
-rw-r--r-- | org.eclipse.photran.core/model/org/eclipse/photran/internal/core/f95modelparser/FixedFormLexerPhase1.java | 2008 |
1 files changed, 2008 insertions, 0 deletions
diff --git a/org.eclipse.photran.core/model/org/eclipse/photran/internal/core/f95modelparser/FixedFormLexerPhase1.java b/org.eclipse.photran.core/model/org/eclipse/photran/internal/core/f95modelparser/FixedFormLexerPhase1.java new file mode 100644 index 00000000..3e1311d6 --- /dev/null +++ b/org.eclipse.photran.core/model/org/eclipse/photran/internal/core/f95modelparser/FixedFormLexerPhase1.java @@ -0,0 +1,2008 @@ +/* The following code was generated by JFlex 1.4.1 on 10/6/05 7:34 PM */ + +/* + * First phase of fixed form lexical analysis for Fortran 95 parser + * + * FixedFormLexerPhase1 acts as a "token stream" feeding FreeFormLexerPhase2 + * and is feeded by FixedFormLexerPrepass + * (See FixedFormLexerPrepass and FixedFormLexerPhase2.java and f95t.bnf) + * + * @author Jeffrey Overbey and Dirk Rossow + * + * @see FixedFormLexerPrepass + * @see FixedFormLexerPhase2 + * @see Parser + * + * NOTE: Get rid of (space out) "yybegin(YYSTANDARD);" in the lines + * for any tokens that can appear in an IMPLICIT statement + * (It was also omitted in the lines for T_SLASH so that + * INTERFACE OPERATOR (/) would tokenize correctly.) + * + * Changes: + * 29.06.2005 Jeff Overbey: Added Fortran INCLUDE and CPP directives + */ + +package org.eclipse.photran.internal.core.f95modelparser; +import java.io.InputStream; +import java.util.LinkedList; +import java.util.List; + +import org.eclipse.photran.internal.core.f95modelparser.Terminal; +import org.eclipse.photran.internal.core.f95modelparser.Token; + + +/** + * This class is a scanner generated by + * <a href="http://www.jflex.de/">JFlex</a> 1.4.1 + * on 10/6/05 7:34 PM from the specification file + * <tt>FixedFormLexerPhase1.flex</tt> + */ +class FixedFormLexerPhase1 implements ILexer { + + /** This character denotes the end of file */ + public static final int YYEOF = -1; + + /** initial size of the lookahead buffer */ + private static final int ZZ_BUFFERSIZE = 16384; + + /** lexical states */ + public static final int OPERATORorFORMAT = 6; + public static final int DBLQUOTED = 3; + public static final int QUOTED = 2; + public static final int YYINITIAL = 0; + public static final int IDENT = 7; + public static final int HOLLERITH = 4; + public static final int YYSTANDARD = 5; + public static final int IMPLICIT = 1; + + /** + * Translates characters to character classes + */ + private static final char [] ZZ_CMAP = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30, 30, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 30, 14, 31, 0, 48, 0, 12, 27, 29, 3, 6, 28, 7, 9, 49, + 13, 13, 16, 16, 16, 16, 16, 16, 4, 4, 45, 30, 47, 38, 46, 0, + 0, 18, 11, 34, 8, 5, 21, 23, 19, 20, 10, 41, 33, 37, 32, 15, + 24, 44, 36, 22, 39, 35, 40, 43, 25, 42, 17, 0, 0, 0, 0, 26, + 0, 18, 11, 34, 8, 5, 21, 23, 19, 20, 10, 41, 33, 37, 32, 15, + 24, 44, 36, 22, 39, 35, 40, 43, 25, 42, 17, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + }; + + /** + * Translates DFA states to action switch labels. + */ + private static final int [] ZZ_ACTION = zzUnpackAction(); + + private static final String ZZ_ACTION_PACKED_0 = + "\10\0\1\1\2\2\1\3\1\4\1\1\1\5\1\6"+ + "\3\1\1\7\1\10\10\1\1\11\1\12\1\13\1\14"+ + "\7\1\1\15\3\1\1\16\1\17\1\20\1\21\1\22"+ + "\1\4\1\1\1\5\1\6\10\1\1\12\1\22\1\23"+ + "\1\24\1\25\1\23\1\26\1\27\1\30\1\12\1\31"+ + "\1\32\1\33\7\0\1\34\33\0\1\35\1\36\12\0"+ + "\1\37\32\0\1\40\1\41\1\42\6\0\1\43\1\44"+ + "\1\45\1\46\3\0\1\47\1\50\1\51\5\0\1\52"+ + "\1\0\1\53\1\54\1\55\1\56\3\0\1\57\14\0"+ + "\1\60\25\0\1\61\73\0\1\62\17\0\1\63\1\0"+ + "\1\52\1\0\1\52\10\0\1\64\10\0\1\65\4\0"+ + "\1\66\1\67\5\0\1\70\2\0\1\71\1\0\1\72"+ + "\2\0\1\73\1\74\1\75\2\0\1\76\1\77\1\0"+ + "\1\100\3\0\1\101\1\102\2\0\1\103\1\104\17\0"+ + "\1\105\1\0\1\106\2\0\1\107\2\0\1\110\1\0"+ + "\1\111\2\0\1\112\3\0\1\113\10\0\2\114\3\0"+ + "\1\115\1\0\1\116\1\0\1\117\1\120\4\0\1\121"+ + "\1\122\5\0\1\123\1\124\3\0\1\125\4\0\1\126"+ + "\1\127\4\0\1\63\2\130\1\0\2\131\1\4\2\0"+ + "\1\132\1\0\1\133\12\0\1\134\12\0\1\135\1\136"+ + "\2\0\1\137\2\0\1\140\13\0\1\141\11\0\1\142"+ + "\1\143\3\0\1\144\2\0\1\145\2\0\1\146\5\0"+ + "\1\147\6\0\1\150\10\0\1\151\1\152\1\153\1\0"+ + "\1\154\3\0\1\155\5\0\1\156\1\157\1\160\1\161"+ + "\1\162\15\0\1\163\4\0\1\164\1\165\3\0\1\166"+ + "\1\167\2\0\1\170\13\0\1\171\4\0\1\172\1\173"+ + "\1\0\1\174\6\0\1\175\6\0\1\176\7\0\1\177"+ + "\3\0\1\124\1\200\1\0\1\201\1\202\1\203\1\204"+ + "\1\205\4\0\1\206\5\0\1\207\5\0\1\210\2\0"+ + "\1\211\1\0\1\212\2\0\1\213\5\0\1\214\1\215"+ + "\1\216\1\0\1\217\2\0\1\220\7\0\1\221\1\222"+ + "\3\0\1\223\1\0\1\224\2\0\1\225\1\226\1\227"+ + "\2\0\1\230\4\0\1\231\1\232\7\0\1\233\4\0"+ + "\1\165\4\0\1\234\1\235\1\236\1\0\1\237\5\0"+ + "\1\240\1\0\1\241\1\0\1\242\6\0\1\243\1\244"+ + "\1\0\1\245\1\246\7\0\1\247\1\0\1\250\2\0"+ + "\1\251\1\252\1\253\3\0\1\254\1\255\1\256\2\0"+ + "\1\257\1\217\1\260\1\261\4\0\1\262\1\263\1\264"+ + "\1\265\1\227\1\230\1\266\2\0\1\267\4\0\1\270"+ + "\1\0\1\271\1\0\1\272\1\0\1\273\1\274\1\0"+ + "\1\275\2\0\1\276\2\0\1\277\1\0\1\300\1\0"+ + "\1\301\1\302\1\266\1\0\1\303\1\304\2\0\1\305"+ + "\1\306\2\0\1\307\1\0\1\307"; + + private static int [] zzUnpackAction() { + int [] result = new int[815]; + int offset = 0; + offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); + return result; + } + + private static int zzUnpackAction(String packed, int offset, int [] result) { + int i = 0; /* index in packed string */ + int j = offset; /* index in unpacked array */ + int l = packed.length(); + while (i < l) { + int count = packed.charAt(i++); + int value = packed.charAt(i++); + do result[j++] = value; while (--count > 0); + } + return j; + } + + + /** + * Translates a state to a row index in the transition table + */ + private static final int [] ZZ_ROWMAP = zzUnpackRowMap(); + + private static final String ZZ_ROWMAP_PACKED_0 = + "\0\0\0\62\0\144\0\226\0\310\0\372\0\u012c\0\u015e"+ + "\0\u0190\0\u01c2\0\u0190\0\u01f4\0\u0226\0\u0258\0\u0190\0\u0190"+ + "\0\u028a\0\u02bc\0\u02ee\0\u0190\0\u0190\0\u0320\0\u0352\0\u0384"+ + "\0\u03b6\0\u03e8\0\u041a\0\u044c\0\u047e\0\u0190\0\u0190\0\u0190"+ + "\0\u0190\0\u04b0\0\u04e2\0\u0514\0\u0546\0\u0578\0\u05aa\0\u05dc"+ + "\0\u060e\0\u0640\0\u0672\0\u06a4\0\u0190\0\u06d6\0\u0708\0\u0190"+ + "\0\u073a\0\u076c\0\u079e\0\u07d0\0\u07d0\0\u0802\0\u0834\0\u0866"+ + "\0\u0898\0\u08ca\0\u08fc\0\u092e\0\u0960\0\u0992\0\u09c4\0\u09f6"+ + "\0\u0190\0\u0a28\0\u0a5a\0\u0a8c\0\u0190\0\u0190\0\u0abe\0\u0190"+ + "\0\u0af0\0\u0190\0\u0b22\0\u0b54\0\u0b86\0\u0bb8\0\u0bea\0\u0c1c"+ + "\0\u0c4e\0\u0c80\0\u0cb2\0\u0ce4\0\u0d16\0\u0d48\0\u0d7a\0\u0dac"+ + "\0\u0dde\0\u0e10\0\u0e42\0\u0e74\0\u0ea6\0\u0ed8\0\u0f0a\0\u0f3c"+ + "\0\u0f6e\0\u0fa0\0\u0fd2\0\u1004\0\u1036\0\u1068\0\u109a\0\u10cc"+ + "\0\u10fe\0\u1130\0\u1162\0\u1194\0\u11c6\0\u0190\0\u11f8\0\u122a"+ + "\0\u125c\0\u128e\0\u12c0\0\u12f2\0\u1324\0\u1356\0\u1388\0\u13ba"+ + "\0\u13ec\0\u141e\0\u1450\0\u1482\0\u14b4\0\u14e6\0\u1518\0\u154a"+ + "\0\u157c\0\u15ae\0\u15e0\0\u1612\0\u1644\0\u1676\0\u16a8\0\u16da"+ + "\0\u170c\0\u173e\0\u1770\0\u17a2\0\u17d4\0\u1806\0\u1838\0\u186a"+ + "\0\u189c\0\u18ce\0\u1900\0\u1932\0\u0190\0\u0190\0\u0190\0\u1964"+ + "\0\u1996\0\u19c8\0\u19fa\0\u1a2c\0\u1a5e\0\u0190\0\u0190\0\u0190"+ + "\0\u0190\0\u1a90\0\u1ac2\0\u1af4\0\u0190\0\u0190\0\u0190\0\u1b26"+ + "\0\u1b58\0\u1b8a\0\u1bbc\0\u1bee\0\u1c20\0\u1c52\0\u0190\0\u0190"+ + "\0\u0190\0\u0190\0\u1c84\0\u1cb6\0\u1ce8\0\u1d1a\0\u1d4c\0\u1d7e"+ + "\0\u1db0\0\u1de2\0\u1e14\0\u1e46\0\u1e78\0\u1eaa\0\u1edc\0\u1f0e"+ + "\0\u1f40\0\u1f72\0\u0190\0\u1fa4\0\u1fd6\0\u2008\0\u203a\0\u206c"+ + "\0\u209e\0\u20d0\0\u2102\0\u2134\0\u2166\0\u2198\0\u21ca\0\u21fc"+ + "\0\u222e\0\u2260\0\u2292\0\u22c4\0\u22f6\0\u2328\0\u235a\0\u238c"+ + "\0\u0190\0\u23be\0\u23f0\0\u2422\0\u2454\0\u2486\0\u24b8\0\u24ea"+ + "\0\u251c\0\u254e\0\u2580\0\u25b2\0\u25e4\0\u2616\0\u2648\0\u267a"+ + "\0\u26ac\0\u26de\0\u2710\0\u2742\0\u2774\0\u27a6\0\u27d8\0\u280a"+ + "\0\u283c\0\u286e\0\u28a0\0\u28d2\0\u2904\0\u2936\0\u2968\0\u299a"+ + "\0\u29cc\0\u29fe\0\u2a30\0\u2a62\0\u2a94\0\u2ac6\0\u2af8\0\u2b2a"+ + "\0\u2b5c\0\u2b8e\0\u2bc0\0\u2bf2\0\u2c24\0\u2c56\0\u2c88\0\u2cba"+ + "\0\u2cec\0\u2d1e\0\u2d50\0\u2d82\0\u2db4\0\u2de6\0\u2e18\0\u2e4a"+ + "\0\u2e7c\0\u2eae\0\u2ee0\0\u2f12\0\u0190\0\u2f44\0\u2f76\0\u2fa8"+ + "\0\u2fda\0\u300c\0\u303e\0\u3070\0\u30a2\0\u30d4\0\u3106\0\u3138"+ + "\0\u316a\0\u319c\0\u31ce\0\u3200\0\u3232\0\u3264\0\u3296\0\u3296"+ + "\0\u0190\0\u32c8\0\u32fa\0\u332c\0\u335e\0\u3390\0\u33c2\0\u33f4"+ + "\0\u3426\0\u0190\0\u3458\0\u348a\0\u34bc\0\u34ee\0\u3520\0\u3552"+ + "\0\u3584\0\u35b6\0\u0190\0\u35e8\0\u361a\0\u364c\0\u367e\0\u36b0"+ + "\0\u0190\0\u36e2\0\u3714\0\u3746\0\u3778\0\u37aa\0\u0190\0\u37dc"+ + "\0\u380e\0\u0190\0\u3840\0\u0190\0\u3872\0\u38a4\0\u0190\0\u0190"+ + "\0\u0190\0\u38d6\0\u3908\0\u0190\0\u0190\0\u393a\0\u0190\0\u396c"+ + "\0\u399e\0\u39d0\0\u0190\0\u3a02\0\u3a34\0\u3a66\0\u0190\0\u0190"+ + "\0\u3a98\0\u3aca\0\u3afc\0\u3b2e\0\u3b60\0\u3b92\0\u3bc4\0\u3bf6"+ + "\0\u3c28\0\u3c5a\0\u3c8c\0\u3cbe\0\u3cf0\0\u3d22\0\u3d54\0\u3d86"+ + "\0\u3db8\0\u0190\0\u3dea\0\u3e1c\0\u0190\0\u3e4e\0\u3e80\0\u0190"+ + "\0\u3eb2\0\u0190\0\u3ee4\0\u3f16\0\u0190\0\u3f48\0\u3f7a\0\u3fac"+ + "\0\u0190\0\u3fde\0\u4010\0\u4042\0\u4074\0\u40a6\0\u40d8\0\u410a"+ + "\0\u413c\0\u416e\0\u0190\0\u41a0\0\u41d2\0\u4204\0\u0190\0\u4236"+ + "\0\u4268\0\u429a\0\u0190\0\u0190\0\u42cc\0\u42fe\0\u4330\0\u4362"+ + "\0\u0190\0\u0190\0\u4394\0\u43c6\0\u43f8\0\u442a\0\u445c\0\u448e"+ + "\0\u44c0\0\u44f2\0\u4524\0\u4556\0\u0190\0\u4588\0\u45ba\0\u45ec"+ + "\0\u461e\0\u0190\0\u0190\0\u4650\0\u4682\0\u46b4\0\u46e6\0\u3264"+ + "\0\u4718\0\u332c\0\u474a\0\u477c\0\u0190\0\u33f4\0\u47ae\0\u47e0"+ + "\0\u0190\0\u4812\0\u0190\0\u4844\0\u4876\0\u48a8\0\u48da\0\u490c"+ + "\0\u493e\0\u4970\0\u49a2\0\u49d4\0\u4a06\0\u0190\0\u4a38\0\u4a6a"+ + "\0\u4a9c\0\u4ace\0\u4b00\0\u4b32\0\u4b64\0\u4b96\0\u4bc8\0\u4bfa"+ + "\0\u0190\0\u0190\0\u4c2c\0\u4c5e\0\u0190\0\u4c90\0\u4cc2\0\u4cf4"+ + "\0\u4d26\0\u4d58\0\u4d8a\0\u4dbc\0\u4dee\0\u4e20\0\u4e52\0\u4e84"+ + "\0\u4eb6\0\u4ee8\0\u4f1a\0\u0190\0\u4f4c\0\u4f7e\0\u4fb0\0\u4fe2"+ + "\0\u5014\0\u5046\0\u5078\0\u50aa\0\u50dc\0\u0190\0\u0190\0\u510e"+ + "\0\u5140\0\u5172\0\u0190\0\u51a4\0\u51d6\0\u0190\0\u5208\0\u523a"+ + "\0\u0190\0\u526c\0\u529e\0\u52d0\0\u5302\0\u5334\0\u0190\0\u5366"+ + "\0\u5398\0\u53ca\0\u53fc\0\u542e\0\u5460\0\u0190\0\u5492\0\u54c4"+ + "\0\u54f6\0\u5528\0\u555a\0\u558c\0\u55be\0\u55f0\0\u0190\0\u0190"+ + "\0\u0190\0\u5622\0\u0190\0\u5654\0\u5686\0\u56b8\0\u0190\0\u56ea"+ + "\0\u571c\0\u574e\0\u5780\0\u57b2\0\u0190\0\u0190\0\u0190\0\u57e4"+ + "\0\u0190\0\u5816\0\u5848\0\u587a\0\u58ac\0\u58de\0\u5910\0\u5942"+ + "\0\u5974\0\u59a6\0\u59d8\0\u5a0a\0\u5a3c\0\u5a6e\0\u0190\0\u5aa0"+ + "\0\u5ad2\0\u5b04\0\u5b36\0\u0190\0\u5b68\0\u5b9a\0\u5bcc\0\u5bfe"+ + "\0\u0190\0\u0190\0\u5c30\0\u5c62\0\u0190\0\u5c94\0\u5cc6\0\u5cf8"+ + "\0\u5d2a\0\u5d5c\0\u5d8e\0\u5dc0\0\u5df2\0\u5e24\0\u5e56\0\u5e88"+ + "\0\u0190\0\u5eba\0\u5eec\0\u5f1e\0\u5f50\0\u0190\0\u5f82\0\u5fb4"+ + "\0\u5fe6\0\u6018\0\u604a\0\u607c\0\u60ae\0\u60e0\0\u6112\0\u0190"+ + "\0\u6144\0\u6176\0\u61a8\0\u61da\0\u620c\0\u623e\0\u0190\0\u6270"+ + "\0\u62a2\0\u62d4\0\u6306\0\u6338\0\u636a\0\u639c\0\u0190\0\u63ce"+ + "\0\u6400\0\u6432\0\u5686\0\u0190\0\u6464\0\u0190\0\u0190\0\u0190"+ + "\0\u0190\0\u0190\0\u6496\0\u64c8\0\u64fa\0\u652c\0\u0190\0\u655e"+ + "\0\u6590\0\u65c2\0\u65f4\0\u6626\0\u0190\0\u6658\0\u668a\0\u66bc"+ + "\0\u66ee\0\u6720\0\u0190\0\u6752\0\u6784\0\u0190\0\u67b6\0\u0190"+ + "\0\u67e8\0\u681a\0\u0190\0\u684c\0\u687e\0\u68b0\0\u68e2\0\u6914"+ + "\0\u0190\0\u0190\0\u0190\0\u6946\0\u6978\0\u69aa\0\u69dc\0\u0190"+ + "\0\u6a0e\0\u6a40\0\u6a72\0\u6aa4\0\u6ad6\0\u6b08\0\u6b3a\0\u0190"+ + "\0\u0190\0\u6b6c\0\u6b9e\0\u6bd0\0\u0190\0\u6c02\0\u0190\0\u6c34"+ + "\0\u6c66\0\u0190\0\u0190\0\u6c98\0\u6cca\0\u6cfc\0\u6d2e\0\u6d60"+ + "\0\u6d92\0\u6dc4\0\u6df6\0\u0190\0\u6e28\0\u6e5a\0\u6e8c\0\u6ebe"+ + "\0\u6ef0\0\u6f22\0\u6f54\0\u6f86\0\u0190\0\u6fb8\0\u6fea\0\u701c"+ + "\0\u704e\0\u6752\0\u7080\0\u70b2\0\u70e4\0\u7116\0\u0190\0\u0190"+ + "\0\u0190\0\u7148\0\u0190\0\u717a\0\u71ac\0\u71de\0\u7210\0\u7242"+ + "\0\u0190\0\u7274\0\u0190\0\u72a6\0\u0190\0\u72d8\0\u730a\0\u733c"+ + "\0\u736e\0\u73a0\0\u73d2\0\u0190\0\u0190\0\u7404\0\u0190\0\u0190"+ + "\0\u7436\0\u7468\0\u749a\0\u74cc\0\u74fe\0\u7530\0\u7562\0\u0190"+ + "\0\u7594\0\u0190\0\u75c6\0\u75f8\0\u0190\0\u0190\0\u0190\0\u762a"+ + "\0\u765c\0\u768e\0\u0190\0\u0190\0\u0190\0\u76c0\0\u76f2\0\u0190"+ + "\0\u71de\0\u0190\0\u0190\0\u7724\0\u7756\0\u7788\0\u77ba\0\u0190"+ + "\0\u0190\0\u0190\0\u0190\0\u7404\0\u7436\0\u77ec\0\u781e\0\u7850"+ + "\0\u0190\0\u7882\0\u78b4\0\u78e6\0\u7918\0\u0190\0\u794a\0\u0190"+ + "\0\u797c\0\u0190\0\u79ae\0\u0190\0\u0190\0\u79e0\0\u0190\0\u7a12"+ + "\0\u7a44\0\u0190\0\u7a76\0\u7aa8\0\u0190\0\u7ada\0\u0190\0\u7b0c"+ + "\0\u0190\0\u0190\0\u7a12\0\u7b3e\0\u0190\0\u0190\0\u7b70\0\u7ba2"+ + "\0\u0190\0\u0190\0\u7bd4\0\u7c06\0\u7c38\0\u7c6a\0\u7c6a"; + + private static int [] zzUnpackRowMap() { + int [] result = new int[815]; + int offset = 0; + offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result); + return result; + } + + private static int zzUnpackRowMap(String packed, int offset, int [] result) { + int i = 0; /* index in packed string */ + int j = offset; /* index in unpacked array */ + int l = packed.length(); + while (i < l) { + int high = packed.charAt(i++) << 16; + result[j++] = high | packed.charAt(i++); + } + return j; + } + + /** + * The transition table of the DFA + */ + private static final int [] ZZ_TRANS = zzUnpackTrans(); + + private static final String ZZ_TRANS_PACKED_0 = + "\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20"+ + "\1\21\1\22\1\11\1\23\1\24\1\15\1\25\1\26"+ + "\1\15\1\27\1\30\1\11\1\31\1\32\1\33\1\34"+ + "\1\35\1\11\1\36\1\37\1\40\1\41\1\11\1\42"+ + "\1\43\1\44\1\45\1\46\1\47\1\50\1\51\1\52"+ + "\1\11\1\53\1\11\1\54\1\11\1\55\1\56\1\57"+ + "\1\60\1\61\1\11\1\12\1\13\1\14\1\62\1\63"+ + "\1\64\1\65\1\66\1\67\1\11\1\70\1\24\1\62"+ + "\1\25\1\71\1\62\1\72\1\30\1\11\1\73\1\74"+ + "\1\33\1\75\1\35\1\11\1\36\1\76\1\40\1\41"+ + "\1\11\1\42\1\43\1\44\1\45\1\46\1\47\1\50"+ + "\1\51\1\52\1\11\1\53\1\11\1\54\1\11\1\55"+ + "\1\56\1\57\1\60\1\77\1\100\2\101\11\100\1\102"+ + "\45\100\1\103\2\101\13\103\1\104\43\103\1\105\2\106"+ + "\57\105\1\11\1\12\1\13\1\14\1\62\1\63\1\64"+ + "\1\65\1\66\1\67\1\11\1\70\1\24\1\62\1\25"+ + "\1\71\1\62\1\72\1\30\1\11\1\73\1\74\1\33"+ + "\1\75\1\35\1\11\1\36\1\107\1\40\1\41\1\11"+ + "\1\42\1\43\1\44\1\45\1\46\1\47\1\50\1\51"+ + "\1\52\1\11\1\53\1\11\1\54\1\11\1\55\1\56"+ + "\1\57\1\60\1\77\1\11\1\12\1\13\1\14\1\62"+ + "\1\63\1\64\1\65\1\66\1\67\1\11\1\70\1\24"+ + "\1\62\1\25\1\71\1\62\1\72\1\30\1\11\1\73"+ + "\1\74\1\33\1\75\1\35\1\11\1\36\1\37\1\40"+ + "\1\41\1\11\1\42\1\43\1\44\1\45\1\46\1\47"+ + "\1\50\1\51\1\52\1\11\1\53\1\11\1\54\1\11"+ + "\1\55\1\56\1\57\1\60\1\61\2\110\1\0\2\110"+ + "\1\111\2\110\1\111\1\110\2\111\3\110\1\111\1\110"+ + "\11\111\6\110\6\111\1\110\6\111\5\110\64\0\1\13"+ + "\62\0\1\112\62\0\1\15\1\113\7\0\1\15\2\0"+ + "\1\15\72\0\1\114\6\0\1\115\1\116\2\0\1\117"+ + "\7\0\1\120\12\0\1\121\11\0\1\122\2\0\1\123"+ + "\1\0\1\124\42\0\1\125\2\0\1\126\1\0\2\126"+ + "\3\0\1\127\1\0\1\126\1\130\2\126\1\131\1\126"+ + "\1\132\2\126\6\0\1\133\1\134\4\126\1\0\1\135"+ + "\5\126\21\0\1\136\1\0\1\137\3\0\1\140\16\0"+ + "\1\141\34\0\1\142\1\0\1\143\11\0\1\144\7\0"+ + "\1\145\2\0\1\146\32\0\1\147\1\0\1\150\53\0"+ + "\1\151\15\0\1\152\12\0\1\153\1\154\36\0\1\155"+ + "\5\0\1\156\12\0\1\157\4\0\1\160\33\0\1\161"+ + "\4\0\1\162\16\0\1\163\1\0\1\164\21\0\1\165"+ + "\14\0\1\166\1\0\1\167\16\0\1\170\3\0\1\171"+ + "\31\0\1\172\61\0\1\173\2\0\1\174\20\0\1\175"+ + "\1\176\22\0\1\177\2\0\1\200\13\0\1\201\3\0"+ + "\1\202\10\0\1\203\1\0\1\204\23\0\1\205\11\0"+ + "\1\206\2\0\1\207\20\0\1\210\1\0\1\211\21\0"+ + "\1\212\11\0\1\213\61\0\1\214\2\0\1\215\1\216"+ + "\15\0\1\217\10\0\1\220\35\0\1\221\11\0\1\222"+ + "\26\0\1\223\73\0\1\224\110\0\1\225\7\0\1\226"+ + "\22\0\1\227\2\0\1\230\1\231\26\0\1\232\33\0"+ + "\1\233\60\0\1\234\20\0\1\235\63\0\1\236\61\0"+ + "\1\237\61\0\1\240\12\0\1\241\4\0\1\62\1\242"+ + "\2\0\1\243\1\244\3\0\1\62\2\0\1\62\2\0"+ + "\1\245\4\0\1\246\1\247\34\0\1\250\10\0\1\250"+ + "\2\0\1\250\5\0\1\251\2\0\1\114\6\0\1\252"+ + "\1\116\2\0\1\117\7\0\1\120\11\0\1\253\10\0"+ + "\1\253\2\0\1\253\45\0\1\254\1\121\7\0\1\254"+ + "\1\0\1\122\1\254\1\0\1\123\1\0\1\124\41\0"+ + "\1\255\1\125\2\0\1\126\1\0\2\126\1\0\1\255"+ + "\1\0\1\127\1\255\1\126\1\130\2\126\1\131\1\126"+ + "\1\132\2\126\6\0\1\133\1\134\4\126\1\0\1\135"+ + "\5\126\11\0\1\254\7\0\1\136\1\254\1\137\1\0"+ + "\1\254\1\0\1\140\16\0\1\141\24\0\1\254\7\0"+ + "\1\142\1\254\1\143\1\0\1\254\7\0\1\144\7\0"+ + "\1\145\2\0\1\146\22\0\1\254\7\0\1\147\1\254"+ + "\1\150\1\0\1\254\45\0\1\254\10\0\1\254\1\0"+ + "\1\155\1\254\4\0\1\156\12\0\1\157\4\0\1\160"+ + "\20\0\1\254\10\0\1\254\1\0\1\161\1\254\3\0"+ + "\1\162\16\0\1\163\1\0\1\164\20\0\1\250\10\0"+ + "\1\250\1\0\1\172\1\250\46\0\1\256\2\0\1\256"+ + "\1\0\2\256\3\0\1\256\1\0\11\256\6\0\6\256"+ + "\1\0\6\256\4\0\1\257\35\0\1\260\10\0\1\240"+ + "\12\0\1\241\1\100\2\0\11\100\1\0\45\100\14\0"+ + "\1\261\45\0\1\103\2\0\13\103\1\0\43\103\16\0"+ + "\1\262\124\0\1\257\4\0\2\111\2\0\1\111\1\0"+ + "\2\111\1\0\1\111\1\0\14\111\5\0\6\111\1\0"+ + "\6\111\11\0\1\263\10\0\1\263\2\0\1\263\65\0"+ + "\1\264\22\0\1\265\22\0\1\266\36\0\1\267\17\0"+ + "\1\270\20\0\1\271\77\0\1\272\60\0\1\273\40\0"+ + "\1\274\2\0\1\275\13\0\1\276\63\0\1\277\65\0"+ + "\1\300\56\0\1\301\1\302\21\0\1\126\2\0\1\126"+ + "\1\303\2\126\3\0\1\126\1\0\11\126\6\0\6\126"+ + "\1\0\5\126\1\304\12\0\1\126\2\0\1\126\1\303"+ + "\2\126\3\0\1\126\1\0\11\126\6\0\6\126\1\0"+ + "\6\126\12\0\1\126\2\0\1\126\1\303\2\126\3\0"+ + "\1\126\1\0\11\126\6\0\4\126\1\305\1\126\1\0"+ + "\6\126\12\0\1\126\2\0\1\126\1\303\2\126\3\0"+ + "\1\126\1\0\11\126\6\0\1\306\5\126\1\0\6\126"+ + "\12\0\1\126\2\0\1\126\1\303\2\126\3\0\1\126"+ + "\1\0\1\126\1\307\7\126\6\0\6\126\1\0\6\126"+ + "\12\0\1\310\2\0\1\126\1\303\2\126\3\0\1\126"+ + "\1\0\11\126\6\0\6\126\1\0\1\311\5\126\12\0"+ + "\1\312\2\0\1\126\1\303\2\126\3\0\1\313\1\0"+ + "\11\126\6\0\6\126\1\0\6\126\12\0\1\314\2\0"+ + "\1\126\1\303\2\126\3\0\1\126\1\0\11\126\6\0"+ + "\6\126\1\0\1\315\5\126\12\0\1\126\2\0\1\126"+ + "\1\303\2\126\3\0\1\126\1\0\11\126\6\0\4\126"+ + "\1\316\1\126\1\0\6\126\22\0\1\317\61\0\1\320"+ + "\106\0\1\321\36\0\1\322\2\0\1\323\54\0\1\324"+ + "\2\0\1\324\56\0\1\325\2\0\1\325\46\0\1\326"+ + "\41\0\1\327\53\0\1\330\67\0\1\331\16\0\2\332"+ + "\2\0\1\332\2\0\1\332\1\0\1\332\2\0\1\332"+ + "\1\0\1\332\2\0\1\332\14\0\1\332\23\0\2\333"+ + "\2\0\1\333\2\0\1\333\1\0\1\333\2\0\1\333"+ + "\1\0\1\333\2\0\1\333\14\0\1\333\67\0\1\334"+ + "\37\0\1\335\74\0\1\336\62\0\1\337\4\0\1\340"+ + "\40\0\1\341\12\0\1\342\37\0\1\343\22\0\1\344"+ + "\4\0\1\345\4\0\1\346\35\0\1\347\75\0\1\350"+ + "\56\0\1\351\60\0\1\352\70\0\1\353\53\0\1\354"+ + "\12\0\1\355\55\0\1\356\32\0\1\357\53\0\1\360"+ + "\65\0\1\361\2\0\1\362\106\0\1\363\36\0\1\364"+ + "\1\0\1\365\43\0\1\366\32\0\1\367\1\370\30\0"+ + "\1\371\30\0\1\372\22\0\1\373\11\0\1\374\4\0"+ + "\1\375\76\0\1\376\2\0\1\377\22\0\1\u0100\101\0"+ + "\1\u0101\12\0\1\u0102\65\0\1\u0103\41\0\1\u0104\75\0"+ + "\1\u0105\52\0\1\u0106\70\0\1\u0107\66\0\1\u0108\55\0"+ + "\1\u0109\3\0\1\u010a\55\0\1\u010b\60\0\1\u010c\50\0"+ + "\1\u010d\72\0\1\u010e\4\0\1\u010f\42\0\1\u0110\12\0"+ + "\1\u0111\42\0\1\u0112\56\0\1\u0113\104\0\1\u0114\24\0"+ + "\1\u0115\100\0\1\u0116\1\u0117\56\0\1\u0118\3\0\1\u0119"+ + "\13\0\1\u011a\4\0\1\u011b\3\0\1\u011c\16\0\1\u011d"+ + "\115\0\1\u011e\22\0\1\u011f\104\0\1\u0120\71\0\1\u0121"+ + "\26\0\1\u0122\16\0\1\u0123\61\0\1\u0124\41\0\1\u0125"+ + "\1\0\2\u0126\5\0\1\u0125\2\0\1\u0125\45\0\1\u0127"+ + "\1\0\2\u0128\5\0\1\u0127\2\0\1\u0127\41\0\4\u0129"+ + "\1\255\1\u012a\2\u0129\1\243\1\u0129\2\0\1\u0129\1\255"+ + "\1\u0129\1\0\1\255\11\0\6\u0129\6\0\1\u0129\6\0"+ + "\5\u0129\4\0\1\250\4\0\1\u012b\3\0\1\250\2\0"+ + "\1\250\45\0\1\250\10\0\1\250\2\0\1\250\45\0"+ + "\1\250\3\0\1\266\4\0\1\250\2\0\1\250\26\0"+ + "\1\267\16\0\1\253\10\0\1\253\2\0\1\253\7\0"+ + "\1\246\35\0\1\254\4\0\1\u012c\3\0\1\254\2\0"+ + "\1\254\45\0\1\255\1\u012a\2\0\1\243\4\0\1\255"+ + "\2\0\1\255\50\0\1\u012d\24\0\1\u012e\1\u012f\30\0"+ + "\1\263\4\0\1\u0130\3\0\1\263\2\0\1\263\67\0"+ + "\1\u0131\20\0\1\u0132\17\0\1\u0133\64\0\1\u0134\2\0"+ + "\1\u0135\10\0\1\u0136\1\u0137\1\u0138\1\0\1\u0139\14\0"+ + "\1\u013a\1\u013b\1\u013c\3\0\1\u013d\52\0\1\u013e\62\0"+ + "\1\u013f\21\0\1\u0140\122\0\1\u0141\37\0\1\u0142\76\0"+ + "\1\u0143\42\0\1\u0144\63\0\1\u0145\50\0\1\u0146\70\0"+ + "\1\u0147\44\0\1\u0148\61\0\1\u0149\61\0\1\126\2\0"+ + "\1\126\1\u014a\2\126\3\0\1\126\1\0\11\126\6\0"+ + "\6\126\1\0\1\126\1\u014b\4\126\12\0\1\126\2\0"+ + "\1\126\1\u014c\2\126\3\0\1\126\1\0\11\126\6\0"+ + "\6\126\1\0\6\126\12\0\1\126\2\0\1\u014d\1\303"+ + "\2\126\3\0\1\126\1\0\11\126\6\0\6\126\1\0"+ + "\6\126\12\0\1\126\2\0\1\126\1\303\2\126\3\0"+ + "\1\126\1\0\11\126\6\0\1\126\1\u014e\4\126\1\0"+ + "\6\126\12\0\1\126\2\0\1\126\1\u014f\2\126\3\0"+ + "\1\126\1\0\11\126\6\0\6\126\1\0\6\126\12\0"+ + "\1\126\2\0\1\126\1\u0150\2\126\3\0\1\126\1\0"+ + "\11\126\6\0\6\126\1\0\6\126\12\0\1\126\2\0"+ + "\1\126\1\u0151\2\126\3\0\1\126\1\0\11\126\6\0"+ + "\6\126\1\0\5\126\1\u0152\12\0\1\126\2\0\1\126"+ + "\1\303\2\126\3\0\1\126\1\0\11\126\6\0\6\126"+ + "\1\0\1\u0153\5\126\12\0\1\126\2\0\1\126\1\u0154"+ + "\2\126\3\0\1\126\1\0\11\126\6\0\6\126\1\0"+ + "\6\126\12\0\1\126\2\0\1\126\1\u0155\2\126\3\0"+ + "\1\126\1\0\11\126\6\0\6\126\1\0\6\126\12\0"+ + "\1\126\2\0\1\126\1\303\2\126\3\0\1\126\1\0"+ + "\11\126\6\0\3\126\1\u0156\2\126\1\0\6\126\21\0"+ + "\1\u0157\1\317\61\0\1\320\1\u0157\114\0\1\u0158\52\0"+ + "\1\u0159\57\0\1\u015a\35\0\1\u015b\1\324\2\0\1\324"+ + "\56\0\1\325\1\u015b\1\0\1\325\101\0\1\u015c\3\0"+ + "\1\u015d\41\0\1\u015e\107\0\1\u015f\13\0\2\332\2\0"+ + "\1\332\2\0\1\332\1\u0160\1\332\2\0\1\332\1\0"+ + "\1\332\2\0\1\332\14\0\1\332\23\0\2\333\2\0"+ + "\1\333\2\0\1\333\1\0\1\333\1\u0160\1\0\1\333"+ + "\1\0\1\333\2\0\1\333\14\0\1\333\41\0\1\u0161"+ + "\63\0\1\u0162\54\0\1\u0163\47\0\1\u0164\100\0\1\u0165"+ + "\104\0\1\u0166\17\0\1\u0167\117\0\1\u0168\57\0\1\u0169"+ + "\25\0\1\u016a\36\0\1\u016b\60\0\1\u016c\57\0\1\u016d"+ + "\42\0\1\u016e\22\0\1\u016f\21\0\1\u0170\116\0\1\u0171"+ + "\65\0\1\u0172\20\0\1\u0173\117\0\1\u0174\23\0\1\u0175"+ + "\61\0\1\u0176\120\0\1\u0177\45\0\1\u0178\100\0\1\u0179"+ + "\31\0\1\u017a\102\0\1\u017b\45\0\1\u017c\103\0\1\u017d"+ + "\41\0\1\u017e\55\0\1\u017f\100\0\1\u0180\25\0\1\u0181"+ + "\116\0\1\u0182\46\0\1\u0183\12\0\1\u0184\57\0\1\u0185"+ + "\7\0\1\u0186\35\0\1\u0187\1\0\1\u0188\77\0\1\u0189"+ + "\42\0\1\203\34\0\1\u0101\1\u018a\1\u018b\57\u0101\42\0"+ + "\1\344\41\0\1\u018c\77\0\1\u0188\31\0\1\u018d\120\0"+ + "\1\u018e\17\0\1\u018f\61\0\1\u0190\115\0\1\u0191\33\0"+ + "\1\u0192\114\0\1\u0193\61\0\1\u0194\37\0\1\u0195\104\0"+ + "\1\u0196\42\0\1\u0197\14\0\1\u0198\21\0\1\u0199\115\0"+ + "\1\u019a\64\0\1\u019b\43\0\1\u019c\74\0\1\u019d\67\0"+ + "\1\u019e\31\0\1\u019f\52\0\1\u01a0\30\0\1\u01a1\63\0"+ + "\1\u01a2\57\0\1\u01a3\1\0\1\u01a4\2\0\1\u01a5\56\0"+ + "\1\u01a6\42\0\1\u01a7\100\0\1\u01a8\45\0\1\u01a9\72\0"+ + "\1\u01aa\26\0\1\u01ab\64\0\1\u01ac\115\0\1\u01ad\56\0"+ + "\1\u01ae\67\0\1\u01af\16\0\1\u0125\4\0\1\u0130\3\0"+ + "\1\u0125\2\0\1\u0125\45\0\1\u01b0\10\0\1\u01b0\2\0"+ + "\1\u01b0\45\0\1\u0127\10\0\1\u0127\2\0\1\u0127\45\0"+ + "\1\u01b0\1\0\2\u0126\5\0\1\u01b0\2\0\1\u01b0\45\0"+ + "\1\u01b1\10\0\1\u01b1\2\0\1\u01b1\45\0\1\u01b2\10\0"+ + "\1\u01b2\2\0\1\u01b2\46\0\1\u01b3\2\0\1\u01b3\1\0"+ + "\2\u01b3\3\0\1\u01b3\1\0\11\u01b3\6\0\6\u01b3\1\0"+ + "\6\u01b3\12\0\1\256\2\0\1\256\1\0\2\256\3\0"+ + "\1\256\1\0\11\256\6\0\6\256\1\0\6\256\6\0"+ + "\1\u01b4\1\u01b5\31\0\1\u01b5\1\0\1\u01b5\27\0\1\u01b6"+ + "\10\0\1\u01b6\2\0\1\u01b6\110\0\1\u01b7\56\0\1\u01b8"+ + "\34\0\1\u01b9\103\0\1\u01ba\45\0\1\u01bb\12\0\1\u01bc"+ + "\40\0\1\u01bd\4\0\1\u01be\16\0\1\u01bf\23\0\1\u01c0"+ + "\35\0\1\u01c1\62\0\1\u01c2\34\0\1\u01c3\114\0\1\u01c4"+ + "\32\0\1\u01c5\110\0\1\u01c6\14\0\1\u01c7\100\0\1\u01c8"+ + "\26\0\1\u01c9\56\0\1\u01ca\52\0\1\u01cb\63\0\1\u01cc"+ + "\63\0\1\u01cd\55\0\1\u01ce\62\0\1\u01cf\57\0\1\u01d0"+ + "\26\0\1\126\2\0\1\126\1\u01d1\2\126\3\0\1\126"+ + "\1\0\11\126\6\0\6\126\1\0\6\126\12\0\1\126"+ + "\2\0\1\126\1\u01d2\2\126\3\0\1\126\1\0\11\126"+ + "\6\0\6\126\1\0\6\126\12\0\1\126\2\0\1\126"+ + "\1\303\2\126\3\0\1\126\1\0\5\126\1\u01d3\3\126"+ + "\6\0\6\126\1\0\6\126\12\0\1\126\2\0\1\126"+ + "\1\303\2\126\3\0\1\126\1\0\11\126\6\0\6\126"+ + "\1\0\1\126\1\u01d4\4\126\12\0\1\126\2\0\1\126"+ + "\1\u01d5\2\126\3\0\1\126\1\0\11\126\6\0\6\126"+ + "\1\0\6\126\12\0\1\u01d6\2\0\1\126\1\303\2\126"+ + "\3\0\1\126\1\0\11\126\6\0\6\126\1\0\6\126"+ + "\33\0\1\u01d7\104\0\1\u01d8\61\0\1\u01d9\15\0\1\u01da"+ + "\76\0\1\u01db\56\0\1\u01dc\102\0\1\u01dd\50\0\1\u01de"+ + "\74\0\1\u01df\45\0\1\u01e0\52\0\1\u01e1\64\0\1\u01e2"+ + "\77\0\1\u01e3\70\0\1\u01e4\55\0\1\u01e5\45\0\1\u01e6"+ + "\10\0\1\u01e7\3\0\1\u01e8\41\0\1\u01e9\61\0\1\u01ea"+ + "\61\0\1\u01eb\76\0\1\u01ec\42\0\1\u01ed\23\0\1\u01ee"+ + "\61\0\1\u01ef\62\0\1\u01f0\54\0\1\u01f1\24\0\1\u01f2"+ + "\122\0\1\u01f3\32\0\1\u01f4\105\0\1\u01f5\2\0\1\u01f6"+ + "\62\0\1\u01f7\61\0\1\u01f8\17\0\1\u01f9\121\0\1\u01fa"+ + "\40\0\1\u01fb\61\0\1\u01fc\101\0\1\u01fd\22\0\1\u01fe"+ + "\123\0\1\u01ff\34\0\1\u0200\64\0\1\u0101\41\0\1\u0101"+ + "\73\0\1\u0201\44\0\1\u018b\106\0\1\u0202\37\0\1\u0187"+ + "\120\0\1\u0203\25\0\1\u0204\30\0\1\u0205\4\0\1\u0206"+ + "\37\0\1\u0207\42\0\1\u0208\116\0\1\u0209\41\0\1\u020a"+ + "\1\0\1\u020b\76\0\1\u020c\37\0\1\u020d\64\0\1\u020e"+ + "\44\0\1\u020f\61\0\1\u0210\122\0\1\u0211\57\0\1\u0212"+ + "\63\0\1\u0213\4\0\1\u0214\11\0\1\u0215\117\0\1\u0216"+ + "\66\0\1\u0217\57\0\1\u0218\61\0\1\u0219\55\0\1\u021a"+ + "\62\0\1\u021b\25\0\1\u021c\122\0\1\u021d\20\0\1\u021e"+ + "\61\0\1\u021f\61\0\1\u0220\60\0\1\u01b1\1\u012c\7\0"+ + "\1\u01b1\2\0\1\u01b1\75\0\1\u012e\1\u012f\26\0\1\u01b5"+ + "\125\0\1\u0221\53\0\1\u0222\40\0\1\u0223\111\0\1\u0224"+ + "\56\0\1\u0225\56\0\1\u0226\60\0\1\u0227\62\0\1\u0228"+ + "\33\0\1\u0229\65\0\1\u022a\52\0\1\u022b\101\0\1\u022c"+ + "\36\0\1\u022d\114\0\1\u022e\46\0\1\u022f\57\0\1\u0230"+ + "\60\0\1\u0231\56\0\1\u0232\103\0\1\u0233\66\0\1\u0234"+ + "\20\0\1\u0235\123\0\1\u0236\40\0\1\u0237\40\0\1\u0238"+ + "\2\0\1\126\1\303\2\126\3\0\1\126\1\0\11\126"+ + "\6\0\6\126\1\0\6\126\12\0\1\126\2\0\1\126"+ + "\1\u0239\2\126\3\0\1\126\1\0\11\126\6\0\6\126"+ + "\1\0\6\126\12\0\1\126\2\0\1\126\1\u023a\2\126"+ + "\3\0\1\126\1\0\11\126\6\0\6\126\1\0\6\126"+ + "\35\0\1\u023b\41\0\1\u023c\117\0\1\u023d\23\0\1\u023e"+ + "\120\0\1\u023f\52\0\1\u0240\63\0\1\u0241\57\0\1\u0242"+ + "\43\0\1\u0243\65\0\1\u0244\73\0\1\u0245\70\0\1\u0246"+ + "\41\0\1\u0247\42\0\1\u0188\56\0\1\u0248\123\0\1\u0249"+ + "\37\0\1\u024a\74\0\1\u024b\65\0\1\u024c\57\0\1\u024d"+ + "\60\0\1\u024e\67\0\1\u024f\36\0\1\u0250\104\0\1\u0251"+ + "\52\0\1\u0252\64\0\1\u0253\44\0\1\u0254\40\0\1\u0255"+ + "\100\0\1\u0256\42\0\1\u0257\116\0\1\u0258\45\0\1\u0259"+ + "\55\0\1\u025a\47\0\1\u025b\120\0\1\u025c\56\0\1\u0101"+ + "\62\0\1\u025d\21\0\1\u025e\122\0\1\u025f\37\0\1\u0260"+ + "\62\0\1\u0261\100\0\1\u0262\37\0\1\u0263\63\0\1\u0264"+ + "\75\0\1\u0265\26\0\1\u0266\114\0\1\u0267\63\0\1\u0268"+ + "\64\0\1\u0269\60\0\1\u026a\21\0\1\u026b\10\0\1\u026b"+ + "\2\0\1\u026b\110\0\1\u026c\40\0\1\u026d\73\0\1\u026e"+ + "\31\0\1\u026f\56\0\1\u0270\123\0\1\u0271\60\0\1\u0272"+ + "\35\0\1\u0273\101\0\1\u0274\24\0\1\u0275\76\0\1\u0276"+ + "\44\0\1\u0277\116\0\1\u0278\24\0\1\u0279\120\0\1\u027a"+ + "\44\0\1\u027b\75\0\1\u027c\23\0\1\u027d\120\0\1\u027e"+ + "\64\0\1\u027f\17\0\1\u0280\115\0\1\u0281\62\0\1\u0282"+ + "\66\0\1\u0283\15\0\1\u0284\24\0\1\u0285\77\0\1\u0286"+ + "\37\0\1\u0287\42\0\1\126\2\0\1\126\1\u0288\2\126"+ + "\3\0\1\126\1\0\11\126\6\0\6\126\1\0\6\126"+ + "\27\0\1\u0289\61\0\1\u028a\105\0\1\u028b\32\0\1\u028c"+ + "\64\0\1\u028d\44\0\1\u028e\121\0\1\u028f\63\0\1\u0290"+ + "\60\0\1\u0291\61\0\1\u0292\61\0\1\u0293\62\0\1\u0294"+ + "\56\0\1\u0295\37\0\1\u0296\65\0\1\u0297\40\0\1\u0298"+ + "\100\0\1\u0299\104\0\1\u029a\31\0\1\u029b\104\0\1\u029c"+ + "\61\0\1\u029d\4\0\1\u029e\61\0\1\u029f\60\0\1\u02a0"+ + "\57\0\1\u02a1\34\0\1\u02a2\111\0\1\u02a3\36\0\1\u02a4"+ + "\102\0\1\u02a5\57\0\1\u02a6\23\0\1\u02a7\76\0\1\u0101"+ + "\101\0\1\u02a8\45\0\1\u02a9\105\0\1\u02aa\55\0\1\u02ab"+ + "\54\0\1\u02ac\60\0\1\u02ad\64\0\1\u02ae\47\0\1\u02af"+ + "\77\0\1\u02b0\34\0\1\u02b1\63\0\1\u02b2\61\0\1\u02b3"+ + "\76\0\1\u02b4\71\0\1\u02b5\54\0\1\u02b6\56\0\1\u02b7"+ + "\67\0\1\u02b8\54\0\1\u02b9\36\0\1\u02ba\106\0\1\u02bb"+ + "\56\0\1\u02bc\25\0\1\u02bd\76\0\1\u02be\103\0\1\u02bf"+ + "\22\0\1\u02c0\76\0\1\u02c1\43\0\1\u02c2\10\0\1\u02c2"+ + "\2\0\1\u02c2\105\0\1\u02c3\34\0\1\u02c4\104\0\1\u02c5"+ + "\66\0\1\u02c6\56\0\1\u02c7\56\0\1\u02c8\66\0\1\u02c9"+ + "\20\0\1\u02ca\61\0\1\u02cb\14\0\1\u02cc\62\0\1\u02cd"+ + "\41\0\1\u02ce\120\0\1\u02cf\43\0\1\u02d0\104\0\1\u02d1"+ + "\17\0\1\u02d2\114\0\1\u02d3\43\0\1\u02d4\44\0\1\u02d5"+ + "\100\0\1\u02d6\61\0\1\u02d7\75\0\1\u02d8\26\0\1\u02d9"+ + "\73\0\1\u02da\106\0\1\u02db\63\0\1\u02dc\62\0\1\u02dd"+ + "\15\0\1\u02de\104\0\1\u02df\40\0\1\u02e0\57\0\1\u02e1"+ + "\63\0\1\u02e2\123\0\1\u02e3\61\0\1\u02e4\62\0\1\u02e5"+ + "\21\0\1\u02e6\76\0\1\u02e7\75\0\1\u02e8\44\0\1\u02e9"+ + "\104\0\1\u02ea\55\0\1\u02eb\40\0\1\u02ec\44\0\1\u02ed"+ + "\115\0\1\u02ee\25\0\1\u02ef\114\0\1\u02f0\70\0\1\u02f1"+ + "\17\0\1\u02f2\114\0\1\u02f3\26\0\1\u02f4\76\0\1\u02f5"+ + "\77\0\1\u02f6\34\0\1\u02f7\114\0\1\u02f8\17\0\1\u02f9"+ + "\10\0\1\u02f9\2\0\1\u02f9\46\0\1\u02fa\116\0\1\u02fb"+ + "\27\0\1\u02fc\77\0\1\u02fd\55\0\1\u02fe\77\0\1\u02ff"+ + "\67\0\1\u0300\57\0\1\u0301\55\0\1\u0302\26\0\1\u0303"+ + "\60\0\1\u0304\10\0\1\u0304\2\0\1\u0304\45\0\1\u0305"+ + "\10\0\1\u0305\2\0\1\u0305\105\0\1\u0306\64\0\1\u0307"+ + "\17\0\1\u0308\61\0\1\u0309\76\0\1\u030a\61\0\1\u030b"+ + "\56\0\1\u030c\111\0\1\u030d\57\0\1\u030e\56\0\1\u030f"+ + "\24\0\1\u0310\116\0\1\u0311\66\0\1\u0312\53\0\1\u0313"+ + "\66\0\1\u0314\20\0\1\u0315\115\0\1\u0316\25\0\1\u0317"+ + "\57\0\1\u0318\63\0\1\u0319\122\0\1\u031a\62\0\1\u031b"+ + "\54\0\1\u031c\57\0\1\u031d\45\0\1\u031e\42\0\1\u031f"+ + "\100\0\1\u0320\42\0\1\u0321\122\0\1\u0322\17\0\1\u0323"+ + "\10\0\1\u0323\2\0\1\u0323\51\0\1\u0324\73\0\1\u0325"+ + "\44\0\1\u0326\114\0\1\u0327\47\0\1\u0328\101\0\1\u0329"+ + "\20\0\1\u032a\100\0\1\u032b\54\0\1\u032c\102\0\1\u032d"+ + "\24\0\1\u032e\62\0\1\u032f\10\0\1\u032f\2\0\1\u032f"+ + "\41\0"; + + private static int [] zzUnpackTrans() { + int [] result = new int[31900]; + int offset = 0; + offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result); + return result; + } + + private static int zzUnpackTrans(String packed, int offset, int [] result) { + int i = 0; /* index in packed string */ + int j = offset; /* index in unpacked array */ + int l = packed.length(); + while (i < l) { + int count = packed.charAt(i++); + int value = packed.charAt(i++); + value--; + do result[j++] = value; while (--count > 0); + } + return j; + } + + + /* error codes */ + private static final int ZZ_UNKNOWN_ERROR = 0; + private static final int ZZ_NO_MATCH = 1; + private static final int ZZ_PUSHBACK_2BIG = 2; + + /* error messages for the codes above */ + private static final String ZZ_ERROR_MSG[] = { + "Unkown internal scanner error", + "Error: could not match input", + "Error: pushback value was too large" + }; + + /** + * ZZ_ATTRIBUTE[aState] contains the attributes of state <code>aState</code> + */ + private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); + + private static final String ZZ_ATTRIBUTE_PACKED_0 = + "\10\0\1\11\1\1\1\11\3\1\2\11\3\1\2\11"+ + "\10\1\4\11\13\1\1\11\2\1\1\11\20\1\1\11"+ + "\3\1\2\11\1\1\1\11\1\1\1\11\7\0\1\1"+ + "\33\0\1\11\1\1\12\0\1\1\32\0\3\11\6\0"+ + "\4\11\2\0\1\2\3\11\5\0\1\1\1\0\4\11"+ + "\3\0\1\1\14\0\1\11\25\0\1\11\73\0\1\11"+ + "\17\0\1\1\1\0\1\1\1\0\1\15\5\0\1\2"+ + "\2\0\1\11\10\0\1\11\4\0\1\1\1\11\5\0"+ + "\1\11\2\0\1\11\1\0\1\11\2\0\3\11\2\0"+ + "\2\11\1\0\1\11\3\0\1\11\1\1\2\0\2\11"+ + "\17\0\1\1\1\0\1\11\2\0\1\11\2\0\1\11"+ + "\1\0\1\11\2\0\1\11\3\0\1\11\10\0\1\1"+ + "\1\11\3\0\1\11\1\0\1\1\1\0\2\11\4\0"+ + "\2\11\5\0\2\1\3\0\1\11\4\0\2\11\4\0"+ + "\3\1\1\0\1\5\1\15\1\1\2\0\1\11\1\0"+ + "\1\11\12\0\1\11\12\0\2\11\2\0\1\11\2\0"+ + "\1\1\13\0\1\11\11\0\2\11\3\0\1\11\2\0"+ + "\1\11\2\0\1\11\5\0\1\11\6\0\1\11\10\0"+ + "\3\11\1\0\1\11\3\0\1\11\5\0\3\11\1\1"+ + "\1\11\15\0\1\11\4\0\1\11\1\1\3\0\2\11"+ + "\2\0\1\11\13\0\1\11\4\0\1\11\1\1\1\0"+ + "\1\1\6\0\1\11\6\0\1\11\7\0\1\11\3\0"+ + "\1\1\1\11\1\0\5\11\4\0\1\11\5\0\1\11"+ + "\5\0\1\11\2\0\1\11\1\0\1\11\2\0\1\11"+ + "\5\0\3\11\1\0\1\1\2\0\1\11\7\0\2\11"+ + "\3\0\1\11\1\0\1\11\2\0\2\11\1\1\2\0"+ + "\1\1\4\0\1\11\1\1\7\0\1\11\4\0\1\1"+ + "\4\0\3\11\1\0\1\11\5\0\1\11\1\0\1\11"+ + "\1\0\1\11\6\0\2\11\1\0\2\11\7\0\1\11"+ + "\1\0\1\11\2\0\3\11\3\0\3\11\2\0\1\11"+ + "\1\1\2\11\4\0\4\11\3\1\2\0\1\11\4\0"+ + "\1\11\1\0\1\11\1\0\1\11\1\0\2\11\1\0"+ + "\1\11\2\0\1\11\2\0\1\11\1\0\1\11\1\0"+ + "\2\11\1\1\1\0\2\11\2\0\2\11\2\0\1\1"+ + "\1\0\1\1"; + + private static int [] zzUnpackAttribute() { + int [] result = new int[815]; + int offset = 0; + offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); + return result; + } + + private static int zzUnpackAttribute(String packed, int offset, int [] result) { + int i = 0; /* index in packed string */ + int j = offset; /* index in unpacked array */ + int l = packed.length(); + while (i < l) { + int count = packed.charAt(i++); + int value = packed.charAt(i++); + do result[j++] = value; while (--count > 0); + } + return j; + } + + /** the input device */ + private java.io.Reader zzReader; + + /** the current state of the DFA */ + private int zzState; + + /** the current lexical state */ + private int zzLexicalState = YYINITIAL; + + /** this buffer contains the current text to be matched and is + the source of the yytext() string */ + private char zzBuffer[] = new char[ZZ_BUFFERSIZE]; + + /** the textposition at the last accepting state */ + private int zzMarkedPos; + + /** the textposition at the last state to be included in yytext */ + private int zzPushbackPos; + + /** the current text position in the buffer */ + private int zzCurrentPos; + + /** startRead marks the beginning of the yytext() string in the buffer */ + private int zzStartRead; + + /** endRead marks the last character in the buffer, that has been read + from input */ + private int zzEndRead; + + /** number of newlines encountered up to the start of the matched text */ + private int yyline; + + /** the number of characters up to the start of the matched text */ + private int yychar; + + /** + * the number of characters from the last newline up to the start of the + * matched text + */ + private int yycolumn; + + /** + * zzAtBOL == true <=> the scanner is currently at the beginning of a line + */ + private boolean zzAtBOL = true; + + /** zzAtEOF == true <=> the scanner is at the EOF */ + private boolean zzAtEOF; + + /* user code: */ + private FixedFormLexerPrepass prepass; + + public FixedFormLexerPhase1(InputStream in, FixedFormLexerPrepass _prepass) { + this(in); + prepass=_prepass; + } + + //unset start of line state + private void unsetSOL() { + if (yystate()==YYINITIAL) yybegin(YYSTANDARD); + } + + public int getLine() { + return prepass.getLine(yychar); + } + public int getCol() { + return prepass.getColumn(yychar); + } + + private Token token(Terminal terminal) + { + Token t = new Token(); + t.setTerminal(terminal); + t.setFilename(this.filename); + t.setOffset(prepass.getOffset(yychar)); + t.setLength(prepass.getOffset(yychar+yylength()-1)-prepass.getOffset(yychar)+1); + t.setText(terminal == Terminal.T_SCON || terminal == Terminal.T_HCON + ? stringBuffer.toString() + : yytext()); + t.setStartLine(prepass.getLine(yychar)+1); + t.setStartCol(prepass.getColumn(yychar)+1); + t.setEndLine(prepass.getLine(yychar+yylength()-1)+1); + t.setEndCol(prepass.getColumn(yychar+yylength()-1)+1); + + return t; + } + + private StringBuffer stringBuffer = null; + private int hollerithLength = 0; + + private boolean wantEos = false; + + private String filename = "<stdin>"; + public void setFilename(String fn) + { + filename = fn; + } + + private List/*<NonTreeToken>*/ nonTreeTokens = new LinkedList(); + public List/*<NonTreeToken>*/ getNonTreeTokens() + { + return nonTreeTokens; + } + + private void storeNonTreeToken() + { + nonTreeTokens.add(new NonTreeToken(this.filename, + prepass.getOffset(yychar), // int offset + prepass.getLine(yychar)+1, // int row + prepass.getColumn(yychar)+1, // int col + yytext())); + } + + + /** + * Creates a new scanner + * There is also a java.io.InputStream version of this constructor. + * + * @param in the java.io.Reader to read input from. + */ + FixedFormLexerPhase1(java.io.Reader in) { + this.zzReader = in; + } + + /** + * Creates a new scanner. + * There is also java.io.Reader version of this constructor. + * + * @param in the java.io.Inputstream to read input from. + */ + FixedFormLexerPhase1(java.io.InputStream in) { + this(new java.io.InputStreamReader(in)); + } + + + /** + * Refills the input buffer. + * + * @return <code>false</code>, iff there was new input. + * + * @exception java.io.IOException if any I/O-Error occurs + */ + private boolean zzRefill() throws java.io.IOException { + + /* first: make room (if you can) */ + if (zzStartRead > 0) { + System.arraycopy(zzBuffer, zzStartRead, + zzBuffer, 0, + zzEndRead-zzStartRead); + + /* translate stored positions */ + zzEndRead-= zzStartRead; + zzCurrentPos-= zzStartRead; + zzMarkedPos-= zzStartRead; + zzPushbackPos-= zzStartRead; + zzStartRead = 0; + } + + /* is the buffer big enough? */ + if (zzCurrentPos >= zzBuffer.length) { + /* if not: blow it up */ + char newBuffer[] = new char[zzCurrentPos*2]; + System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length); + zzBuffer = newBuffer; + } + + /* finally: fill the buffer with new input */ + int numRead = zzReader.read(zzBuffer, zzEndRead, + zzBuffer.length-zzEndRead); + + if (numRead < 0) { + return true; + } + else { + zzEndRead+= numRead; + return false; + } + } + + + /** + * Closes the input stream. + */ + public final void yyclose() throws java.io.IOException { + zzAtEOF = true; /* indicate end of file */ + zzEndRead = zzStartRead; /* invalidate buffer */ + + if (zzReader != null) + zzReader.close(); + } + + + /** + * Resets the scanner to read from a new input stream. + * Does not close the old reader. + * + * All internal variables are reset, the old input stream + * <b>cannot</b> be reused (internal buffer is discarded and lost). + * Lexical state is set to <tt>ZZ_INITIAL</tt>. + * + * @param reader the new input stream + */ + public final void yyreset(java.io.Reader reader) { + zzReader = reader; + zzAtBOL = true; + zzAtEOF = false; + zzEndRead = zzStartRead = 0; + zzCurrentPos = zzMarkedPos = zzPushbackPos = 0; + yyline = yychar = yycolumn = 0; + zzLexicalState = YYINITIAL; + } + + + /** + * Returns the current lexical state. + */ + public final int yystate() { + return zzLexicalState; + } + + + /** + * Enters a new lexical state + * + * @param newState the new lexical state + */ + public final void yybegin(int newState) { + zzLexicalState = newState; + } + + + /** + * Returns the text matched by the current regular expression. + */ + public final String yytext() { + return new String( zzBuffer, zzStartRead, zzMarkedPos-zzStartRead ); + } + + + /** + * Returns the character at position <tt>pos</tt> from the + * matched text. + * + * It is equivalent to yytext().charAt(pos), but faster + * + * @param pos the position of the character to fetch. + * A value from 0 to yylength()-1. + * + * @return the character at position pos + */ + public final char yycharat(int pos) { + return zzBuffer[zzStartRead+pos]; + } + + + /** + * Returns the length of the matched text region. + */ + public final int yylength() { + return zzMarkedPos-zzStartRead; + } + + + /** + * Reports an error that occured while scanning. + * + * In a wellformed scanner (no or only correct usage of + * yypushback(int) and a match-all fallback rule) this method + * will only be called with things that "Can't Possibly Happen". + * If this method is called, something is seriously wrong + * (e.g. a JFlex bug producing a faulty scanner etc.). + * + * Usual syntax/scanner level error handling should be done + * in error fallback rules. + * + * @param errorCode the code of the errormessage to display + */ + private void zzScanError(int errorCode) { + String message; + try { + message = ZZ_ERROR_MSG[errorCode]; + } + catch (ArrayIndexOutOfBoundsException e) { + message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; + } + + throw new Error(message); + } + + + /** + * Pushes the specified amount of characters back into the input stream. + * + * They will be read again by then next call of the scanning method + * + * @param number the number of characters to be read again. + * This number must not be greater than yylength()! + */ + public void yypushback(int number) { + if ( number > yylength() ) + zzScanError(ZZ_PUSHBACK_2BIG); + + zzMarkedPos -= number; + } + + + /** + * Resumes scanning until the next regular expression is matched, + * the end of input is encountered or an I/O-Error occurs. + * + * @return the next token + * @exception java.io.IOException if any I/O-Error occurs + */ + public Token yylex() throws java.io.IOException, Exception { + int zzInput; + int zzAction; + + // cached fields: + int zzCurrentPosL; + int zzMarkedPosL; + int zzEndReadL = zzEndRead; + char [] zzBufferL = zzBuffer; + char [] zzCMapL = ZZ_CMAP; + + int [] zzTransL = ZZ_TRANS; + int [] zzRowMapL = ZZ_ROWMAP; + int [] zzAttrL = ZZ_ATTRIBUTE; + int zzPushbackPosL = zzPushbackPos = -1; + boolean zzWasPushback; + + while (true) { + zzMarkedPosL = zzMarkedPos; + + yychar+= zzMarkedPosL-zzStartRead; + + boolean zzR = false; + for (zzCurrentPosL = zzStartRead; zzCurrentPosL < zzMarkedPosL; + zzCurrentPosL++) { + switch (zzBufferL[zzCurrentPosL]) { + case '\u000B': + case '\u000C': + case '\u0085': + case '\u2028': + case '\u2029': + yyline++; + yycolumn = 0; + zzR = false; + break; + case '\r': + yyline++; + yycolumn = 0; + zzR = true; + break; + case '\n': + if (zzR) + zzR = false; + else { + yyline++; + yycolumn = 0; + } + break; + default: + zzR = false; + yycolumn++; + } + } + + if (zzR) { + // peek one character ahead if it is \n (if we have counted one line too much) + boolean zzPeek; + if (zzMarkedPosL < zzEndReadL) + zzPeek = zzBufferL[zzMarkedPosL] == '\n'; + else if (zzAtEOF) + zzPeek = false; + else { + boolean eof = zzRefill(); + zzEndReadL = zzEndRead; + zzMarkedPosL = zzMarkedPos; + zzBufferL = zzBuffer; + if (eof) + zzPeek = false; + else + zzPeek = zzBufferL[zzMarkedPosL] == '\n'; + } + if (zzPeek) yyline--; + } + zzAction = -1; + + zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; + + zzState = zzLexicalState; + + zzWasPushback = false; + + zzForAction: { + while (true) { + + if (zzCurrentPosL < zzEndReadL) + zzInput = zzBufferL[zzCurrentPosL++]; + else if (zzAtEOF) { + zzInput = YYEOF; + break zzForAction; + } + else { + // store back cached positions + zzCurrentPos = zzCurrentPosL; + zzMarkedPos = zzMarkedPosL; + zzPushbackPos = zzPushbackPosL; + boolean eof = zzRefill(); + // get translated positions and possibly new buffer + zzCurrentPosL = zzCurrentPos; + zzMarkedPosL = zzMarkedPos; + zzBufferL = zzBuffer; + zzEndReadL = zzEndRead; + zzPushbackPosL = zzPushbackPos; + if (eof) { + zzInput = YYEOF; + break zzForAction; + } + else { + zzInput = zzBufferL[zzCurrentPosL++]; + } + } + int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; + if (zzNext == -1) break zzForAction; + zzState = zzNext; + + int zzAttributes = zzAttrL[zzState]; + if ( (zzAttributes & 2) == 2 ) + zzPushbackPosL = zzCurrentPosL; + + if ( (zzAttributes & 1) == 1 ) { + zzWasPushback = (zzAttributes & 4) == 4; + zzAction = zzState; + zzMarkedPosL = zzCurrentPosL; + if ( (zzAttributes & 8) == 8 ) break zzForAction; + } + + } + } + + // store back cached position + zzMarkedPos = zzMarkedPosL; + if (zzWasPushback) + zzMarkedPos = zzPushbackPosL; + + switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { + case 47: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_END); + } + case 200: break; + case 98: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_FORMEQ); + } + case 201: break; + case 174: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_BLOCKDATA); + } + case 202: break; + case 71: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_SAVE); + } + case 203: break; + case 146: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_POINTER); + } + case 204: break; + case 20: + { throw new Exception("Lexer Error (line " + (getLine()+1) + ", col " + (getCol()+1) + "): String literal spans multiple lines without continuation"); + } + case 205: break; + case 86: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_THEN); + } + case 206: break; + case 108: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_READEQ); + } + case 207: break; + case 76: + { storeNonTreeToken(); + } + case 208: break; + case 137: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_DIRECTEQ); + } + case 209: break; + case 77: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_NONE); + } + case 210: break; + case 177: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_INTRINSIC); + } + case 211: break; + case 55: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_ERREQ); + } + case 212: break; + case 50: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_USE); + } + case 213: break; + case 94: + { wantEos = true; unsetSOL(); return token(Terminal.T_AND); + } + case 214: break; + case 125: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_PUBLIC); + } + case 215: break; + case 10: + { wantEos = true; unsetSOL(); return token(Terminal.T_LPAREN); + } + case 216: break; + case 22: + { stringBuffer.append('\"'); + yybegin(YYSTANDARD); + wantEos = true; + return token(Terminal.T_SCON); + } + case 217: break; + case 24: + { throw new Exception("Lexer Error (line " + (getLine()+1) + ", col " + (getCol()+1) + "): Hollerith literal spans multiple lines without continuation"); + } + case 218: break; + case 152: + { wantEos = true; unsetSOL(); ; return token(Terminal.T_COMPLEX); + } + case 219: break; + case 136: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_DEFAULT); + } + case 220: break; + case 51: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_RCON); + } + case 221: break; + case 195: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_ENDBLOCKDATA); + } + case 222: break; + case 23: + { hollerithLength--; + stringBuffer.append(yytext()); + if (hollerithLength==0) { + yybegin(YYSTANDARD); + wantEos = true; + return token(Terminal.T_HCON); + } + } + case 223: break; + case 28: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_DO); + } + case 224: break; + case 96: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_BLOCK); + } + case 225: break; + case 18: + { wantEos = true; unsetSOL(); return token(Terminal.T_SLASH); + } + case 226: break; + case 121: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_INTENT); + } + case 227: break; + case 2: + { yybegin(YYINITIAL); boolean b = wantEos; wantEos = false; if (b) return token(Terminal.T_EOS); + } + case 228: break; + case 3: + { wantEos = true; unsetSOL(); return token(Terminal.T_ASTERISK); + } + case 229: break; + case 156: + { wantEos = true; yybegin(OPERATORorFORMAT); return token(Terminal.T_OPERATOR); + } + case 230: break; + case 141: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_ACTIONEQ); + } + case 231: break; + case 82: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_CALL); + } + case 232: break; + case 161: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_FUNCTION); + } + case 233: break; + case 175: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_IOLENGTHEQ); + } + case 234: break; + case 8: + { stringBuffer = new StringBuffer(); + stringBuffer.append('\"'); + yybegin(DBLQUOTED); + } + case 235: break; + case 11: + { wantEos = true; unsetSOL(); return token(Terminal.T_COMMA); + } + case 236: break; + case 59: + { wantEos = true; unsetSOL(); return token(Terminal.T_GE); + } + case 237: break; + case 166: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_CONTINUE); + } + case 238: break; + case 17: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_PERCENT); + } + case 239: break; + case 46: + { stringBuffer.append('\"'); + } + case 240: break; + case 80: + { wantEos = true; unsetSOL(); return token(Terminal.T_LENEQ); + } + case 241: break; + case 4: + { wantEos = true; unsetSOL(); return token(Terminal.T_ICON); + } + case 242: break; + case 182: + { wantEos = true; unsetSOL(); ; return token(Terminal.T_CHARACTER); + } + case 243: break; + case 92: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_ENTRY); + } + case 244: break; + case 1: + { yypushback(1); + int state=yystate(); + yybegin(IDENT); + Token token = yylex(); + yybegin(state); + return token; + } + case 245: break; + case 191: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_ENDFUNCTION); + } + case 246: break; + case 70: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_FMTEQ); + } + case 247: break; + case 151: + { wantEos = true; unsetSOL(); return token(Terminal.T_LOGICAL); + } + case 248: break; + case 5: + { wantEos = true; unsetSOL(); return token(Terminal.T_PLUS); + } + case 249: break; + case 160: + { wantEos = true; yybegin(IMPLICIT); return token(Terminal.T_IMPLICIT); + } + case 250: break; + case 81: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_CASE); + } + case 251: break; + case 69: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_FILE); + } + case 252: break; + case 37: + { wantEos = true; unsetSOL(); return token(Terminal.T_SLASHEQ); + } + case 253: break; + case 116: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_DELIMEQ); + } + case 254: break; + case 62: + { wantEos = true; unsetSOL(); return token(Terminal.T_LE); + } + case 255: break; + case 148: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_PRIVATE); + } + case 256: break; + case 45: + { stringBuffer.append('\''); + } + case 257: break; + case 25: + { throw new Exception("Lexer Error (line " + (getLine()+1) + ", col " + (getCol()+1) + "): Unexpected character " + yytext()); + } + case 258: break; + case 112: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_WHILE); + } + case 259: break; + case 58: + { wantEos = true; unsetSOL(); return token(Terminal.T_OR); + } + case 260: break; + case 171: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_ELSEWHERE); + } + case 261: break; + case 118: + { wantEos = true; unsetSOL(); return token(Terminal.T_NEQV); + } + case 262: break; + case 117: + { wantEos = true; unsetSOL(); ; return token(Terminal.T_DOUBLE); + } + case 263: break; + case 109: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_RECLEQ); + } + case 264: break; + case 147: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_PROGRAM); + } + case 265: break; + case 38: + { wantEos = true; unsetSOL(); return token(Terminal.T_SLASHSLASH); + } + case 266: break; + case 143: + { wantEos = true; unsetSOL(); return token(Terminal.T_INTEGER); + } + case 267: break; + case 107: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_UNITEQ); + } + case 268: break; + case 79: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_NMLEQ); + } + case 269: break; + case 13: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_EQUALS); + } + case 270: break; + case 179: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_PARAMETER); + } + case 271: break; + case 184: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_ENDPROGRAM); + } + case 272: break; + case 190: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_READWRITEEQ); + } + case 273: break; + case 139: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_OPENEDEQ); + } + case 274: break; + case 27: + { wantEos = true; unsetSOL(); return token(Terminal.T_POW); + } + case 275: break; + case 100: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_SIZEEQ); + } + case 276: break; + case 64: + { wantEos = true; unsetSOL(); return token(Terminal.T_BCON); + } + case 277: break; + case 169: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_ENDMODULE); + } + case 278: break; + case 168: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_ENDSELECT); + } + case 279: break; + case 39: + { stringBuffer = new StringBuffer(); + String text = yytext(); + stringBuffer.append(text); + hollerithLength=Integer.parseInt(text.substring(0,text.length()-1)); + if (hollerithLength==0) throw new Exception("Lexer Error (line " + (getLine()+1) + ", col " + (getCol()+1) + "): Invalid length of hollerith literal: 0"); + yybegin(HOLLERITH); + } + case 280: break; + case 16: + { wantEos = true; unsetSOL(); return token(Terminal.T_LESSTHAN); + } + case 281: break; + case 163: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_NEXTRECEQ); + } + case 282: break; + case 159: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_ALLOCATE); + } + case 283: break; + case 74: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_PADEQ); + } + case 284: break; + case 149: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_NULLIFY); + } + case 285: break; + case 93: + { wantEos = true; unsetSOL(); return token(Terminal.T_EQV); + } + case 286: break; + case 135: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_ENDTYPE); + } + case 287: break; + case 157: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_OPTIONAL); + } + case 288: break; + case 162: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_SEQUENCE); + } + case 289: break; + case 91: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_ENDIF); + } + case 290: break; + case 73: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_GOTO); + } + case 291: break; + case 134: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_ENDFILE); + } + case 292: break; + case 122: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_FORALL); + } + case 293: break; + case 52: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_EXIT); + } + case 294: break; + case 187: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_FORMATTEDEQ); + } + case 295: break; + case 95: + { wantEos = true; unsetSOL(); return token(Terminal.T_NOT); + } + case 296: break; + case 42: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_DCON); + } + case 297: break; + case 180: + { wantEos = true; unsetSOL(); return token(Terminal.T_PRECISION); + } + case 298: break; + case 66: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_OPEN); + } + case 299: break; + case 101: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_STATEQ); + } + case 300: break; + case 26: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_IDENT); + } + case 301: break; + case 129: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_RETURN); + } + case 302: break; + case 36: + { wantEos = true; unsetSOL(); return token(Terminal.T_LESSTHANEQ); + } + case 303: break; + case 188: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_SELECTCASE); + } + case 304: break; + case 186: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_ASSIGNMENT); + } + case 305: break; + case 32: + { wantEos = true; unsetSOL(); return token(Terminal.T_EQEQ); + } + case 306: break; + case 60: + { wantEos = true; unsetSOL(); return token(Terminal.T_GT); + } + case 307: break; + case 72: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_STOP); + } + case 308: break; + case 133: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_WRITEEQ); + } + case 309: break; + case 123: + { wantEos = true; yybegin(OPERATORorFORMAT); return token(Terminal.T_FORMAT); + } + case 310: break; + case 49: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_OUT); + } + case 311: break; + case 127: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_COMMON); + } + case 312: break; + case 105: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_CLOSE); + } + case 313: break; + case 34: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_TO); + } + case 314: break; + case 145: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_STATUSEQ); + } + case 315: break; + case 40: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_PCON); + } + case 316: break; + case 19: + { stringBuffer.append( yytext() ); + } + case 317: break; + case 155: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_ENDWHERE); + } + case 318: break; + case 89: + { wantEos = true; return token(Terminal.T_XIMPL); + } + case 319: break; + case 9: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_UNDERSCORE); + } + case 320: break; + case 83: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_READ); + } + case 321: break; + case 113: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_WRITE); + } + case 322: break; + case 68: + { wantEos = true; unsetSOL(); return token(Terminal.T_ZCON); + } + case 323: break; + case 193: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_ALLOCATABLE); + } + case 324: break; + case 6: + { wantEos = true; unsetSOL(); return token(Terminal.T_MINUS); + } + case 325: break; + case 170: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_ELEMENTAL); + } + case 326: break; + case 189: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_SUBROUTINE); + } + case 327: break; + case 173: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_BACKSPACE); + } + case 328: break; + case 35: + { wantEos = true; unsetSOL(); return token(Terminal.T_GREATERTHANEQ); + } + case 329: break; + case 63: + { wantEos = true; unsetSOL(); return token(Terminal.T_LT); + } + case 330: break; + case 57: + { wantEos = true; unsetSOL(); return token(Terminal.T_EQ); + } + case 331: break; + case 87: + { wantEos = true; unsetSOL(); return token(Terminal.T_TYPE); + } + case 332: break; + case 144: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_INQUIRE); + } + case 333: break; + case 176: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_INTERFACE); + } + case 334: break; + case 54: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_ELSE); + } + case 335: break; + case 41: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_XCON); + } + case 336: break; + case 150: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_NUMBEREQ); + } + case 337: break; + case 110: + { wantEos = true; unsetSOL(); return token(Terminal.T_KINDEQ); + } + case 338: break; + case 197: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_UNFORMATTEDEQ); + } + case 339: break; + case 85: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_RECEQ); + } + case 340: break; + case 172: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_DIMENSION); + } + case 341: break; + case 61: + { wantEos = true; unsetSOL(); return token(Terminal.T_NE); + } + case 342: break; + case 43: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_LPARENSLASH); + } + case 343: break; + case 199: + { wantEos = true; unsetSOL(); ; return token(Terminal.T_DOUBLEPRECISION); + } + case 344: break; + case 30: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_IN); + } + case 345: break; + case 119: + { wantEos = true; unsetSOL(); return token(Terminal.T_TRUE); + } + case 346: break; + case 111: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_WHERE); + } + case 347: break; + case 140: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_ACCESSEQ); + } + case 348: break; + case 178: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_POSITIONEQ); + } + case 349: break; + case 21: + { stringBuffer.append('\''); + yybegin(YYSTANDARD); + wantEos = true; + return token(Terminal.T_SCON); + } + case 350: break; + case 196: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_ENDINTERFACE); + } + case 351: break; + case 14: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_COLON); + } + case 352: break; + case 75: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_PURE); + } + case 353: break; + case 181: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_PROCEDURE); + } + case 354: break; + case 7: + { stringBuffer = new StringBuffer(); + stringBuffer.append('\''); + yybegin(QUOTED); + } + case 355: break; + case 56: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_DATA); + } + case 356: break; + case 132: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_TARGET); + } + case 357: break; + case 31: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_GO); + } + case 358: break; + case 65: + { wantEos = true; unsetSOL(); return token(Terminal.T_OCON); + } + case 359: break; + case 115: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_ELSEIF); + } + case 360: break; + case 104: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_NAMEEQ); + } + case 361: break; + case 102: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_PAUSE); + } + case 362: break; + case 29: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_IF); + } + case 363: break; + case 90: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_ENDDO); + } + case 364: break; + case 97: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_INOUT); + } + case 365: break; + case 48: + { wantEos = true; unsetSOL(); return token(Terminal.T_XDOP); + } + case 366: break; + case 78: + { wantEos = true; unsetSOL(); return token(Terminal.T_NULL); + } + case 367: break; + case 106: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_CYCLE); + } + case 368: break; + case 120: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_BLANKEQ); + } + case 369: break; + case 103: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_PRINT); + } + case 370: break; + case 185: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_DEALLOCATE); + } + case 371: break; + case 164: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_NAMELIST); + } + case 372: break; + case 126: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_NAMEDEQ); + } + case 373: break; + case 44: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_SLASHRPAREN); + } + case 374: break; + case 153: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_EXTERNAL); + } + case 375: break; + case 12: + { wantEos = true; unsetSOL(); return token(Terminal.T_RPAREN); + } + case 376: break; + case 165: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_CONTAINS); + } + case 377: break; + case 130: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_REWIND); + } + case 378: break; + case 128: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_RESULT); + } + case 379: break; + case 99: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_FILEEQ); + } + case 380: break; + case 194: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_SEQUENTIALEQ); + } + case 381: break; + case 183: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_RECURSIVE); + } + case 382: break; + case 198: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_ENDSUBROUTINE); + } + case 383: break; + case 33: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_EQGREATERTHAN); + } + case 384: break; + case 192: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_EQUIVALENCE); + } + case 385: break; + case 124: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_SELECT); + } + case 386: break; + case 131: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_MODULE); + } + case 387: break; + case 167: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_ENDFORALL); + } + case 388: break; + case 84: + { wantEos = true; unsetSOL(); return token(Terminal.T_REAL); + } + case 389: break; + case 138: + { wantEos = true; unsetSOL(); return token(Terminal.T_FALSE); + } + case 390: break; + case 67: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_ONLY); + } + case 391: break; + case 53: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_ENDEQ); + } + case 392: break; + case 15: + { wantEos = true; unsetSOL(); return token(Terminal.T_GREATERTHAN); + } + case 393: break; + case 142: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_IOSTATEQ); + } + case 394: break; + case 158: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_ADVANCEEQ); + } + case 395: break; + case 154: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_ENDBLOCK); + } + case 396: break; + case 88: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_FCON); + } + case 397: break; + case 114: + { wantEos = true; yybegin(YYSTANDARD); return token(Terminal.T_EXISTEQ); + } + case 398: break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + switch (zzLexicalState) { + case OPERATORorFORMAT: { + wantEos = false; yybegin(YYSTANDARD); return token(Terminal.END_OF_INPUT); + } + case 816: break; + case DBLQUOTED: { + throw new Exception("Lexer Error (line " + (getLine()+1) + ", col " + (getCol()+1) + "): End of file encountered before string literal terminated"); + } + case 817: break; + case QUOTED: { + throw new Exception("Lexer Error (line " + (getLine()+1) + ", col " + (getCol()+1) + "): End of file encountered before string literal terminated"); + } + case 818: break; + case YYINITIAL: { + wantEos = false; yybegin(YYSTANDARD); return token(Terminal.END_OF_INPUT); + } + case 819: break; + case HOLLERITH: { + throw new Exception("Lexer Error (line " + (getLine()+1) + ", col " + (getCol()+1) + "): End of file encountered before hollerith literal terminated"); + } + case 820: break; + case YYSTANDARD: { + wantEos = false; yybegin(YYSTANDARD); return token(Terminal.END_OF_INPUT); + } + case 821: break; + case IMPLICIT: { + wantEos = false; yybegin(YYSTANDARD); return token(Terminal.END_OF_INPUT); + } + case 822: break; + default: + return null; + } + } + else { + zzScanError(ZZ_NO_MATCH); + } + } + } + } + + +} |