Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
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.java2008
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);
+ }
+ }
+ }
+ }
+
+
+}

Back to the top