diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/pcode/Flasm3Lexer.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/pcode/Flasm3Lexer.java
index 5f1c4d215..76135fbc0 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/pcode/Flasm3Lexer.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/pcode/Flasm3Lexer.java
@@ -23,368 +23,378 @@ import com.jpexs.decompiler.flash.abc.avm2.parser.AVM2ParseException;
import java.util.Stack;
/**
- * This class is a scanner generated by
- * JFlex 1.6.0
- * from the specification file D:/Dropbox/Programovani/JavaSE/FFDec/libsrc/ffdec_lib/lexers/actionscript3_pcode.flex
+ * This class is a scanner generated by
+ * JFlex 1.6.0 from the specification file
+ * D:/Dropbox/Programovani/JavaSE/FFDec/libsrc/ffdec_lib/lexers/actionscript3_pcode.flex
*/
public final class Flasm3Lexer {
- /** This character denotes the end of file */
- public static final int YYEOF = -1;
+ /**
+ * 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;
+ /**
+ * initial size of the lookahead buffer
+ */
+ private static final int ZZ_BUFFERSIZE = 16384;
- /** lexical states */
- public static final int YYINITIAL = 0;
- public static final int STRING = 2;
- public static final int PARAMETERS = 4;
+ /**
+ * lexical states
+ */
+ public static final int YYINITIAL = 0;
+ public static final int STRING = 2;
+ public static final int PARAMETERS = 4;
- /**
- * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
- * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l
- * at the beginning of a line
- * l is of the form l = 2*k, k a non negative integer
- */
- private static final int ZZ_LEXSTATE[] = {
- 0, 0, 1, 1, 2, 2
- };
+ /**
+ * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
+ * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l at the
+ * beginning of a line l is of the form l = 2*k, k a non negative integer
+ */
+ private static final int ZZ_LEXSTATE[] = {
+ 0, 0, 1, 1, 2, 2
+ };
- /**
- * Translates characters to character classes
- */
- private static final String ZZ_CMAP_PACKED =
- "\11\12\1\4\1\2\1\111\1\112\1\1\16\12\4\0\1\54\1\0"+
- "\1\75\1\0\1\11\2\0\1\110\1\100\1\101\1\0\1\24\1\106"+
- "\1\20\1\21\1\0\1\17\7\7\1\107\1\7\1\16\1\3\1\102"+
- "\1\0\1\103\2\0\1\50\1\25\1\32\1\55\1\22\1\63\1\57"+
- "\1\73\1\40\1\11\1\71\1\65\1\5\1\44\1\42\1\34\1\76"+
- "\1\52\1\46\1\36\1\67\1\104\1\11\1\30\1\61\1\11\1\6"+
- "\1\27\1\10\1\0\1\15\1\0\1\51\1\26\1\33\1\56\1\23"+
- "\1\64\1\60\1\74\1\41\1\14\1\72\1\66\1\13\1\45\1\43"+
- "\1\35\1\77\1\53\1\47\1\37\1\70\1\105\1\14\1\31\1\62"+
- "\1\14\4\0\6\12\1\113\32\12\2\0\4\11\4\0\1\11\2\0"+
- "\1\12\7\0\1\11\4\0\1\11\5\0\27\11\1\0\37\11\1\0"+
- "\70\11\2\40\115\11\1\46\u0142\11\4\0\14\11\16\0\5\11\7\0"+
- "\1\11\1\0\1\11\21\0\160\12\5\11\1\0\2\11\2\0\4\11"+
- "\10\0\1\11\1\0\3\11\1\0\1\11\1\0\24\11\1\0\123\11"+
- "\1\0\213\11\1\0\5\12\2\0\236\11\11\0\46\11\2\0\1\11"+
- "\7\0\47\11\7\0\1\11\1\0\55\12\1\0\1\12\1\0\2\12"+
- "\1\0\2\12\1\0\1\12\10\0\33\11\5\0\3\11\15\0\5\12"+
- "\6\0\1\11\4\0\13\12\5\0\53\11\37\12\4\0\2\11\1\12"+
- "\143\11\1\0\1\11\10\12\1\0\6\12\2\11\2\12\1\0\4\12"+
- "\2\11\12\12\3\11\2\0\1\11\17\0\1\12\1\11\1\12\36\11"+
- "\33\12\2\0\131\11\13\12\1\11\16\0\12\12\41\11\11\12\2\11"+
- "\4\0\1\11\5\0\26\11\4\12\1\11\11\12\1\11\3\12\1\11"+
- "\5\12\22\0\31\11\3\12\104\0\1\11\1\0\13\11\67\0\33\12"+
- "\1\0\4\12\66\11\3\12\1\11\22\12\1\11\7\12\12\11\2\12"+
- "\2\0\12\12\1\0\7\11\1\0\7\11\1\0\3\12\1\0\10\11"+
- "\2\0\2\11\2\0\26\11\1\0\7\11\1\0\1\11\3\0\4\11"+
- "\2\0\1\12\1\11\7\12\2\0\2\12\2\0\3\12\1\11\10\0"+
- "\1\12\4\0\2\11\1\0\3\11\2\12\2\0\12\12\4\11\7\0"+
- "\1\11\5\0\3\12\1\0\6\11\4\0\2\11\2\0\26\11\1\0"+
- "\7\11\1\0\2\11\1\0\2\11\1\0\2\11\2\0\1\12\1\0"+
- "\5\12\4\0\2\12\2\0\3\12\3\0\1\12\7\0\4\11\1\0"+
- "\1\11\7\0\14\12\3\11\1\12\13\0\3\12\1\0\11\11\1\0"+
- "\3\11\1\0\26\11\1\0\7\11\1\0\2\11\1\0\5\11\2\0"+
- "\1\12\1\11\10\12\1\0\3\12\1\0\3\12\2\0\1\11\17\0"+
- "\2\11\2\12\2\0\12\12\1\0\1\11\17\0\3\12\1\0\10\11"+
- "\2\0\2\11\2\0\26\11\1\0\7\11\1\0\2\11\1\0\5\11"+
- "\2\0\1\12\1\11\7\12\2\0\2\12\2\0\3\12\10\0\2\12"+
- "\4\0\2\11\1\0\3\11\2\12\2\0\12\12\1\0\1\11\20\0"+
- "\1\12\1\11\1\0\6\11\3\0\3\11\1\0\4\11\3\0\2\11"+
- "\1\0\1\11\1\0\2\11\3\0\2\11\3\0\3\11\3\0\14\11"+
- "\4\0\5\12\3\0\3\12\1\0\4\12\2\0\1\11\6\0\1\12"+
- "\16\0\12\12\11\0\1\11\7\0\3\12\1\0\10\11\1\0\3\11"+
- "\1\0\27\11\1\0\12\11\1\0\5\11\3\0\1\11\7\12\1\0"+
- "\3\12\1\0\4\12\7\0\2\12\1\0\2\11\6\0\2\11\2\12"+
- "\2\0\12\12\22\0\2\12\1\0\10\11\1\0\3\11\1\0\27\11"+
- "\1\0\12\11\1\0\5\11\2\0\1\12\1\11\7\12\1\0\3\12"+
- "\1\0\4\12\7\0\2\12\7\0\1\11\1\0\2\11\2\12\2\0"+
- "\12\12\1\0\2\11\17\0\2\12\1\0\10\11\1\0\3\11\1\0"+
- "\51\11\2\0\1\11\7\12\1\0\3\12\1\0\4\12\1\11\10\0"+
- "\1\12\10\0\2\11\2\12\2\0\12\12\12\0\6\11\2\0\2\12"+
- "\1\0\22\11\3\0\30\11\1\0\11\11\1\0\1\11\2\0\7\11"+
- "\3\0\1\12\4\0\6\12\1\0\1\12\1\0\10\12\22\0\2\12"+
- "\15\0\60\11\1\12\2\11\7\12\4\0\10\11\10\12\1\0\12\12"+
- "\47\0\2\11\1\0\1\11\2\0\2\11\1\0\1\11\2\0\1\11"+
- "\6\0\4\11\1\0\7\11\1\0\3\11\1\0\1\11\1\0\1\11"+
- "\2\0\2\11\1\0\4\11\1\12\2\11\6\12\1\0\2\12\1\11"+
- "\2\0\5\11\1\0\1\11\1\0\6\12\2\0\12\12\2\0\4\11"+
- "\40\0\1\11\27\0\2\12\6\0\12\12\13\0\1\12\1\0\1\12"+
- "\1\0\1\12\4\0\2\12\10\11\1\0\44\11\4\0\24\12\1\0"+
- "\2\12\5\11\13\12\1\0\44\12\11\0\1\12\71\0\53\11\24\12"+
- "\1\11\12\12\6\0\6\11\4\12\4\11\3\12\1\11\3\12\2\11"+
- "\7\12\3\11\4\12\15\11\14\12\1\11\17\12\2\0\46\11\1\0"+
- "\1\11\5\0\1\11\2\0\53\11\1\0\u014d\11\1\0\4\11\2\0"+
- "\7\11\1\0\1\11\1\0\4\11\2\0\51\11\1\0\4\11\2\0"+
- "\41\11\1\0\4\11\2\0\7\11\1\0\1\11\1\0\4\11\2\0"+
- "\17\11\1\0\71\11\1\0\4\11\2\0\103\11\2\0\3\12\40\0"+
- "\20\11\20\0\125\11\14\0\u026c\11\2\0\21\11\1\0\32\11\5\0"+
- "\113\11\3\0\3\11\17\0\15\11\1\0\4\11\3\12\13\0\22\11"+
- "\3\12\13\0\22\11\2\12\14\0\15\11\1\0\3\11\1\0\2\12"+
- "\14\0\64\11\40\12\3\0\1\11\3\0\2\11\1\12\2\0\12\12"+
- "\41\0\3\12\2\0\12\12\6\0\130\11\10\0\51\11\1\12\1\11"+
- "\5\0\106\11\12\0\35\11\3\0\14\12\4\0\14\12\12\0\12\12"+
- "\36\11\2\0\5\11\13\0\54\11\4\0\21\12\7\11\2\12\6\0"+
- "\12\12\46\0\27\11\5\12\4\0\65\11\12\12\1\0\35\12\2\0"+
- "\13\12\6\0\12\12\15\0\1\11\130\0\5\12\57\11\21\12\7\11"+
- "\4\0\12\12\21\0\11\12\14\0\3\12\36\11\15\12\2\11\12\12"+
- "\54\11\16\12\14\0\44\11\24\12\10\0\12\12\3\0\3\11\12\12"+
- "\44\11\122\0\3\12\1\0\25\12\4\11\1\12\4\11\3\12\2\11"+
- "\11\0\300\11\47\12\25\0\4\12\u0116\11\2\0\6\11\2\0\46\11"+
- "\2\0\6\11\2\0\10\11\1\0\1\11\1\0\1\11\1\0\1\11"+
- "\1\0\37\11\2\0\65\11\1\0\7\11\1\0\1\11\3\0\3\11"+
- "\1\0\7\11\3\0\4\11\2\0\6\11\4\0\15\11\5\0\3\11"+
- "\1\0\7\11\16\0\5\12\30\0\1\111\1\111\5\12\20\0\2\11"+
- "\23\0\1\11\13\0\5\12\5\0\6\12\1\0\1\11\15\0\1\11"+
- "\20\0\15\11\3\0\33\11\25\0\15\12\4\0\1\12\3\0\14\12"+
- "\21\0\1\11\4\0\1\11\2\0\12\11\1\0\1\11\3\0\5\11"+
- "\6\0\1\11\1\0\1\11\1\0\1\11\1\0\1\71\3\11\1\0"+
- "\13\11\2\0\4\11\5\0\5\11\4\0\1\11\21\0\51\11\u0a77\0"+
- "\57\11\1\0\57\11\1\0\205\11\6\0\4\11\3\12\2\11\14\0"+
- "\46\11\1\0\1\11\5\0\1\11\2\0\70\11\7\0\1\11\17\0"+
- "\1\12\27\11\11\0\7\11\1\0\7\11\1\0\7\11\1\0\7\11"+
- "\1\0\7\11\1\0\7\11\1\0\7\11\1\0\7\11\1\0\40\12"+
- "\57\0\1\11\u01d5\0\3\11\31\0\11\11\6\12\1\0\5\11\2\0"+
- "\5\11\4\0\126\11\2\0\2\12\2\0\3\11\1\0\132\11\1\0"+
- "\4\11\5\0\51\11\3\0\136\11\21\0\33\11\65\0\20\11\u0200\0"+
- "\u19b6\11\112\0\u51cd\11\63\0\u048d\11\103\0\56\11\2\0\u010d\11\3\0"+
- "\20\11\12\12\2\11\24\0\57\11\1\12\4\0\12\12\1\0\31\11"+
- "\7\0\1\12\120\11\2\12\45\0\11\11\2\0\147\11\2\0\4\11"+
- "\1\0\4\11\14\0\13\11\115\0\12\11\1\12\3\11\1\12\4\11"+
- "\1\12\27\11\5\12\20\0\1\11\7\0\64\11\14\0\2\12\62\11"+
- "\21\12\13\0\12\12\6\0\22\12\6\11\3\0\1\11\4\0\12\12"+
- "\34\11\10\12\2\0\27\11\15\12\14\0\35\11\3\0\4\12\57\11"+
- "\16\12\16\0\1\11\12\12\46\0\51\11\16\12\11\0\3\11\1\12"+
- "\10\11\2\12\2\0\12\12\6\0\27\11\3\0\1\11\1\12\4\0"+
- "\60\11\1\12\1\11\3\12\2\11\2\12\5\11\2\12\1\11\1\12"+
- "\1\11\30\0\3\11\2\0\13\11\5\12\2\0\3\11\2\12\12\0"+
- "\6\11\2\0\6\11\2\0\6\11\11\0\7\11\1\0\7\11\221\0"+
- "\43\11\10\12\1\0\2\12\2\0\12\12\6\0\u2ba4\11\14\0\27\11"+
- "\4\0\61\11\u2104\0\u016e\11\2\0\152\11\46\0\7\11\14\0\5\11"+
- "\5\0\1\11\1\12\12\11\1\0\15\11\1\0\5\11\1\0\1\11"+
- "\1\0\2\11\1\0\2\11\1\0\154\11\41\0\u016b\11\22\0\100\11"+
- "\2\0\66\11\50\0\15\11\3\0\20\12\20\0\7\12\14\0\2\11"+
- "\30\0\3\11\31\0\1\11\6\0\5\11\1\0\207\11\2\0\1\12"+
- "\4\0\1\11\13\0\12\12\7\0\32\11\4\0\1\11\1\0\32\11"+
- "\13\0\131\11\3\0\6\11\2\0\6\11\2\0\6\11\2\0\3\11"+
- "\3\0\2\11\3\0\2\11\22\0\3\12\4\0\14\11\1\0\32\11"+
- "\1\0\23\11\1\0\2\11\1\0\17\11\2\0\16\11\42\0\173\11"+
- "\105\0\65\11\210\0\1\12\202\0\35\11\3\0\61\11\57\0\37\11"+
- "\21\0\33\11\65\0\36\11\2\0\44\11\4\0\10\11\1\0\5\11"+
- "\52\0\236\11\2\0\12\12\u0356\0\6\11\2\0\1\11\1\0\54\11"+
- "\1\0\2\11\3\0\1\11\2\0\27\11\252\0\26\11\12\0\32\11"+
- "\106\0\70\11\6\0\2\11\100\0\1\11\3\12\1\0\2\12\5\0"+
- "\4\12\4\11\1\0\3\11\1\0\33\11\4\0\3\12\4\0\1\12"+
- "\40\0\35\11\203\0\66\11\12\0\26\11\12\0\23\11\215\0\111\11"+
- "\u03b7\0\3\12\65\11\17\12\37\0\12\12\20\0\3\12\55\11\13\12"+
- "\2\0\1\12\22\0\31\11\7\0\12\12\6\0\3\12\44\11\16\12"+
- "\1\0\12\12\100\0\3\12\60\11\16\12\4\11\13\0\12\12\u04a6\0"+
- "\53\11\15\12\10\0\12\12\u0936\0\u036f\11\221\0\143\11\u0b9d\0\u042f\11"+
- "\u33d1\0\u0239\11\u04c7\0\105\11\13\0\1\11\56\12\20\0\4\12\15\11"+
- "\u4060\0\2\11\u2163\0\5\12\3\0\26\12\2\0\7\12\36\0\4\12"+
- "\224\0\3\12\u01bb\0\125\11\1\0\107\11\1\0\2\11\2\0\1\11"+
- "\2\0\2\11\2\0\4\11\1\0\14\11\1\0\1\11\1\0\7\11"+
- "\1\0\101\11\1\0\4\11\2\0\10\11\1\0\7\11\1\0\34\11"+
- "\1\0\4\11\1\0\5\11\1\0\1\11\3\0\7\11\1\0\u0154\11"+
- "\2\0\31\11\1\0\31\11\1\0\37\11\1\0\31\11\1\0\37\11"+
- "\1\0\31\11\1\0\37\11\1\0\31\11\1\0\37\11\1\0\31\11"+
- "\1\0\10\11\2\0\62\12\u1600\0\4\11\1\0\33\11\1\0\2\11"+
- "\1\0\1\11\2\0\1\11\1\0\12\11\1\0\4\11\1\0\1\11"+
- "\1\0\1\11\6\0\1\11\4\0\1\11\1\0\1\11\1\0\1\11"+
- "\1\0\3\11\1\0\2\11\1\0\1\11\2\0\1\11\1\0\1\11"+
- "\1\0\1\11\1\0\1\11\1\0\1\11\1\0\2\11\1\0\1\11"+
- "\2\0\4\11\1\0\7\11\1\0\4\11\1\0\4\11\1\0\1\11"+
- "\1\0\12\11\1\0\21\11\5\0\3\11\1\0\5\11\1\0\21\11"+
- "\u1144\0\ua6d7\11\51\0\u1035\11\13\0\336\11\u3fe2\0\u021e\11\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\u05ee\0"+
- "\1\12\36\0\140\12\200\0\360\12\uffff\0\uffff\0\ufe12\0";
+ /**
+ * Translates characters to character classes
+ */
+ private static final String ZZ_CMAP_PACKED
+ = "\11\12\1\4\1\2\1\111\1\112\1\1\16\12\4\0\1\54\1\0"
+ + "\1\75\1\0\1\11\2\0\1\110\1\100\1\101\1\0\1\24\1\106"
+ + "\1\20\1\21\1\0\1\17\7\7\1\107\1\7\1\16\1\3\1\102"
+ + "\1\0\1\103\2\0\1\50\1\25\1\32\1\55\1\22\1\63\1\57"
+ + "\1\73\1\40\1\11\1\71\1\65\1\5\1\44\1\42\1\34\1\76"
+ + "\1\52\1\46\1\36\1\67\1\104\1\11\1\30\1\61\1\11\1\6"
+ + "\1\27\1\10\1\0\1\15\1\0\1\51\1\26\1\33\1\56\1\23"
+ + "\1\64\1\60\1\74\1\41\1\14\1\72\1\66\1\13\1\45\1\43"
+ + "\1\35\1\77\1\53\1\47\1\37\1\70\1\105\1\14\1\31\1\62"
+ + "\1\14\4\0\6\12\1\113\32\12\2\0\4\11\4\0\1\11\2\0"
+ + "\1\12\7\0\1\11\4\0\1\11\5\0\27\11\1\0\37\11\1\0"
+ + "\70\11\2\40\115\11\1\46\u0142\11\4\0\14\11\16\0\5\11\7\0"
+ + "\1\11\1\0\1\11\21\0\160\12\5\11\1\0\2\11\2\0\4\11"
+ + "\10\0\1\11\1\0\3\11\1\0\1\11\1\0\24\11\1\0\123\11"
+ + "\1\0\213\11\1\0\5\12\2\0\236\11\11\0\46\11\2\0\1\11"
+ + "\7\0\47\11\7\0\1\11\1\0\55\12\1\0\1\12\1\0\2\12"
+ + "\1\0\2\12\1\0\1\12\10\0\33\11\5\0\3\11\15\0\5\12"
+ + "\6\0\1\11\4\0\13\12\5\0\53\11\37\12\4\0\2\11\1\12"
+ + "\143\11\1\0\1\11\10\12\1\0\6\12\2\11\2\12\1\0\4\12"
+ + "\2\11\12\12\3\11\2\0\1\11\17\0\1\12\1\11\1\12\36\11"
+ + "\33\12\2\0\131\11\13\12\1\11\16\0\12\12\41\11\11\12\2\11"
+ + "\4\0\1\11\5\0\26\11\4\12\1\11\11\12\1\11\3\12\1\11"
+ + "\5\12\22\0\31\11\3\12\104\0\1\11\1\0\13\11\67\0\33\12"
+ + "\1\0\4\12\66\11\3\12\1\11\22\12\1\11\7\12\12\11\2\12"
+ + "\2\0\12\12\1\0\7\11\1\0\7\11\1\0\3\12\1\0\10\11"
+ + "\2\0\2\11\2\0\26\11\1\0\7\11\1\0\1\11\3\0\4\11"
+ + "\2\0\1\12\1\11\7\12\2\0\2\12\2\0\3\12\1\11\10\0"
+ + "\1\12\4\0\2\11\1\0\3\11\2\12\2\0\12\12\4\11\7\0"
+ + "\1\11\5\0\3\12\1\0\6\11\4\0\2\11\2\0\26\11\1\0"
+ + "\7\11\1\0\2\11\1\0\2\11\1\0\2\11\2\0\1\12\1\0"
+ + "\5\12\4\0\2\12\2\0\3\12\3\0\1\12\7\0\4\11\1\0"
+ + "\1\11\7\0\14\12\3\11\1\12\13\0\3\12\1\0\11\11\1\0"
+ + "\3\11\1\0\26\11\1\0\7\11\1\0\2\11\1\0\5\11\2\0"
+ + "\1\12\1\11\10\12\1\0\3\12\1\0\3\12\2\0\1\11\17\0"
+ + "\2\11\2\12\2\0\12\12\1\0\1\11\17\0\3\12\1\0\10\11"
+ + "\2\0\2\11\2\0\26\11\1\0\7\11\1\0\2\11\1\0\5\11"
+ + "\2\0\1\12\1\11\7\12\2\0\2\12\2\0\3\12\10\0\2\12"
+ + "\4\0\2\11\1\0\3\11\2\12\2\0\12\12\1\0\1\11\20\0"
+ + "\1\12\1\11\1\0\6\11\3\0\3\11\1\0\4\11\3\0\2\11"
+ + "\1\0\1\11\1\0\2\11\3\0\2\11\3\0\3\11\3\0\14\11"
+ + "\4\0\5\12\3\0\3\12\1\0\4\12\2\0\1\11\6\0\1\12"
+ + "\16\0\12\12\11\0\1\11\7\0\3\12\1\0\10\11\1\0\3\11"
+ + "\1\0\27\11\1\0\12\11\1\0\5\11\3\0\1\11\7\12\1\0"
+ + "\3\12\1\0\4\12\7\0\2\12\1\0\2\11\6\0\2\11\2\12"
+ + "\2\0\12\12\22\0\2\12\1\0\10\11\1\0\3\11\1\0\27\11"
+ + "\1\0\12\11\1\0\5\11\2\0\1\12\1\11\7\12\1\0\3\12"
+ + "\1\0\4\12\7\0\2\12\7\0\1\11\1\0\2\11\2\12\2\0"
+ + "\12\12\1\0\2\11\17\0\2\12\1\0\10\11\1\0\3\11\1\0"
+ + "\51\11\2\0\1\11\7\12\1\0\3\12\1\0\4\12\1\11\10\0"
+ + "\1\12\10\0\2\11\2\12\2\0\12\12\12\0\6\11\2\0\2\12"
+ + "\1\0\22\11\3\0\30\11\1\0\11\11\1\0\1\11\2\0\7\11"
+ + "\3\0\1\12\4\0\6\12\1\0\1\12\1\0\10\12\22\0\2\12"
+ + "\15\0\60\11\1\12\2\11\7\12\4\0\10\11\10\12\1\0\12\12"
+ + "\47\0\2\11\1\0\1\11\2\0\2\11\1\0\1\11\2\0\1\11"
+ + "\6\0\4\11\1\0\7\11\1\0\3\11\1\0\1\11\1\0\1\11"
+ + "\2\0\2\11\1\0\4\11\1\12\2\11\6\12\1\0\2\12\1\11"
+ + "\2\0\5\11\1\0\1\11\1\0\6\12\2\0\12\12\2\0\4\11"
+ + "\40\0\1\11\27\0\2\12\6\0\12\12\13\0\1\12\1\0\1\12"
+ + "\1\0\1\12\4\0\2\12\10\11\1\0\44\11\4\0\24\12\1\0"
+ + "\2\12\5\11\13\12\1\0\44\12\11\0\1\12\71\0\53\11\24\12"
+ + "\1\11\12\12\6\0\6\11\4\12\4\11\3\12\1\11\3\12\2\11"
+ + "\7\12\3\11\4\12\15\11\14\12\1\11\17\12\2\0\46\11\1\0"
+ + "\1\11\5\0\1\11\2\0\53\11\1\0\u014d\11\1\0\4\11\2\0"
+ + "\7\11\1\0\1\11\1\0\4\11\2\0\51\11\1\0\4\11\2\0"
+ + "\41\11\1\0\4\11\2\0\7\11\1\0\1\11\1\0\4\11\2\0"
+ + "\17\11\1\0\71\11\1\0\4\11\2\0\103\11\2\0\3\12\40\0"
+ + "\20\11\20\0\125\11\14\0\u026c\11\2\0\21\11\1\0\32\11\5\0"
+ + "\113\11\3\0\3\11\17\0\15\11\1\0\4\11\3\12\13\0\22\11"
+ + "\3\12\13\0\22\11\2\12\14\0\15\11\1\0\3\11\1\0\2\12"
+ + "\14\0\64\11\40\12\3\0\1\11\3\0\2\11\1\12\2\0\12\12"
+ + "\41\0\3\12\2\0\12\12\6\0\130\11\10\0\51\11\1\12\1\11"
+ + "\5\0\106\11\12\0\35\11\3\0\14\12\4\0\14\12\12\0\12\12"
+ + "\36\11\2\0\5\11\13\0\54\11\4\0\21\12\7\11\2\12\6\0"
+ + "\12\12\46\0\27\11\5\12\4\0\65\11\12\12\1\0\35\12\2\0"
+ + "\13\12\6\0\12\12\15\0\1\11\130\0\5\12\57\11\21\12\7\11"
+ + "\4\0\12\12\21\0\11\12\14\0\3\12\36\11\15\12\2\11\12\12"
+ + "\54\11\16\12\14\0\44\11\24\12\10\0\12\12\3\0\3\11\12\12"
+ + "\44\11\122\0\3\12\1\0\25\12\4\11\1\12\4\11\3\12\2\11"
+ + "\11\0\300\11\47\12\25\0\4\12\u0116\11\2\0\6\11\2\0\46\11"
+ + "\2\0\6\11\2\0\10\11\1\0\1\11\1\0\1\11\1\0\1\11"
+ + "\1\0\37\11\2\0\65\11\1\0\7\11\1\0\1\11\3\0\3\11"
+ + "\1\0\7\11\3\0\4\11\2\0\6\11\4\0\15\11\5\0\3\11"
+ + "\1\0\7\11\16\0\5\12\30\0\1\111\1\111\5\12\20\0\2\11"
+ + "\23\0\1\11\13\0\5\12\5\0\6\12\1\0\1\11\15\0\1\11"
+ + "\20\0\15\11\3\0\33\11\25\0\15\12\4\0\1\12\3\0\14\12"
+ + "\21\0\1\11\4\0\1\11\2\0\12\11\1\0\1\11\3\0\5\11"
+ + "\6\0\1\11\1\0\1\11\1\0\1\11\1\0\1\71\3\11\1\0"
+ + "\13\11\2\0\4\11\5\0\5\11\4\0\1\11\21\0\51\11\u0a77\0"
+ + "\57\11\1\0\57\11\1\0\205\11\6\0\4\11\3\12\2\11\14\0"
+ + "\46\11\1\0\1\11\5\0\1\11\2\0\70\11\7\0\1\11\17\0"
+ + "\1\12\27\11\11\0\7\11\1\0\7\11\1\0\7\11\1\0\7\11"
+ + "\1\0\7\11\1\0\7\11\1\0\7\11\1\0\7\11\1\0\40\12"
+ + "\57\0\1\11\u01d5\0\3\11\31\0\11\11\6\12\1\0\5\11\2\0"
+ + "\5\11\4\0\126\11\2\0\2\12\2\0\3\11\1\0\132\11\1\0"
+ + "\4\11\5\0\51\11\3\0\136\11\21\0\33\11\65\0\20\11\u0200\0"
+ + "\u19b6\11\112\0\u51cd\11\63\0\u048d\11\103\0\56\11\2\0\u010d\11\3\0"
+ + "\20\11\12\12\2\11\24\0\57\11\1\12\4\0\12\12\1\0\31\11"
+ + "\7\0\1\12\120\11\2\12\45\0\11\11\2\0\147\11\2\0\4\11"
+ + "\1\0\4\11\14\0\13\11\115\0\12\11\1\12\3\11\1\12\4\11"
+ + "\1\12\27\11\5\12\20\0\1\11\7\0\64\11\14\0\2\12\62\11"
+ + "\21\12\13\0\12\12\6\0\22\12\6\11\3\0\1\11\4\0\12\12"
+ + "\34\11\10\12\2\0\27\11\15\12\14\0\35\11\3\0\4\12\57\11"
+ + "\16\12\16\0\1\11\12\12\46\0\51\11\16\12\11\0\3\11\1\12"
+ + "\10\11\2\12\2\0\12\12\6\0\27\11\3\0\1\11\1\12\4\0"
+ + "\60\11\1\12\1\11\3\12\2\11\2\12\5\11\2\12\1\11\1\12"
+ + "\1\11\30\0\3\11\2\0\13\11\5\12\2\0\3\11\2\12\12\0"
+ + "\6\11\2\0\6\11\2\0\6\11\11\0\7\11\1\0\7\11\221\0"
+ + "\43\11\10\12\1\0\2\12\2\0\12\12\6\0\u2ba4\11\14\0\27\11"
+ + "\4\0\61\11\u2104\0\u016e\11\2\0\152\11\46\0\7\11\14\0\5\11"
+ + "\5\0\1\11\1\12\12\11\1\0\15\11\1\0\5\11\1\0\1\11"
+ + "\1\0\2\11\1\0\2\11\1\0\154\11\41\0\u016b\11\22\0\100\11"
+ + "\2\0\66\11\50\0\15\11\3\0\20\12\20\0\7\12\14\0\2\11"
+ + "\30\0\3\11\31\0\1\11\6\0\5\11\1\0\207\11\2\0\1\12"
+ + "\4\0\1\11\13\0\12\12\7\0\32\11\4\0\1\11\1\0\32\11"
+ + "\13\0\131\11\3\0\6\11\2\0\6\11\2\0\6\11\2\0\3\11"
+ + "\3\0\2\11\3\0\2\11\22\0\3\12\4\0\14\11\1\0\32\11"
+ + "\1\0\23\11\1\0\2\11\1\0\17\11\2\0\16\11\42\0\173\11"
+ + "\105\0\65\11\210\0\1\12\202\0\35\11\3\0\61\11\57\0\37\11"
+ + "\21\0\33\11\65\0\36\11\2\0\44\11\4\0\10\11\1\0\5\11"
+ + "\52\0\236\11\2\0\12\12\u0356\0\6\11\2\0\1\11\1\0\54\11"
+ + "\1\0\2\11\3\0\1\11\2\0\27\11\252\0\26\11\12\0\32\11"
+ + "\106\0\70\11\6\0\2\11\100\0\1\11\3\12\1\0\2\12\5\0"
+ + "\4\12\4\11\1\0\3\11\1\0\33\11\4\0\3\12\4\0\1\12"
+ + "\40\0\35\11\203\0\66\11\12\0\26\11\12\0\23\11\215\0\111\11"
+ + "\u03b7\0\3\12\65\11\17\12\37\0\12\12\20\0\3\12\55\11\13\12"
+ + "\2\0\1\12\22\0\31\11\7\0\12\12\6\0\3\12\44\11\16\12"
+ + "\1\0\12\12\100\0\3\12\60\11\16\12\4\11\13\0\12\12\u04a6\0"
+ + "\53\11\15\12\10\0\12\12\u0936\0\u036f\11\221\0\143\11\u0b9d\0\u042f\11"
+ + "\u33d1\0\u0239\11\u04c7\0\105\11\13\0\1\11\56\12\20\0\4\12\15\11"
+ + "\u4060\0\2\11\u2163\0\5\12\3\0\26\12\2\0\7\12\36\0\4\12"
+ + "\224\0\3\12\u01bb\0\125\11\1\0\107\11\1\0\2\11\2\0\1\11"
+ + "\2\0\2\11\2\0\4\11\1\0\14\11\1\0\1\11\1\0\7\11"
+ + "\1\0\101\11\1\0\4\11\2\0\10\11\1\0\7\11\1\0\34\11"
+ + "\1\0\4\11\1\0\5\11\1\0\1\11\3\0\7\11\1\0\u0154\11"
+ + "\2\0\31\11\1\0\31\11\1\0\37\11\1\0\31\11\1\0\37\11"
+ + "\1\0\31\11\1\0\37\11\1\0\31\11\1\0\37\11\1\0\31\11"
+ + "\1\0\10\11\2\0\62\12\u1600\0\4\11\1\0\33\11\1\0\2\11"
+ + "\1\0\1\11\2\0\1\11\1\0\12\11\1\0\4\11\1\0\1\11"
+ + "\1\0\1\11\6\0\1\11\4\0\1\11\1\0\1\11\1\0\1\11"
+ + "\1\0\3\11\1\0\2\11\1\0\1\11\2\0\1\11\1\0\1\11"
+ + "\1\0\1\11\1\0\1\11\1\0\1\11\1\0\2\11\1\0\1\11"
+ + "\2\0\4\11\1\0\7\11\1\0\4\11\1\0\4\11\1\0\1\11"
+ + "\1\0\12\11\1\0\21\11\5\0\3\11\1\0\5\11\1\0\21\11"
+ + "\u1144\0\ua6d7\11\51\0\u1035\11\13\0\336\11\u3fe2\0\u021e\11\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\u05ee\0"
+ + "\1\12\36\0\140\12\200\0\360\12\uffff\0\uffff\0\ufe12\0";
- /**
- * Translates characters to character classes
- */
- private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
+ /**
+ * Translates characters to character classes
+ */
+ private static final char[] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
- /**
- * Translates DFA states to action switch labels.
- */
- private static final int [] ZZ_ACTION = zzUnpackAction();
+ /**
+ * Translates DFA states to action switch labels.
+ */
+ private static final int[] ZZ_ACTION = zzUnpackAction();
- private static final String ZZ_ACTION_PACKED_0 =
- "\3\0\1\1\1\2\3\1\2\3\1\1\1\3\1\1"+
- "\1\3\1\1\1\3\1\1\1\3\1\1\1\3\1\1"+
- "\1\3\1\1\1\3\1\1\1\3\1\1\1\3\1\1"+
- "\1\3\1\1\1\3\1\4\2\5\1\1\1\6\2\7"+
- "\1\10\1\11\1\12\1\13\2\10\1\12\2\1\16\10"+
- "\1\14\1\10\1\15\1\16\1\17\1\20\1\10\1\21"+
- "\1\0\1\22\2\0\2\3\1\0\1\3\1\0\1\3"+
- "\1\0\1\3\1\0\1\3\1\0\1\3\1\0\1\3"+
- "\1\0\1\3\1\0\1\3\1\0\1\3\1\0\1\3"+
- "\1\0\1\3\1\23\1\24\1\25\1\23\1\26\1\27"+
- "\1\30\1\31\1\23\1\32\1\33\2\10\1\34\2\0"+
- "\1\34\1\0\5\10\1\35\33\10\2\0\2\3\1\0"+
- "\1\3\1\0\1\3\1\0\1\3\1\0\1\3\1\0"+
- "\1\36\1\3\1\36\1\0\1\3\1\0\1\3\1\0"+
- "\1\3\1\0\1\3\1\0\1\3\1\0\1\3\2\0"+
- "\2\10\1\34\2\0\41\10\2\0\2\3\1\0\1\3"+
- "\2\37\2\40\1\0\1\3\1\0\1\3\1\0\1\3"+
- "\1\0\1\3\2\41\1\0\1\3\2\42\1\0\1\3"+
- "\1\43\1\0\3\10\1\0\7\10\1\44\1\45\4\10"+
- "\1\46\1\47\3\10\1\50\7\10\1\51\1\10\1\52"+
- "\5\10\3\0\3\3\1\0\1\3\2\53\2\54\1\0"+
- "\1\3\1\0\1\3\1\0\1\3\1\0\1\3\3\10"+
- "\1\55\1\10\1\56\1\57\23\10\1\60\1\61\5\10"+
- "\1\62\1\63\1\64\2\0\1\64\2\3\1\0\1\3"+
- "\1\0\1\3\1\0\1\3\1\0\1\3\1\0\1\3"+
- "\1\0\1\3\1\10\1\64\5\10\1\65\10\10\1\66"+
- "\1\10\1\67\2\10\1\70\1\71\1\72\5\10\1\73"+
- "\2\0\2\3\1\0\1\3\1\0\1\3\1\0\1\3"+
- "\1\0\1\3\2\74\1\0\1\3\7\10\1\75\10\10"+
- "\1\76\1\77\5\10\1\0\1\100\1\3\1\100\1\0"+
- "\1\3\1\0\1\3\1\0\1\3\2\101\1\0\1\3"+
- "\1\102\1\10\1\103\4\10\1\104\1\10\1\105\4\10"+
- "\1\106\1\10\1\107\1\110\1\111\1\112\3\10\1\0"+
- "\1\3\1\0\1\3\2\113\1\0\1\3\1\0\1\3"+
- "\1\114\10\10\1\115\1\116\1\10\1\117\1\120\2\10"+
- "\1\0\1\3\3\0\3\3\1\0\1\3\2\121\1\122"+
- "\1\123\13\10\1\0\1\3\3\0\3\3\1\0\1\3"+
- "\1\124\5\10\1\125\5\10\1\0\1\3\3\0\3\3"+
- "\1\0\1\3\11\10\1\126\2\127\3\0\2\3\1\0"+
- "\1\3\11\10\4\0\2\3\2\130\6\10\1\131\2\10"+
- "\1\132\2\0\1\3\5\10\1\133\1\10\1\134\3\0"+
- "\2\10\1\135\1\136\2\10\2\0\1\137\1\140\1\141"+
- "\1\10\1\142\1\143\1\144";
+ private static final String ZZ_ACTION_PACKED_0
+ = "\3\0\1\1\1\2\3\1\2\3\1\1\1\3\1\1"
+ + "\1\3\1\1\1\3\1\1\1\3\1\1\1\3\1\1"
+ + "\1\3\1\1\1\3\1\1\1\3\1\1\1\3\1\1"
+ + "\1\3\1\1\1\3\1\4\2\5\1\1\1\6\2\7"
+ + "\1\10\1\11\1\12\1\13\2\10\1\12\2\1\16\10"
+ + "\1\14\1\10\1\15\1\16\1\17\1\20\1\10\1\21"
+ + "\1\0\1\22\2\0\2\3\1\0\1\3\1\0\1\3"
+ + "\1\0\1\3\1\0\1\3\1\0\1\3\1\0\1\3"
+ + "\1\0\1\3\1\0\1\3\1\0\1\3\1\0\1\3"
+ + "\1\0\1\3\1\23\1\24\1\25\1\23\1\26\1\27"
+ + "\1\30\1\31\1\23\1\32\1\33\2\10\1\34\2\0"
+ + "\1\34\1\0\5\10\1\35\33\10\2\0\2\3\1\0"
+ + "\1\3\1\0\1\3\1\0\1\3\1\0\1\3\1\0"
+ + "\1\36\1\3\1\36\1\0\1\3\1\0\1\3\1\0"
+ + "\1\3\1\0\1\3\1\0\1\3\1\0\1\3\2\0"
+ + "\2\10\1\34\2\0\41\10\2\0\2\3\1\0\1\3"
+ + "\2\37\2\40\1\0\1\3\1\0\1\3\1\0\1\3"
+ + "\1\0\1\3\2\41\1\0\1\3\2\42\1\0\1\3"
+ + "\1\43\1\0\3\10\1\0\7\10\1\44\1\45\4\10"
+ + "\1\46\1\47\3\10\1\50\7\10\1\51\1\10\1\52"
+ + "\5\10\3\0\3\3\1\0\1\3\2\53\2\54\1\0"
+ + "\1\3\1\0\1\3\1\0\1\3\1\0\1\3\3\10"
+ + "\1\55\1\10\1\56\1\57\23\10\1\60\1\61\5\10"
+ + "\1\62\1\63\1\64\2\0\1\64\2\3\1\0\1\3"
+ + "\1\0\1\3\1\0\1\3\1\0\1\3\1\0\1\3"
+ + "\1\0\1\3\1\10\1\64\5\10\1\65\10\10\1\66"
+ + "\1\10\1\67\2\10\1\70\1\71\1\72\5\10\1\73"
+ + "\2\0\2\3\1\0\1\3\1\0\1\3\1\0\1\3"
+ + "\1\0\1\3\2\74\1\0\1\3\7\10\1\75\10\10"
+ + "\1\76\1\77\5\10\1\0\1\100\1\3\1\100\1\0"
+ + "\1\3\1\0\1\3\1\0\1\3\2\101\1\0\1\3"
+ + "\1\102\1\10\1\103\4\10\1\104\1\10\1\105\4\10"
+ + "\1\106\1\10\1\107\1\110\1\111\1\112\3\10\1\0"
+ + "\1\3\1\0\1\3\2\113\1\0\1\3\1\0\1\3"
+ + "\1\114\10\10\1\115\1\116\1\10\1\117\1\120\2\10"
+ + "\1\0\1\3\3\0\3\3\1\0\1\3\2\121\1\122"
+ + "\1\123\13\10\1\0\1\3\3\0\3\3\1\0\1\3"
+ + "\1\124\5\10\1\125\5\10\1\0\1\3\3\0\3\3"
+ + "\1\0\1\3\11\10\1\126\2\127\3\0\2\3\1\0"
+ + "\1\3\11\10\4\0\2\3\2\130\6\10\1\131\2\10"
+ + "\1\132\2\0\1\3\5\10\1\133\1\10\1\134\3\0"
+ + "\2\10\1\135\1\136\2\10\2\0\1\137\1\140\1\141"
+ + "\1\10\1\142\1\143\1\144";
- private static int [] zzUnpackAction() {
- int [] result = new int[620];
- 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);
+ private static int[] zzUnpackAction() {
+ int[] result = new int[620];
+ int offset = 0;
+ offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
+ return result;
}
- return j;
- }
+ private static int zzUnpackAction(String packed, int offset, int[] result) {
+ int i = 0; /* index in packed string */
- /**
- * Translates a state to a row index in the transition table
- */
- private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
+ int j = offset; /* index in unpacked array */
- private static final String ZZ_ROWMAP_PACKED_0 =
- "\0\0\0\114\0\230\0\344\0\u0130\0\u017c\0\u01c8\0\u0214"+
- "\0\u0260\0\u02ac\0\u02f8\0\u0344\0\u0390\0\u03dc\0\u0428\0\u0474"+
- "\0\u04c0\0\u050c\0\u0558\0\u05a4\0\u05f0\0\u063c\0\u0688\0\u06d4"+
- "\0\u0720\0\u076c\0\u07b8\0\u0804\0\u0850\0\u089c\0\u08e8\0\u0934"+
- "\0\u0980\0\u09cc\0\344\0\u0a18\0\344\0\u0a64\0\344\0\u0ab0"+
- "\0\344\0\u0afc\0\344\0\u0b48\0\u0b94\0\u0be0\0\u0c2c\0\u0c78"+
- "\0\u0cc4\0\u0d10\0\u0d5c\0\u0da8\0\u0df4\0\u0e40\0\u0e8c\0\u0ed8"+
- "\0\u0f24\0\u0f70\0\u0fbc\0\u1008\0\u1054\0\u10a0\0\344\0\u10ec"+
- "\0\344\0\344\0\344\0\344\0\u1138\0\344\0\u0214\0\344"+
- "\0\u1184\0\u11d0\0\u121c\0\u1268\0\u12b4\0\u1300\0\u134c\0\u1398"+
- "\0\u13e4\0\u1430\0\u147c\0\u14c8\0\u1514\0\u1560\0\u15ac\0\u15f8"+
- "\0\u1644\0\u1690\0\u16dc\0\u1728\0\u1774\0\u17c0\0\u180c\0\u1858"+
- "\0\u18a4\0\u18f0\0\344\0\344\0\344\0\u193c\0\344\0\344"+
- "\0\344\0\344\0\u1988\0\344\0\344\0\u19d4\0\u1a20\0\u1a6c"+
- "\0\u1ab8\0\u1b04\0\u0be0\0\u0c78\0\u1b50\0\u1b9c\0\u1be8\0\u1c34"+
- "\0\u1c80\0\u0b48\0\u1ccc\0\u1d18\0\u1d64\0\u1db0\0\u1dfc\0\u1e48"+
- "\0\u1e94\0\u1ee0\0\u1f2c\0\u1f78\0\u1fc4\0\u2010\0\u205c\0\u20a8"+
- "\0\u20f4\0\u2140\0\u218c\0\u21d8\0\u2224\0\u2270\0\u22bc\0\u2308"+
- "\0\u2354\0\u23a0\0\u23ec\0\u2438\0\u2484\0\u24d0\0\u251c\0\u2568"+
- "\0\u25b4\0\u2600\0\u264c\0\u2698\0\u26e4\0\u2730\0\u277c\0\u27c8"+
- "\0\u2814\0\u2860\0\u0214\0\u28ac\0\u02ac\0\u28f8\0\u2944\0\u2990"+
- "\0\u29dc\0\u2a28\0\u2a74\0\u2ac0\0\u2b0c\0\u2b58\0\u2ba4\0\u2bf0"+
- "\0\u2c3c\0\u2c88\0\u2cd4\0\u2d20\0\u2d6c\0\u2db8\0\u2db8\0\u2e04"+
- "\0\u2e50\0\u2e9c\0\u2ee8\0\u2f34\0\u2f80\0\u2fcc\0\u3018\0\u3064"+
- "\0\u30b0\0\u30fc\0\u3148\0\u3194\0\u31e0\0\u322c\0\u3278\0\u32c4"+
- "\0\u3310\0\u335c\0\u33a8\0\u33f4\0\u3440\0\u348c\0\u34d8\0\u3524"+
- "\0\u3570\0\u35bc\0\u3608\0\u3654\0\u36a0\0\u36ec\0\u3738\0\u3784"+
- "\0\u37d0\0\u381c\0\u3868\0\u38b4\0\u3900\0\u394c\0\u3998\0\u0214"+
- "\0\u02ac\0\u0214\0\u02ac\0\u39e4\0\u3a30\0\u3a7c\0\u3ac8\0\u3b14"+
- "\0\u3b60\0\u3bac\0\u3bf8\0\u0214\0\u02ac\0\u3c44\0\u3c90\0\u0214"+
- "\0\u02ac\0\u3cdc\0\u3d28\0\344\0\u193c\0\u3d74\0\u3dc0\0\u3e0c"+
- "\0\u3e58\0\u3ea4\0\u3ef0\0\u3f3c\0\u3f88\0\u3fd4\0\u4020\0\u406c"+
- "\0\u0b48\0\u40b8\0\u4104\0\u4150\0\u419c\0\u41e8\0\u4234\0\u0b48"+
- "\0\u4280\0\u42cc\0\u4318\0\u4364\0\u43b0\0\u43fc\0\u4448\0\u4494"+
- "\0\u44e0\0\u452c\0\u4578\0\u0b48\0\u45c4\0\u0b48\0\u4610\0\u465c"+
- "\0\u46a8\0\u46f4\0\u4740\0\u478c\0\u47d8\0\u4824\0\u4870\0\u48bc"+
- "\0\u4908\0\u4954\0\u49a0\0\u49ec\0\u4a38\0\u0214\0\u02ac\0\u4a84"+
- "\0\u4ad0\0\u4b1c\0\u4b68\0\u4bb4\0\u4c00\0\u4c4c\0\u4c98\0\u4ce4"+
- "\0\u4d30\0\u4d7c\0\344\0\u4dc8\0\u0b48\0\u0b48\0\u4e14\0\u4e60"+
- "\0\u4eac\0\u4ef8\0\u4f44\0\u4f90\0\u4fdc\0\u5028\0\u5074\0\u50c0"+
- "\0\u510c\0\u5158\0\u51a4\0\u51f0\0\u523c\0\u5288\0\u52d4\0\u5320"+
- "\0\u536c\0\u0b48\0\u0b48\0\u53b8\0\u5404\0\u5450\0\u549c\0\u54e8"+
- "\0\u5534\0\u0b48\0\u0214\0\u5580\0\u55cc\0\u02ac\0\u5618\0\u5664"+
- "\0\u56b0\0\u56fc\0\u5748\0\u5794\0\u57e0\0\u582c\0\u5878\0\u58c4"+
- "\0\u5910\0\u595c\0\u59a8\0\u59f4\0\u5a40\0\u0b48\0\u5a8c\0\u5ad8"+
- "\0\u5b24\0\u5b70\0\u5bbc\0\u0b48\0\u5c08\0\u5c54\0\u5ca0\0\u5cec"+
- "\0\u5d38\0\u5d84\0\u5dd0\0\u5e1c\0\u0b48\0\u5e68\0\u0b48\0\u5eb4"+
- "\0\u5f00\0\u0b48\0\u0b48\0\u0b48\0\u5f4c\0\u5f98\0\u5fe4\0\u6030"+
- "\0\u607c\0\u0b48\0\u60c8\0\u6114\0\u6160\0\u61ac\0\u61f8\0\u6244"+
- "\0\u6290\0\u62dc\0\u6328\0\u6374\0\u63c0\0\u640c\0\u0214\0\u02ac"+
- "\0\u6458\0\u64a4\0\u64f0\0\u653c\0\u6588\0\u65d4\0\u6620\0\u666c"+
- "\0\u66b8\0\u0b48\0\u6704\0\u6750\0\u679c\0\u67e8\0\u6834\0\u6880"+
- "\0\u68cc\0\u6918\0\u6964\0\u0b48\0\u69b0\0\u69fc\0\u6a48\0\u6a94"+
- "\0\u6ae0\0\u6b2c\0\u0214\0\u6b78\0\u02ac\0\u6bc4\0\u6c10\0\u6c5c"+
- "\0\u6ca8\0\u6cf4\0\u6d40\0\u0214\0\u02ac\0\u6d8c\0\u6dd8\0\u0b48"+
- "\0\u6e24\0\u6e70\0\u6ebc\0\u6f08\0\u6f54\0\u6fa0\0\u0b48\0\u6fec"+
- "\0\u0b48\0\u7038\0\u7084\0\u70d0\0\u711c\0\u0b48\0\u7168\0\u0b48"+
- "\0\u71b4\0\u0b48\0\u0b48\0\u7200\0\u724c\0\u7298\0\u72e4\0\u7330"+
- "\0\u737c\0\u73c8\0\u0214\0\u02ac\0\u7414\0\u7460\0\u74ac\0\u74f8"+
- "\0\u7544\0\u7590\0\u75dc\0\u7628\0\u7674\0\u76c0\0\u770c\0\u7758"+
- "\0\u77a4\0\u0b48\0\u0b48\0\u77f0\0\u0b48\0\u0b48\0\u783c\0\u7888"+
- "\0\u78d4\0\u7920\0\u796c\0\u79b8\0\u7a04\0\u7a50\0\u7a9c\0\u7ae8"+
- "\0\u7b34\0\u7b80\0\u0214\0\u02ac\0\u0b48\0\u7bcc\0\u7c18\0\u7c64"+
- "\0\u7cb0\0\u7cfc\0\u7d48\0\u7d94\0\u7de0\0\u7e2c\0\u7e78\0\u7ec4"+
- "\0\u7f10\0\u7f5c\0\u7fa8\0\u7ff4\0\u8040\0\u808c\0\u80d8\0\u8124"+
- "\0\u8170\0\u81bc\0\u8208\0\u0b48\0\u8254\0\u82a0\0\u82ec\0\u8338"+
- "\0\u8384\0\u0b48\0\u83d0\0\u841c\0\u8468\0\u84b4\0\u8500\0\u854c"+
- "\0\u8598\0\u85e4\0\u8630\0\u867c\0\u86c8\0\u8714\0\u8760\0\u87ac"+
- "\0\u87f8\0\u8844\0\u8890\0\u88dc\0\u8928\0\u8974\0\u89c0\0\u8a0c"+
- "\0\u8a58\0\u8aa4\0\u0b48\0\u0214\0\u02ac\0\u8af0\0\u8b3c\0\u8b88"+
- "\0\u8bd4\0\u8c20\0\u8c6c\0\u8cb8\0\u8d04\0\u8d50\0\u8d9c\0\u8de8"+
- "\0\u8e34\0\u8e80\0\u8ecc\0\u8f18\0\u8f64\0\u8fb0\0\u8ffc\0\u9048"+
- "\0\u9094\0\u90e0\0\u912c\0\u0214\0\u02ac\0\u9178\0\u91c4\0\u9210"+
- "\0\u925c\0\u92a8\0\u92f4\0\u0b48\0\u9340\0\u938c\0\344\0\u93d8"+
- "\0\u9424\0\u9470\0\u94bc\0\u9508\0\u9554\0\u95a0\0\u95ec\0\u0b48"+
- "\0\u9638\0\u0b48\0\u9684\0\u96d0\0\u971c\0\u9768\0\u97b4\0\u0b48"+
- "\0\u0b48\0\u9800\0\u984c\0\u9898\0\u98e4\0\344\0\u0b48\0\u0b48"+
- "\0\u9930\0\u0b48\0\344\0\u0b48";
-
- private static int [] zzUnpackRowMap() {
- int [] result = new int[620];
- 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++);
+ 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;
}
- return j;
- }
- /**
- * The transition table of the DFA
- */
- private static final int [] ZZ_TRANS = zzUnpackTrans();
+ /**
+ * Translates a state to a row index in the transition table
+ */
+ private static final int[] ZZ_ROWMAP = zzUnpackRowMap();
- private static final String ZZ_TRANS_PACKED_0 =
- "\3\4\1\5\1\6\1\7\3\4\1\10\1\4\1\11"+
+ private static final String ZZ_ROWMAP_PACKED_0
+ = "\0\0\0\114\0\230\0\344\0\u0130\0\u017c\0\u01c8\0\u0214"
+ + "\0\u0260\0\u02ac\0\u02f8\0\u0344\0\u0390\0\u03dc\0\u0428\0\u0474"
+ + "\0\u04c0\0\u050c\0\u0558\0\u05a4\0\u05f0\0\u063c\0\u0688\0\u06d4"
+ + "\0\u0720\0\u076c\0\u07b8\0\u0804\0\u0850\0\u089c\0\u08e8\0\u0934"
+ + "\0\u0980\0\u09cc\0\344\0\u0a18\0\344\0\u0a64\0\344\0\u0ab0"
+ + "\0\344\0\u0afc\0\344\0\u0b48\0\u0b94\0\u0be0\0\u0c2c\0\u0c78"
+ + "\0\u0cc4\0\u0d10\0\u0d5c\0\u0da8\0\u0df4\0\u0e40\0\u0e8c\0\u0ed8"
+ + "\0\u0f24\0\u0f70\0\u0fbc\0\u1008\0\u1054\0\u10a0\0\344\0\u10ec"
+ + "\0\344\0\344\0\344\0\344\0\u1138\0\344\0\u0214\0\344"
+ + "\0\u1184\0\u11d0\0\u121c\0\u1268\0\u12b4\0\u1300\0\u134c\0\u1398"
+ + "\0\u13e4\0\u1430\0\u147c\0\u14c8\0\u1514\0\u1560\0\u15ac\0\u15f8"
+ + "\0\u1644\0\u1690\0\u16dc\0\u1728\0\u1774\0\u17c0\0\u180c\0\u1858"
+ + "\0\u18a4\0\u18f0\0\344\0\344\0\344\0\u193c\0\344\0\344"
+ + "\0\344\0\344\0\u1988\0\344\0\344\0\u19d4\0\u1a20\0\u1a6c"
+ + "\0\u1ab8\0\u1b04\0\u0be0\0\u0c78\0\u1b50\0\u1b9c\0\u1be8\0\u1c34"
+ + "\0\u1c80\0\u0b48\0\u1ccc\0\u1d18\0\u1d64\0\u1db0\0\u1dfc\0\u1e48"
+ + "\0\u1e94\0\u1ee0\0\u1f2c\0\u1f78\0\u1fc4\0\u2010\0\u205c\0\u20a8"
+ + "\0\u20f4\0\u2140\0\u218c\0\u21d8\0\u2224\0\u2270\0\u22bc\0\u2308"
+ + "\0\u2354\0\u23a0\0\u23ec\0\u2438\0\u2484\0\u24d0\0\u251c\0\u2568"
+ + "\0\u25b4\0\u2600\0\u264c\0\u2698\0\u26e4\0\u2730\0\u277c\0\u27c8"
+ + "\0\u2814\0\u2860\0\u0214\0\u28ac\0\u02ac\0\u28f8\0\u2944\0\u2990"
+ + "\0\u29dc\0\u2a28\0\u2a74\0\u2ac0\0\u2b0c\0\u2b58\0\u2ba4\0\u2bf0"
+ + "\0\u2c3c\0\u2c88\0\u2cd4\0\u2d20\0\u2d6c\0\u2db8\0\u2db8\0\u2e04"
+ + "\0\u2e50\0\u2e9c\0\u2ee8\0\u2f34\0\u2f80\0\u2fcc\0\u3018\0\u3064"
+ + "\0\u30b0\0\u30fc\0\u3148\0\u3194\0\u31e0\0\u322c\0\u3278\0\u32c4"
+ + "\0\u3310\0\u335c\0\u33a8\0\u33f4\0\u3440\0\u348c\0\u34d8\0\u3524"
+ + "\0\u3570\0\u35bc\0\u3608\0\u3654\0\u36a0\0\u36ec\0\u3738\0\u3784"
+ + "\0\u37d0\0\u381c\0\u3868\0\u38b4\0\u3900\0\u394c\0\u3998\0\u0214"
+ + "\0\u02ac\0\u0214\0\u02ac\0\u39e4\0\u3a30\0\u3a7c\0\u3ac8\0\u3b14"
+ + "\0\u3b60\0\u3bac\0\u3bf8\0\u0214\0\u02ac\0\u3c44\0\u3c90\0\u0214"
+ + "\0\u02ac\0\u3cdc\0\u3d28\0\344\0\u193c\0\u3d74\0\u3dc0\0\u3e0c"
+ + "\0\u3e58\0\u3ea4\0\u3ef0\0\u3f3c\0\u3f88\0\u3fd4\0\u4020\0\u406c"
+ + "\0\u0b48\0\u40b8\0\u4104\0\u4150\0\u419c\0\u41e8\0\u4234\0\u0b48"
+ + "\0\u4280\0\u42cc\0\u4318\0\u4364\0\u43b0\0\u43fc\0\u4448\0\u4494"
+ + "\0\u44e0\0\u452c\0\u4578\0\u0b48\0\u45c4\0\u0b48\0\u4610\0\u465c"
+ + "\0\u46a8\0\u46f4\0\u4740\0\u478c\0\u47d8\0\u4824\0\u4870\0\u48bc"
+ + "\0\u4908\0\u4954\0\u49a0\0\u49ec\0\u4a38\0\u0214\0\u02ac\0\u4a84"
+ + "\0\u4ad0\0\u4b1c\0\u4b68\0\u4bb4\0\u4c00\0\u4c4c\0\u4c98\0\u4ce4"
+ + "\0\u4d30\0\u4d7c\0\344\0\u4dc8\0\u0b48\0\u0b48\0\u4e14\0\u4e60"
+ + "\0\u4eac\0\u4ef8\0\u4f44\0\u4f90\0\u4fdc\0\u5028\0\u5074\0\u50c0"
+ + "\0\u510c\0\u5158\0\u51a4\0\u51f0\0\u523c\0\u5288\0\u52d4\0\u5320"
+ + "\0\u536c\0\u0b48\0\u0b48\0\u53b8\0\u5404\0\u5450\0\u549c\0\u54e8"
+ + "\0\u5534\0\u0b48\0\u0214\0\u5580\0\u55cc\0\u02ac\0\u5618\0\u5664"
+ + "\0\u56b0\0\u56fc\0\u5748\0\u5794\0\u57e0\0\u582c\0\u5878\0\u58c4"
+ + "\0\u5910\0\u595c\0\u59a8\0\u59f4\0\u5a40\0\u0b48\0\u5a8c\0\u5ad8"
+ + "\0\u5b24\0\u5b70\0\u5bbc\0\u0b48\0\u5c08\0\u5c54\0\u5ca0\0\u5cec"
+ + "\0\u5d38\0\u5d84\0\u5dd0\0\u5e1c\0\u0b48\0\u5e68\0\u0b48\0\u5eb4"
+ + "\0\u5f00\0\u0b48\0\u0b48\0\u0b48\0\u5f4c\0\u5f98\0\u5fe4\0\u6030"
+ + "\0\u607c\0\u0b48\0\u60c8\0\u6114\0\u6160\0\u61ac\0\u61f8\0\u6244"
+ + "\0\u6290\0\u62dc\0\u6328\0\u6374\0\u63c0\0\u640c\0\u0214\0\u02ac"
+ + "\0\u6458\0\u64a4\0\u64f0\0\u653c\0\u6588\0\u65d4\0\u6620\0\u666c"
+ + "\0\u66b8\0\u0b48\0\u6704\0\u6750\0\u679c\0\u67e8\0\u6834\0\u6880"
+ + "\0\u68cc\0\u6918\0\u6964\0\u0b48\0\u69b0\0\u69fc\0\u6a48\0\u6a94"
+ + "\0\u6ae0\0\u6b2c\0\u0214\0\u6b78\0\u02ac\0\u6bc4\0\u6c10\0\u6c5c"
+ + "\0\u6ca8\0\u6cf4\0\u6d40\0\u0214\0\u02ac\0\u6d8c\0\u6dd8\0\u0b48"
+ + "\0\u6e24\0\u6e70\0\u6ebc\0\u6f08\0\u6f54\0\u6fa0\0\u0b48\0\u6fec"
+ + "\0\u0b48\0\u7038\0\u7084\0\u70d0\0\u711c\0\u0b48\0\u7168\0\u0b48"
+ + "\0\u71b4\0\u0b48\0\u0b48\0\u7200\0\u724c\0\u7298\0\u72e4\0\u7330"
+ + "\0\u737c\0\u73c8\0\u0214\0\u02ac\0\u7414\0\u7460\0\u74ac\0\u74f8"
+ + "\0\u7544\0\u7590\0\u75dc\0\u7628\0\u7674\0\u76c0\0\u770c\0\u7758"
+ + "\0\u77a4\0\u0b48\0\u0b48\0\u77f0\0\u0b48\0\u0b48\0\u783c\0\u7888"
+ + "\0\u78d4\0\u7920\0\u796c\0\u79b8\0\u7a04\0\u7a50\0\u7a9c\0\u7ae8"
+ + "\0\u7b34\0\u7b80\0\u0214\0\u02ac\0\u0b48\0\u7bcc\0\u7c18\0\u7c64"
+ + "\0\u7cb0\0\u7cfc\0\u7d48\0\u7d94\0\u7de0\0\u7e2c\0\u7e78\0\u7ec4"
+ + "\0\u7f10\0\u7f5c\0\u7fa8\0\u7ff4\0\u8040\0\u808c\0\u80d8\0\u8124"
+ + "\0\u8170\0\u81bc\0\u8208\0\u0b48\0\u8254\0\u82a0\0\u82ec\0\u8338"
+ + "\0\u8384\0\u0b48\0\u83d0\0\u841c\0\u8468\0\u84b4\0\u8500\0\u854c"
+ + "\0\u8598\0\u85e4\0\u8630\0\u867c\0\u86c8\0\u8714\0\u8760\0\u87ac"
+ + "\0\u87f8\0\u8844\0\u8890\0\u88dc\0\u8928\0\u8974\0\u89c0\0\u8a0c"
+ + "\0\u8a58\0\u8aa4\0\u0b48\0\u0214\0\u02ac\0\u8af0\0\u8b3c\0\u8b88"
+ + "\0\u8bd4\0\u8c20\0\u8c6c\0\u8cb8\0\u8d04\0\u8d50\0\u8d9c\0\u8de8"
+ + "\0\u8e34\0\u8e80\0\u8ecc\0\u8f18\0\u8f64\0\u8fb0\0\u8ffc\0\u9048"
+ + "\0\u9094\0\u90e0\0\u912c\0\u0214\0\u02ac\0\u9178\0\u91c4\0\u9210"
+ + "\0\u925c\0\u92a8\0\u92f4\0\u0b48\0\u9340\0\u938c\0\344\0\u93d8"
+ + "\0\u9424\0\u9470\0\u94bc\0\u9508\0\u9554\0\u95a0\0\u95ec\0\u0b48"
+ + "\0\u9638\0\u0b48\0\u9684\0\u96d0\0\u971c\0\u9768\0\u97b4\0\u0b48"
+ + "\0\u0b48\0\u9800\0\u984c\0\u9898\0\u98e4\0\344\0\u0b48\0\u0b48"
+ + "\0\u9930\0\u0b48\0\344\0\u0b48";
+
+ private static int[] zzUnpackRowMap() {
+ int[] result = new int[620];
+ 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
+ = "\3\4\1\5\1\6\1\7\3\4\1\10\1\4\1\11"+
"\1\12\1\10\4\4\1\13\1\14\1\4\1\15\1\16"+
"\1\4\1\10\1\12\1\17\1\20\1\21\1\22\1\23"+
"\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\10"+
@@ -2457,149 +2467,180 @@ public final class Flasm3Lexer {
"\2\u026c\1\0\2\54\1\0\24\54\1\0\20\54\1\0"+
"\2\54\4\0\2\54\1\0\1\54\3\0\1\54";
- private static int [] zzUnpackTrans() {
- int [] result = new int[39292];
- 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);
+ private static int[] zzUnpackTrans() {
+ int[] result = new int[39292];
+ int offset = 0;
+ offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
+ return result;
}
- return j;
- }
+ private static int zzUnpackTrans(String packed, int offset, int[] result) {
+ int i = 0; /* index in packed string */
- /* 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;
+ int j = offset; /* index in unpacked array */
- /* 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 aState
- */
- private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
-
- private static final String ZZ_ATTRIBUTE_PACKED_0 =
- "\3\0\1\11\36\1\1\11\1\1\1\11\1\1\1\11"+
- "\1\1\1\11\1\1\1\11\23\1\1\11\1\1\4\11"+
- "\1\1\1\11\1\0\1\11\2\0\2\1\1\0\1\1"+
- "\1\0\1\1\1\0\1\1\1\0\1\1\1\0\1\1"+
- "\1\0\1\1\1\0\1\1\1\0\1\1\1\0\1\1"+
- "\1\0\1\1\1\0\1\1\3\11\1\1\4\11\1\1"+
- "\2\11\3\1\2\0\1\1\1\0\41\1\2\0\2\1"+
- "\1\0\1\1\1\0\1\1\1\0\1\1\1\0\1\1"+
- "\1\0\3\1\1\0\1\1\1\0\1\1\1\0\1\1"+
- "\1\0\1\1\1\0\1\1\1\0\1\1\2\0\3\1"+
- "\2\0\41\1\2\0\2\1\1\0\5\1\1\0\1\1"+
- "\1\0\1\1\1\0\1\1\1\0\3\1\1\0\3\1"+
- "\1\0\1\1\1\11\1\0\3\1\1\0\42\1\3\0"+
- "\3\1\1\0\5\1\1\0\1\1\1\0\1\1\1\0"+
- "\1\1\1\0\4\1\1\11\40\1\2\0\3\1\1\0"+
- "\1\1\1\0\1\1\1\0\1\1\1\0\1\1\1\0"+
- "\1\1\1\0\37\1\2\0\2\1\1\0\1\1\1\0"+
- "\1\1\1\0\1\1\1\0\3\1\1\0\30\1\1\0"+
- "\3\1\1\0\1\1\1\0\1\1\1\0\3\1\1\0"+
- "\30\1\1\0\1\1\1\0\3\1\1\0\1\1\1\0"+
- "\21\1\1\0\1\1\3\0\3\1\1\0\20\1\1\0"+
- "\1\1\3\0\3\1\1\0\15\1\1\0\1\1\3\0"+
- "\3\1\1\0\15\1\3\0\2\1\1\0\12\1\4\0"+
- "\15\1\1\11\2\0\11\1\3\0\6\1\2\0\1\11"+
- "\4\1\1\11\1\1";
-
- private static int [] zzUnpackAttribute() {
- int [] result = new int[620];
- 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);
+ 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;
}
- return j;
- }
- /** the input device */
- private java.io.Reader zzReader;
- /** the current state of the DFA */
- private int zzState;
+ /* 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;
- /** the current lexical state */
- private int zzLexicalState = YYINITIAL;
+ /* 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"
+ };
- /** this buffer contains the current text to be matched and is
- the source of the yytext() string */
- private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
+ /**
+ * ZZ_ATTRIBUTE[aState] contains the attributes of state aState
+ */
+ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute();
- /** the textposition at the last accepting state */
- private int zzMarkedPos;
+ private static final String ZZ_ATTRIBUTE_PACKED_0
+ = "\3\0\1\11\36\1\1\11\1\1\1\11\1\1\1\11"
+ + "\1\1\1\11\1\1\1\11\23\1\1\11\1\1\4\11"
+ + "\1\1\1\11\1\0\1\11\2\0\2\1\1\0\1\1"
+ + "\1\0\1\1\1\0\1\1\1\0\1\1\1\0\1\1"
+ + "\1\0\1\1\1\0\1\1\1\0\1\1\1\0\1\1"
+ + "\1\0\1\1\1\0\1\1\3\11\1\1\4\11\1\1"
+ + "\2\11\3\1\2\0\1\1\1\0\41\1\2\0\2\1"
+ + "\1\0\1\1\1\0\1\1\1\0\1\1\1\0\1\1"
+ + "\1\0\3\1\1\0\1\1\1\0\1\1\1\0\1\1"
+ + "\1\0\1\1\1\0\1\1\1\0\1\1\2\0\3\1"
+ + "\2\0\41\1\2\0\2\1\1\0\5\1\1\0\1\1"
+ + "\1\0\1\1\1\0\1\1\1\0\3\1\1\0\3\1"
+ + "\1\0\1\1\1\11\1\0\3\1\1\0\42\1\3\0"
+ + "\3\1\1\0\5\1\1\0\1\1\1\0\1\1\1\0"
+ + "\1\1\1\0\4\1\1\11\40\1\2\0\3\1\1\0"
+ + "\1\1\1\0\1\1\1\0\1\1\1\0\1\1\1\0"
+ + "\1\1\1\0\37\1\2\0\2\1\1\0\1\1\1\0"
+ + "\1\1\1\0\1\1\1\0\3\1\1\0\30\1\1\0"
+ + "\3\1\1\0\1\1\1\0\1\1\1\0\3\1\1\0"
+ + "\30\1\1\0\1\1\1\0\3\1\1\0\1\1\1\0"
+ + "\21\1\1\0\1\1\3\0\3\1\1\0\20\1\1\0"
+ + "\1\1\3\0\3\1\1\0\15\1\1\0\1\1\3\0"
+ + "\3\1\1\0\15\1\3\0\2\1\1\0\12\1\4\0"
+ + "\15\1\1\11\2\0\11\1\3\0\6\1\2\0\1\11"
+ + "\4\1\1\11\1\1";
- /** the current text position in the buffer */
- private int zzCurrentPos;
+ private static int[] zzUnpackAttribute() {
+ int[] result = new int[620];
+ int offset = 0;
+ offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
+ return result;
+ }
- /** startRead marks the beginning of the yytext() string in the buffer */
- private int zzStartRead;
+ private static int zzUnpackAttribute(String packed, int offset, int[] result) {
+ int i = 0; /* index in packed string */
- /** endRead marks the last character in the buffer, that has been read
- from input */
- private int zzEndRead;
+ int j = offset; /* index in unpacked array */
- /** number of newlines encountered up to the start of the matched text */
- private int yyline;
+ 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 number of characters up to the start of the matched text */
- private int yychar;
+ /**
+ * the input device
+ */
+ private java.io.Reader zzReader;
- /**
- * the number of characters from the last newline up to the start of the
- * matched text
- */
- private int yycolumn;
+ /**
+ * the current state of the DFA
+ */
+ private int zzState;
- /**
- * zzAtBOL == true <=> the scanner is currently at the beginning of a line
- */
- private boolean zzAtBOL = true;
+ /**
+ * the current lexical state
+ */
+ private int zzLexicalState = YYINITIAL;
- /** zzAtEOF == true <=> the scanner is at the EOF */
- private boolean zzAtEOF;
+ /**
+ * this buffer contains the current text to be matched and is the source of
+ * the yytext() string
+ */
+ private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
- /** denotes if the user-EOF-code has already been executed */
- private boolean zzEOFDone;
-
- /**
- * The number of occupied positions in zzBuffer beyond zzEndRead.
- * When a lead/high surrogate has been read from the input stream
- * into the final zzBuffer position, this will have a value of 1;
- * otherwise, it will have a value of 0.
- */
- private int zzFinalHighSurrogate = 0;
+ /**
+ * the textposition at the last accepting state
+ */
+ private int zzMarkedPos;
- /* user code: */
+ /**
+ * 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;
+
+ /**
+ * denotes if the user-EOF-code has already been executed
+ */
+ private boolean zzEOFDone;
+
+ /**
+ * The number of occupied positions in zzBuffer beyond zzEndRead. When a
+ * lead/high surrogate has been read from the input stream into the final
+ * zzBuffer position, this will have a value of 1; otherwise, it will have a
+ * value of 0.
+ */
+ private int zzFinalHighSurrogate = 0;
+
+ /* user code: */
StringBuffer string = new StringBuffer();
boolean isMultiname = false;
long multinameId = 0;
@@ -2628,9 +2669,10 @@ public final class Flasm3Lexer {
}
ParsedSymbol last;
- public ParsedSymbol lex() throws java.io.IOException, AVM2ParseException{
+
+ public ParsedSymbol lex() throws java.io.IOException, AVM2ParseException {
ParsedSymbol ret = null;
- if (!pushedBack.isEmpty()){
+ if (!pushedBack.isEmpty()) {
ret = last = pushedBack.pop();
} else {
ret = last = yylex();
@@ -2638,805 +2680,932 @@ public final class Flasm3Lexer {
return ret;
}
-
-
- /**
- * Creates a new scanner
- *
- * @param in the java.io.Reader to read input from.
- */
- public Flasm3Lexer(java.io.Reader in) {
- this.zzReader = in;
- }
-
-
- /**
- * Unpacks the compressed character translation table.
- *
- * @param packed the packed character translation table
- * @return the unpacked character translation table
- */
- private static char [] zzUnpackCMap(String packed) {
- char [] map = new char[0x110000];
- int i = 0; /* index in packed string */
- int j = 0; /* index in unpacked array */
- while (i < 2916) {
- int count = packed.charAt(i++);
- char value = packed.charAt(i++);
- do map[j++] = value; while (--count > 0);
- }
- return map;
- }
-
-
- /**
- * Refills the input buffer.
- *
- * @return false, 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) {
- zzEndRead += zzFinalHighSurrogate;
- zzFinalHighSurrogate = 0;
- System.arraycopy(zzBuffer, zzStartRead,
- zzBuffer, 0,
- zzEndRead-zzStartRead);
-
- /* translate stored positions */
- zzEndRead-= zzStartRead;
- zzCurrentPos-= zzStartRead;
- zzMarkedPos-= zzStartRead;
- zzStartRead = 0;
+ /**
+ * Creates a new scanner
+ *
+ * @param in the java.io.Reader to read input from.
+ */
+ public Flasm3Lexer(java.io.Reader in) {
+ this.zzReader = in;
}
- /* is the buffer big enough? */
- if (zzCurrentPos >= zzBuffer.length - zzFinalHighSurrogate) {
- /* if not: blow it up */
- char newBuffer[] = new char[zzBuffer.length*2];
- System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
- zzBuffer = newBuffer;
- zzEndRead += zzFinalHighSurrogate;
- zzFinalHighSurrogate = 0;
- }
+ /**
+ * Unpacks the compressed character translation table.
+ *
+ * @param packed the packed character translation table
+ * @return the unpacked character translation table
+ */
+ private static char[] zzUnpackCMap(String packed) {
+ char[] map = new char[0x110000];
+ int i = 0; /* index in packed string */
- /* fill the buffer with new input */
- int requested = zzBuffer.length - zzEndRead;
- int totalRead = 0;
- while (totalRead < requested) {
- int numRead = zzReader.read(zzBuffer, zzEndRead + totalRead, requested - totalRead);
- if (numRead == -1) {
- break;
- }
- totalRead += numRead;
- }
+ int j = 0; /* index in unpacked array */
- if (totalRead > 0) {
- zzEndRead += totalRead;
- if (totalRead == requested) { /* possibly more input available */
- if (Character.isHighSurrogate(zzBuffer[zzEndRead - 1])) {
- --zzEndRead;
- zzFinalHighSurrogate = 1;
+ while (i < 2916) {
+ int count = packed.charAt(i++);
+ char value = packed.charAt(i++);
+ do {
+ map[j++] = value;
+ } while (--count > 0);
}
- }
- return false;
+ return map;
}
- // totalRead = 0: End of stream
- return true;
- }
+ /**
+ * Refills the input buffer.
+ *
+ * @return false, iff there was new input.
+ *
+ * @exception java.io.IOException if any I/O-Error occurs
+ */
+ private boolean zzRefill() throws java.io.IOException {
-
- /**
- * Closes the input stream.
- */
- public final void yyclose() throws java.io.IOException {
- zzAtEOF = true; /* indicate end of file */
- zzEndRead = zzStartRead; /* invalidate buffer */
+ /* first: make room (if you can) */
+ if (zzStartRead > 0) {
+ zzEndRead += zzFinalHighSurrogate;
+ zzFinalHighSurrogate = 0;
+ System.arraycopy(zzBuffer, zzStartRead,
+ zzBuffer, 0,
+ zzEndRead - zzStartRead);
- 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
- * cannot be reused (internal buffer is discarded and lost).
- * Lexical state is set to ZZ_INITIAL.
- *
- * Internal scan buffer is resized down to its initial length, if it has grown.
- *
- * @param reader the new input stream
- */
- public final void yyreset(java.io.Reader reader) {
- zzReader = reader;
- zzAtBOL = true;
- zzAtEOF = false;
- zzEOFDone = false;
- zzEndRead = zzStartRead = 0;
- zzCurrentPos = zzMarkedPos = 0;
- zzFinalHighSurrogate = 0;
- yyline = yychar = yycolumn = 0;
- zzLexicalState = YYINITIAL;
- if (zzBuffer.length > ZZ_BUFFERSIZE)
- zzBuffer = new char[ZZ_BUFFERSIZE];
- }
-
-
- /**
- * 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 pos 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 ParsedSymbol yylex() throws java.io.IOException, AVM2ParseException {
- 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;
-
- while (true) {
- zzMarkedPosL = zzMarkedPos;
-
- yychar+= zzMarkedPosL-zzStartRead;
-
- boolean zzR = false;
- int zzCh;
- int zzCharCount;
- for (zzCurrentPosL = zzStartRead ;
- zzCurrentPosL < zzMarkedPosL ;
- zzCurrentPosL += zzCharCount ) {
- zzCh = Character.codePointAt(zzBufferL, zzCurrentPosL, zzMarkedPosL);
- zzCharCount = Character.charCount(zzCh);
- switch (zzCh) {
- 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 += zzCharCount;
+ /* translate stored positions */
+ zzEndRead -= zzStartRead;
+ zzCurrentPos -= zzStartRead;
+ zzMarkedPos -= zzStartRead;
+ zzStartRead = 0;
}
- }
- 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';
+ /* is the buffer big enough? */
+ if (zzCurrentPos >= zzBuffer.length - zzFinalHighSurrogate) {
+ /* if not: blow it up */
+ char newBuffer[] = new char[zzBuffer.length * 2];
+ System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
+ zzBuffer = newBuffer;
+ zzEndRead += zzFinalHighSurrogate;
+ zzFinalHighSurrogate = 0;
}
- if (zzPeek) yyline--;
- }
- zzAction = -1;
- zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
-
- zzState = ZZ_LEXSTATE[zzLexicalState];
+ /* fill the buffer with new input */
+ int requested = zzBuffer.length - zzEndRead;
+ int totalRead = 0;
+ while (totalRead < requested) {
+ int numRead = zzReader.read(zzBuffer, zzEndRead + totalRead, requested - totalRead);
+ if (numRead == -1) {
+ break;
+ }
+ totalRead += numRead;
+ }
- // set up zzAction for empty match case:
- int zzAttributes = zzAttrL[zzState];
- if ( (zzAttributes & 1) == 1 ) {
- zzAction = zzState;
- }
+ if (totalRead > 0) {
+ zzEndRead += totalRead;
+ if (totalRead == requested) { /* possibly more input available */
+ if (Character.isHighSurrogate(zzBuffer[zzEndRead - 1])) {
+ --zzEndRead;
+ zzFinalHighSurrogate = 1;
+ }
+ }
+ return false;
+ }
+
+ // totalRead = 0: End of stream
+ return true;
+ }
+
+ /**
+ * Closes the input stream.
+ *
+ * @throws java.io.IOException
+ */
+ 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
+ * cannot be reused (internal buffer is discarded and lost). Lexical
+ * state is set to ZZ_INITIAL.
+ *
+ * Internal scan buffer is resized down to its initial length, if it has
+ * grown.
+ *
+ * @param reader the new input stream
+ */
+ public final void yyreset(java.io.Reader reader) {
+ zzReader = reader;
+ zzAtBOL = true;
+ zzAtEOF = false;
+ zzEOFDone = false;
+ zzEndRead = zzStartRead = 0;
+ zzCurrentPos = zzMarkedPos = 0;
+ zzFinalHighSurrogate = 0;
+ yyline = yychar = yycolumn = 0;
+ zzLexicalState = YYINITIAL;
+ if (zzBuffer.length > ZZ_BUFFERSIZE) {
+ zzBuffer = new char[ZZ_BUFFERSIZE];
+ }
+ }
+
+ /**
+ * Returns the current lexical state.
+ *
+ * @return
+ */
+ 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.
+ *
+ * @return
+ */
+ public final String yytext() {
+ return new String(zzBuffer, zzStartRead, zzMarkedPos - zzStartRead);
+ }
+
+ /**
+ * Returns the character at position pos 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.
+ *
+ * @return
+ */
+ 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
+ * @throws com.jpexs.decompiler.flash.abc.avm2.parser.AVM2ParseException
+ */
+ public ParsedSymbol yylex() throws java.io.IOException, AVM2ParseException {
+ 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;
- zzForAction: {
while (true) {
-
- if (zzCurrentPosL < zzEndReadL) {
- zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
- zzCurrentPosL += Character.charCount(zzInput);
- }
- else if (zzAtEOF) {
- zzInput = YYEOF;
- break zzForAction;
- }
- else {
- // store back cached positions
- zzCurrentPos = zzCurrentPosL;
- zzMarkedPos = zzMarkedPosL;
- boolean eof = zzRefill();
- // get translated positions and possibly new buffer
- zzCurrentPosL = zzCurrentPos;
- zzMarkedPosL = zzMarkedPos;
- zzBufferL = zzBuffer;
- zzEndReadL = zzEndRead;
- if (eof) {
- zzInput = YYEOF;
- break zzForAction;
- }
- else {
- zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
- zzCurrentPosL += Character.charCount(zzInput);
- }
- }
- int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
- if (zzNext == -1) break zzForAction;
- zzState = zzNext;
+ zzMarkedPosL = zzMarkedPos;
- zzAttributes = zzAttrL[zzState];
- if ( (zzAttributes & 1) == 1 ) {
- zzAction = zzState;
- zzMarkedPosL = zzCurrentPosL;
- if ( (zzAttributes & 8) == 8 ) break zzForAction;
- }
+ yychar += zzMarkedPosL - zzStartRead;
+ boolean zzR = false;
+ int zzCh;
+ int zzCharCount;
+ for (zzCurrentPosL = zzStartRead;
+ zzCurrentPosL < zzMarkedPosL;
+ zzCurrentPosL += zzCharCount) {
+ zzCh = Character.codePointAt(zzBufferL, zzCurrentPosL, zzMarkedPosL);
+ zzCharCount = Character.charCount(zzCh);
+ switch (zzCh) {
+ 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 += zzCharCount;
+ }
+ }
+
+ 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 = ZZ_LEXSTATE[zzLexicalState];
+
+ // set up zzAction for empty match case:
+ int zzAttributes = zzAttrL[zzState];
+ if ((zzAttributes & 1) == 1) {
+ zzAction = zzState;
+ }
+
+ zzForAction:
+ {
+ while (true) {
+
+ if (zzCurrentPosL < zzEndReadL) {
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
+ zzCurrentPosL += Character.charCount(zzInput);
+ } else if (zzAtEOF) {
+ zzInput = YYEOF;
+ break zzForAction;
+ } else {
+ // store back cached positions
+ zzCurrentPos = zzCurrentPosL;
+ zzMarkedPos = zzMarkedPosL;
+ boolean eof = zzRefill();
+ // get translated positions and possibly new buffer
+ zzCurrentPosL = zzCurrentPos;
+ zzMarkedPosL = zzMarkedPos;
+ zzBufferL = zzBuffer;
+ zzEndReadL = zzEndRead;
+ if (eof) {
+ zzInput = YYEOF;
+ break zzForAction;
+ } else {
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
+ zzCurrentPosL += Character.charCount(zzInput);
+ }
+ }
+ int zzNext = zzTransL[zzRowMapL[zzState] + zzCMapL[zzInput]];
+ if (zzNext == -1) {
+ break zzForAction;
+ }
+ zzState = zzNext;
+
+ zzAttributes = zzAttrL[zzState];
+ if ((zzAttributes & 1) == 1) {
+ zzAction = zzState;
+ zzMarkedPosL = zzCurrentPosL;
+ if ((zzAttributes & 8) == 8) {
+ break zzForAction;
+ }
+ }
+
+ }
+ }
+
+ // store back cached position
+ zzMarkedPos = zzMarkedPosL;
+
+ switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
+ case 1: {
+ }
+ case 101:
+ break;
+ case 2: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_COMMENT, yytext().substring(1));
+ }
+ case 102:
+ break;
+ case 3: {
+ yybegin(PARAMETERS);
+ return new ParsedSymbol(ParsedSymbol.TYPE_INSTRUCTION_NAME, yytext());
+ }
+ case 103:
+ break;
+ case 4: {
+ string.append(yytext());
+ }
+ case 104:
+ break;
+ case 5: {
+ throw new AVM2ParseException("Unterminated string at end of line", yyline + 1);
+ }
+ case 105:
+ break;
+ case 6: {
+ yybegin(PARAMETERS);
+ // length also includes the trailing quote
+ if (isMultiname) {
+ return new ParsedSymbol(ParsedSymbol.TYPE_MULTINAME, multinameId);
+ } else {
+ return new ParsedSymbol(ParsedSymbol.TYPE_STRING, string.toString());
+ }
+ }
+ case 106:
+ break;
+ case 7: {
+ yybegin(YYINITIAL);
+ }
+ case 107:
+ break;
+ case 8: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_IDENTIFIER, yytext());
+ }
+ case 108:
+ break;
+ case 9: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_BRACKET_OPEN, yytext());
+ }
+ case 109:
+ break;
+ case 10: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_INTEGER, Long.parseLong((yytext())));
+ }
+ case 110:
+ break;
+ case 11: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_BRACKET_CLOSE, yytext());
+ }
+ case 111:
+ break;
+ case 12: {
+ isMultiname = false;
+ yybegin(STRING);
+ string.setLength(0);
+ }
+ case 112:
+ break;
+ case 13: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_PARENT_OPEN, yytext());
+ }
+ case 113:
+ break;
+ case 14: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_PARENT_CLOSE, yytext());
+ }
+ case 114:
+ break;
+ case 15: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_LOWERTHAN, yytext());
+ }
+ case 115:
+ break;
+ case 16: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_GREATERTHAN, yytext());
+ }
+ case 116:
+ break;
+ case 17: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_COMMA, yytext());
+ }
+ case 117:
+ break;
+ case 18: {
+ String s = yytext();
+ return new ParsedSymbol(ParsedSymbol.TYPE_LABEL, s.substring(0, s.length() - 1));
+ }
+ case 118:
+ break;
+ case 19: {
+ throw new AVM2ParseException("Illegal escape sequence \"" + yytext() + "\"", yyline + 1);
+ }
+ case 119:
+ break;
+ case 20: {
+ string.append('\b');
+ }
+ case 120:
+ break;
+ case 21: {
+ string.append('\\');
+ }
+ case 121:
+ break;
+ case 22: {
+ string.append('\t');
+ }
+ case 122:
+ break;
+ case 23: {
+ string.append('\n');
+ }
+ case 123:
+ break;
+ case 24: {
+ string.append('\r');
+ }
+ case 124:
+ break;
+ case 25: {
+ string.append('\f');
+ }
+ case 125:
+ break;
+ case 26: {
+ string.append('\"');
+ }
+ case 126:
+ break;
+ case 27: {
+ string.append('\'');
+ }
+ case 127:
+ break;
+ case 28: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_FLOAT, Double.parseDouble((yytext())));
+ }
+ case 128:
+ break;
+ case 29: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_TO, yytext());
+ }
+ case 129:
+ break;
+ case 30: {
+ yybegin(PARAMETERS);
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_TRY, yytext());
+ }
+ case 130:
+ break;
+ case 31: {
+ yybegin(PARAMETERS);
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_BODY, yytext());
+ }
+ case 131:
+ break;
+ case 32: {
+ yybegin(PARAMETERS);
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_CODE, yytext());
+ }
+ case 132:
+ break;
+ case 33: {
+ yybegin(PARAMETERS);
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_NAME, yytext());
+ }
+ case 133:
+ break;
+ case 34: {
+ yybegin(PARAMETERS);
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_FLAG, yytext());
+ }
+ case 134:
+ break;
+ case 35: {
+ char val = (char) Integer.parseInt(yytext().substring(2), 16);
+ string.append(val);
+ }
+ case 135:
+ break;
+ case 36: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_TRUE, yytext());
+ }
+ case 136:
+ break;
+ case 37: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_TYPE, yytext());
+ }
+ case 137:
+ break;
+ case 38: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_NAME, yytext());
+ }
+ case 138:
+ break;
+ case 39: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_NULL, yytext());
+ }
+ case 139:
+ break;
+ case 40: {
+ yybegin(PARAMETERS);
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_SLOT, yytext());
+ }
+ case 140:
+ break;
+ case 41: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_FROM, yytext());
+ }
+ case 141:
+ break;
+ case 42: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_UTF8, yytext());
+ }
+ case 142:
+ break;
+ case 43: {
+ yybegin(PARAMETERS);
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_PARAM, yytext());
+ }
+ case 143:
+ break;
+ case 44: {
+ yybegin(PARAMETERS);
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_TRAIT, yytext());
+ }
+ case 144:
+ break;
+ case 45: {
+ isMultiname = true;
+ String s = yytext();
+ multinameId = Long.parseLong(s.substring(2, s.length() - 2));
+ yybegin(STRING);
+ string.setLength(0);
+ }
+ case 145:
+ break;
+ case 46: {
+ yybegin(PARAMETERS);
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_CONST, yytext());
+ }
+ case 146:
+ break;
+ case 47: {
+ yybegin(PARAMETERS);
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_CLASS, yytext());
+ }
+ case 147:
+ break;
+ case 48: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_FINAL, yytext());
+ }
+ case 148:
+ break;
+ case 49: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_FALSE, yytext());
+ }
+ case 149:
+ break;
+ case 50: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_QNAME, yytext());
+ }
+ case 150:
+ break;
+ case 51: {
+ yybegin(PARAMETERS);
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_VALUE, yytext());
+ }
+ case 151:
+ break;
+ case 52: {
+ yybegin(PARAMETERS);
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_METHOD, yytext());
+ }
+ case 152:
+ break;
+ case 53: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_TARGET, yytext());
+ }
+ case 153:
+ break;
+ case 54: {
+ yybegin(PARAMETERS);
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_SETTER, yytext());
+ }
+ case 154:
+ break;
+ case 55: {
+ yybegin(PARAMETERS);
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_SLOTID, yytext());
+ }
+ case 155:
+ break;
+ case 56: {
+ yybegin(PARAMETERS);
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_DISPID, yytext());
+ }
+ case 156:
+ break;
+ case 57: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_DOUBLE, yytext());
+ }
+ case 157:
+ break;
+ case 58: {
+ yybegin(PARAMETERS);
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_GETTER, yytext());
+ }
+ case 158:
+ break;
+ case 59: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_QNAMEA, yytext());
+ }
+ case 159:
+ break;
+ case 60: {
+ yybegin(PARAMETERS);
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_RETURNS, yytext());
+ }
+ case 160:
+ break;
+ case 61: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_INTEGER, yytext());
+ }
+ case 161:
+ break;
+ case 62: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_RTQNAME, yytext());
+ }
+ case 162:
+ break;
+ case 63: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_DECIMAL, yytext());
+ }
+ case 163:
+ break;
+ case 64: {
+ yybegin(PARAMETERS);
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_MAXSTACK, yytext());
+ }
+ case 164:
+ break;
+ case 65: {
+ yybegin(PARAMETERS);
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_OPTIONAL, yytext());
+ }
+ case 165:
+ break;
+ case 66: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_METADATA, yytext());
+ }
+ case 166:
+ break;
+ case 67: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_EXPLICIT, yytext());
+ }
+ case 167:
+ break;
+ case 68: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_TYPENAME, yytext());
+ }
+ case 168:
+ break;
+ case 69: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_OVERRIDE, yytext());
+ }
+ case 169:
+ break;
+ case 70: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_SET_DXNS, yytext());
+ }
+ case 170:
+ break;
+ case 71: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_RTQNAMEA, yytext());
+ }
+ case 171:
+ break;
+ case 72: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_RTQNAMEL, yytext());
+ }
+ case 172:
+ break;
+ case 73: {
+ yybegin(PARAMETERS);
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_FUNCTION, yytext());
+ }
+ case 173:
+ break;
+ case 74: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_UINTEGER, yytext());
+ }
+ case 174:
+ break;
+ case 75: {
+ yybegin(PARAMETERS);
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_PARAMNAME, yytext());
+ }
+ case 175:
+ break;
+ case 76: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_MULTINAME, yytext());
+ }
+ case 176:
+ break;
+ case 77: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_NEED_REST, yytext());
+ }
+ case 177:
+ break;
+ case 78: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_NAMESPACE, yytext());
+ }
+ case 178:
+ break;
+ case 79: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_RTQNAMELA, yytext());
+ }
+ case 179:
+ break;
+ case 80: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_UNDEFINED, yytext());
+ }
+ case 180:
+ break;
+ case 81: {
+ yybegin(PARAMETERS);
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_LOCALCOUNT, yytext());
+ }
+ case 181:
+ break;
+ case 82: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_MULTINAMEA, yytext());
+ }
+ case 182:
+ break;
+ case 83: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_MULTINAMEL, yytext());
+ }
+ case 183:
+ break;
+ case 84: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_MULTINAMELA, yytext());
+ }
+ case 184:
+ break;
+ case 85: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_IGNORE_REST, yytext());
+ }
+ case 185:
+ break;
+ case 86: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_HAS_OPTIONAL, yytext());
+ }
+ case 186:
+ break;
+ case 87: {
+ yybegin(PARAMETERS);
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_MAXSCOPEDEPTH, yytext());
+ }
+ case 187:
+ break;
+ case 88: {
+ yybegin(PARAMETERS);
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_INITSCOPEDEPTH, yytext());
+ }
+ case 188:
+ break;
+ case 89: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_NEED_ARGUMENTS, yytext());
+ }
+ case 189:
+ break;
+ case 90: {
+ String s = yytext();
+ return new ParsedSymbol(ParsedSymbol.TYPE_EXCEPTION_END, Integer.parseInt(s.substring(13, s.length() - 1)));
+ }
+ case 190:
+ break;
+ case 91: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_NEED_ACTIVATION, yytext());
+ }
+ case 191:
+ break;
+ case 92: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_HAS_PARAM_NAMES, yytext());
+ }
+ case 192:
+ break;
+ case 93: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_PACKAGENAMESPACE, yytext());
+ }
+ case 193:
+ break;
+ case 94: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_PRIVATENAMESPACE, yytext());
+ }
+ case 194:
+ break;
+ case 95: {
+ String s = yytext();
+ return new ParsedSymbol(ParsedSymbol.TYPE_EXCEPTION_START, Integer.parseInt(s.substring(15, s.length() - 1)));
+ }
+ case 195:
+ break;
+ case 96: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_EXPLICITNAMESPACE, yytext());
+ }
+ case 196:
+ break;
+ case 97: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_PACKAGEINTERNALNS, yytext());
+ }
+ case 197:
+ break;
+ case 98: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_STATICPROTECTEDNS, yytext());
+ }
+ case 198:
+ break;
+ case 99: {
+ String s = yytext();
+ return new ParsedSymbol(ParsedSymbol.TYPE_EXCEPTION_TARGET, Integer.parseInt(s.substring(16, s.length() - 1)));
+ }
+ case 199:
+ break;
+ case 100: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_PROTECTEDNAMESPACE, yytext());
+ }
+ case 200:
+ break;
+ default:
+ if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
+ zzAtEOF = true;
+ {
+ return new ParsedSymbol(ParsedSymbol.TYPE_EOF);
+ }
+ } else {
+ zzScanError(ZZ_NO_MATCH);
+ }
+ }
}
- }
-
- // store back cached position
- zzMarkedPos = zzMarkedPosL;
-
- switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
- case 1:
- {
- }
- case 101: break;
- case 2:
- { return new ParsedSymbol(ParsedSymbol.TYPE_COMMENT, yytext().substring(1));
- }
- case 102: break;
- case 3:
- { yybegin(PARAMETERS);
- return new ParsedSymbol(ParsedSymbol.TYPE_INSTRUCTION_NAME, yytext());
- }
- case 103: break;
- case 4:
- { string.append(yytext());
- }
- case 104: break;
- case 5:
- { throw new AVM2ParseException("Unterminated string at end of line", yyline + 1);
- }
- case 105: break;
- case 6:
- { yybegin(PARAMETERS);
- // length also includes the trailing quote
- if (isMultiname){
- return new ParsedSymbol(ParsedSymbol.TYPE_MULTINAME, multinameId);
- } else {
- return new ParsedSymbol(ParsedSymbol.TYPE_STRING, string.toString());
- }
- }
- case 106: break;
- case 7:
- { yybegin(YYINITIAL);
- }
- case 107: break;
- case 8:
- { return new ParsedSymbol(ParsedSymbol.TYPE_IDENTIFIER, yytext());
- }
- case 108: break;
- case 9:
- { return new ParsedSymbol(ParsedSymbol.TYPE_BRACKET_OPEN, yytext());
- }
- case 109: break;
- case 10:
- { return new ParsedSymbol(ParsedSymbol.TYPE_INTEGER, Long.parseLong((yytext())));
- }
- case 110: break;
- case 11:
- { return new ParsedSymbol(ParsedSymbol.TYPE_BRACKET_CLOSE, yytext());
- }
- case 111: break;
- case 12:
- { isMultiname = false;
- yybegin(STRING);
- string.setLength(0);
- }
- case 112: break;
- case 13:
- { return new ParsedSymbol(ParsedSymbol.TYPE_PARENT_OPEN, yytext());
- }
- case 113: break;
- case 14:
- { return new ParsedSymbol(ParsedSymbol.TYPE_PARENT_CLOSE, yytext());
- }
- case 114: break;
- case 15:
- { return new ParsedSymbol(ParsedSymbol.TYPE_LOWERTHAN, yytext());
- }
- case 115: break;
- case 16:
- { return new ParsedSymbol(ParsedSymbol.TYPE_GREATERTHAN, yytext());
- }
- case 116: break;
- case 17:
- { return new ParsedSymbol(ParsedSymbol.TYPE_COMMA, yytext());
- }
- case 117: break;
- case 18:
- { String s = yytext();
- return new ParsedSymbol(ParsedSymbol.TYPE_LABEL, s.substring(0, s.length() - 1));
- }
- case 118: break;
- case 19:
- { throw new AVM2ParseException("Illegal escape sequence \"" + yytext() + "\"", yyline + 1);
- }
- case 119: break;
- case 20:
- { string.append('\b');
- }
- case 120: break;
- case 21:
- { string.append('\\');
- }
- case 121: break;
- case 22:
- { string.append('\t');
- }
- case 122: break;
- case 23:
- { string.append('\n');
- }
- case 123: break;
- case 24:
- { string.append('\r');
- }
- case 124: break;
- case 25:
- { string.append('\f');
- }
- case 125: break;
- case 26:
- { string.append('\"');
- }
- case 126: break;
- case 27:
- { string.append('\'');
- }
- case 127: break;
- case 28:
- { return new ParsedSymbol(ParsedSymbol.TYPE_FLOAT, Double.parseDouble((yytext())));
- }
- case 128: break;
- case 29:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_TO, yytext());
- }
- case 129: break;
- case 30:
- { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_TRY, yytext());
- }
- case 130: break;
- case 31:
- { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_BODY, yytext());
- }
- case 131: break;
- case 32:
- { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_CODE, yytext());
- }
- case 132: break;
- case 33:
- { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_NAME, yytext());
- }
- case 133: break;
- case 34:
- { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_FLAG, yytext());
- }
- case 134: break;
- case 35:
- { char val = (char) Integer.parseInt(yytext().substring(2), 16);
- string.append(val);
- }
- case 135: break;
- case 36:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_TRUE, yytext());
- }
- case 136: break;
- case 37:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_TYPE, yytext());
- }
- case 137: break;
- case 38:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_NAME, yytext());
- }
- case 138: break;
- case 39:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_NULL, yytext());
- }
- case 139: break;
- case 40:
- { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_SLOT, yytext());
- }
- case 140: break;
- case 41:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_FROM, yytext());
- }
- case 141: break;
- case 42:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_UTF8, yytext());
- }
- case 142: break;
- case 43:
- { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_PARAM, yytext());
- }
- case 143: break;
- case 44:
- { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_TRAIT, yytext());
- }
- case 144: break;
- case 45:
- { isMultiname = true;
- String s = yytext();
- multinameId = Long.parseLong(s.substring(2, s.length() - 2));
- yybegin(STRING);
- string.setLength(0);
- }
- case 145: break;
- case 46:
- { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_CONST, yytext());
- }
- case 146: break;
- case 47:
- { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_CLASS, yytext());
- }
- case 147: break;
- case 48:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_FINAL, yytext());
- }
- case 148: break;
- case 49:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_FALSE, yytext());
- }
- case 149: break;
- case 50:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_QNAME, yytext());
- }
- case 150: break;
- case 51:
- { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_VALUE, yytext());
- }
- case 151: break;
- case 52:
- { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_METHOD, yytext());
- }
- case 152: break;
- case 53:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_TARGET, yytext());
- }
- case 153: break;
- case 54:
- { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_SETTER, yytext());
- }
- case 154: break;
- case 55:
- { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_SLOTID, yytext());
- }
- case 155: break;
- case 56:
- { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_DISPID, yytext());
- }
- case 156: break;
- case 57:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_DOUBLE, yytext());
- }
- case 157: break;
- case 58:
- { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_GETTER, yytext());
- }
- case 158: break;
- case 59:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_QNAMEA, yytext());
- }
- case 159: break;
- case 60:
- { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_RETURNS, yytext());
- }
- case 160: break;
- case 61:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_INTEGER, yytext());
- }
- case 161: break;
- case 62:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_RTQNAME, yytext());
- }
- case 162: break;
- case 63:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_DECIMAL, yytext());
- }
- case 163: break;
- case 64:
- { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_MAXSTACK, yytext());
- }
- case 164: break;
- case 65:
- { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_OPTIONAL, yytext());
- }
- case 165: break;
- case 66:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_METADATA, yytext());
- }
- case 166: break;
- case 67:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_EXPLICIT, yytext());
- }
- case 167: break;
- case 68:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_TYPENAME, yytext());
- }
- case 168: break;
- case 69:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_OVERRIDE, yytext());
- }
- case 169: break;
- case 70:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_SET_DXNS, yytext());
- }
- case 170: break;
- case 71:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_RTQNAMEA, yytext());
- }
- case 171: break;
- case 72:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_RTQNAMEL, yytext());
- }
- case 172: break;
- case 73:
- { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_FUNCTION, yytext());
- }
- case 173: break;
- case 74:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_UINTEGER, yytext());
- }
- case 174: break;
- case 75:
- { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_PARAMNAME, yytext());
- }
- case 175: break;
- case 76:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_MULTINAME, yytext());
- }
- case 176: break;
- case 77:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_NEED_REST, yytext());
- }
- case 177: break;
- case 78:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_NAMESPACE, yytext());
- }
- case 178: break;
- case 79:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_RTQNAMELA, yytext());
- }
- case 179: break;
- case 80:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_UNDEFINED, yytext());
- }
- case 180: break;
- case 81:
- { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_LOCALCOUNT, yytext());
- }
- case 181: break;
- case 82:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_MULTINAMEA, yytext());
- }
- case 182: break;
- case 83:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_MULTINAMEL, yytext());
- }
- case 183: break;
- case 84:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_MULTINAMELA, yytext());
- }
- case 184: break;
- case 85:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_IGNORE_REST, yytext());
- }
- case 185: break;
- case 86:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_HAS_OPTIONAL, yytext());
- }
- case 186: break;
- case 87:
- { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_MAXSCOPEDEPTH, yytext());
- }
- case 187: break;
- case 88:
- { yybegin(PARAMETERS); return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_INITSCOPEDEPTH, yytext());
- }
- case 188: break;
- case 89:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_NEED_ARGUMENTS, yytext());
- }
- case 189: break;
- case 90:
- { String s=yytext();
- return new ParsedSymbol(ParsedSymbol.TYPE_EXCEPTION_END, Integer.parseInt(s.substring(13, s.length() - 1)));
- }
- case 190: break;
- case 91:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_NEED_ACTIVATION, yytext());
- }
- case 191: break;
- case 92:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_HAS_PARAM_NAMES, yytext());
- }
- case 192: break;
- case 93:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_PACKAGENAMESPACE, yytext());
- }
- case 193: break;
- case 94:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_PRIVATENAMESPACE, yytext());
- }
- case 194: break;
- case 95:
- { String s=yytext();
- return new ParsedSymbol(ParsedSymbol.TYPE_EXCEPTION_START, Integer.parseInt(s.substring(15, s.length() - 1)));
- }
- case 195: break;
- case 96:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_EXPLICITNAMESPACE, yytext());
- }
- case 196: break;
- case 97:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_PACKAGEINTERNALNS, yytext());
- }
- case 197: break;
- case 98:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_STATICPROTECTEDNS, yytext());
- }
- case 198: break;
- case 99:
- { String s=yytext();
- return new ParsedSymbol(ParsedSymbol.TYPE_EXCEPTION_TARGET,Integer.parseInt(s.substring(16, s.length() - 1)));
- }
- case 199: break;
- case 100:
- { return new ParsedSymbol(ParsedSymbol.TYPE_KEYWORD_PROTECTEDNAMESPACE, yytext());
- }
- case 200: break;
- default:
- if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
- zzAtEOF = true;
- {
- return new ParsedSymbol(ParsedSymbol.TYPE_EOF);
- }
- }
- else {
- zzScanError(ZZ_NO_MATCH);
- }
- }
}
- }
-
}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ActionScriptLexer.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ActionScriptLexer.java
index d5d17b896..a5bc4d286 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ActionScriptLexer.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ActionScriptLexer.java
@@ -17,964 +17,1003 @@
* License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.parser.script;
+
import com.jpexs.decompiler.flash.abc.avm2.parser.AVM2ParseException;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
-
/**
- * This class is a scanner generated by
- * JFlex 1.6.0
- * from the specification file D:/Dropbox/Programovani/JavaSE/FFDec/libsrc/ffdec_lib/lexers/actionscript3_script.flex
+ * This class is a scanner generated by
+ * JFlex 1.6.0 from the specification file
+ * D:/Dropbox/Programovani/JavaSE/FFDec/libsrc/ffdec_lib/lexers/actionscript3_script.flex
*/
public final class ActionScriptLexer {
- /** This character denotes the end of file */
- public static final int YYEOF = -1;
+ /**
+ * 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;
+ /**
+ * initial size of the lookahead buffer
+ */
+ private static final int ZZ_BUFFERSIZE = 16384;
- /** lexical states */
- public static final int YYINITIAL = 0;
- public static final int STRING = 2;
- public static final int CHARLITERAL = 4;
- public static final int XMLOPENTAG = 6;
- public static final int XMLOPENTAGATTRIB = 8;
- public static final int XMLINSTROPENTAG = 10;
- public static final int XMLINSTRATTRIB = 12;
- public static final int XMLCDATA = 14;
- public static final int XMLCOMMENT = 16;
- public static final int XML = 18;
- public static final int OIDENTIFIER = 20;
+ /**
+ * lexical states
+ */
+ public static final int YYINITIAL = 0;
+ public static final int STRING = 2;
+ public static final int CHARLITERAL = 4;
+ public static final int XMLOPENTAG = 6;
+ public static final int XMLOPENTAGATTRIB = 8;
+ public static final int XMLINSTROPENTAG = 10;
+ public static final int XMLINSTRATTRIB = 12;
+ public static final int XMLCDATA = 14;
+ public static final int XMLCOMMENT = 16;
+ public static final int XML = 18;
+ public static final int OIDENTIFIER = 20;
- /**
- * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
- * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l
- * at the beginning of a line
- * l is of the form l = 2*k, k a non negative integer
- */
- private static final int ZZ_LEXSTATE[] = {
- 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7,
- 8, 8, 9, 9, 10, 10
- };
+ /**
+ * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
+ * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l at the
+ * beginning of a line l is of the form l = 2*k, k a non negative integer
+ */
+ private static final int ZZ_LEXSTATE[] = {
+ 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7,
+ 8, 8, 9, 9, 10, 10
+ };
- /**
- * Translates characters to character classes
- */
- private static final String ZZ_CMAP_PACKED =
- "\11\0\1\13\1\2\1\113\1\3\1\1\22\0\1\13\1\14\1\33"+
- "\1\0\1\6\1\110\1\105\1\34\1\76\1\77\1\5\1\45\1\103"+
- "\1\15\1\11\1\4\1\35\3\41\4\42\2\21\1\17\1\102\1\12"+
- "\1\32\1\16\1\23\1\111\1\27\1\20\1\25\1\26\1\43\1\20"+
- "\2\10\1\74\4\10\1\75\5\10\1\30\3\10\1\37\2\10\1\24"+
- "\1\46\1\31\1\107\1\10\1\0\1\52\1\50\1\54\1\63\1\44"+
- "\1\40\1\73\1\66\1\61\1\10\1\53\1\64\1\71\1\57\1\56"+
- "\1\67\1\10\1\51\1\55\1\60\1\62\1\72\1\65\1\36\1\70"+
- "\1\10\1\100\1\106\1\101\1\104\6\0\1\113\41\0\1\47\2\0"+
- "\1\6\12\0\1\6\1\0\1\22\2\0\1\6\5\0\2\6\1\112"+
- "\24\6\1\0\37\6\1\0\u01ca\6\4\0\14\6\16\0\5\6\7\0"+
- "\1\6\1\0\1\6\21\0\160\7\5\6\1\0\2\6\2\0\4\6"+
- "\1\0\1\6\6\0\1\6\1\0\3\6\1\0\1\6\1\0\24\6"+
- "\1\0\123\6\1\0\213\6\1\0\5\7\2\0\246\6\1\0\46\6"+
- "\2\0\1\6\7\0\47\6\11\0\55\7\1\0\1\7\1\0\2\7"+
- "\1\0\2\7\1\0\1\7\10\0\33\6\5\0\3\6\35\0\13\7"+
- "\5\0\53\6\37\7\4\0\2\6\1\7\143\6\1\0\1\6\7\7"+
- "\2\0\6\7\2\6\2\7\1\0\4\7\2\6\12\7\3\6\2\0"+
- "\1\6\20\0\1\6\1\7\36\6\33\7\2\0\131\6\13\7\1\6"+
- "\16\0\12\7\41\6\11\7\2\6\4\0\1\6\5\0\26\6\4\7"+
- "\1\6\11\7\1\6\3\7\1\6\5\7\22\0\31\6\3\7\104\0"+
- "\23\6\61\0\40\7\66\6\3\7\1\6\22\7\1\6\7\7\12\6"+
- "\2\7\2\0\12\7\1\0\20\6\3\7\1\0\10\6\2\0\2\6"+
- "\2\0\26\6\1\0\7\6\1\0\1\6\3\0\4\6\2\0\1\7"+
- "\1\6\7\7\2\0\2\7\2\0\3\7\1\6\10\0\1\7\4\0"+
- "\2\6\1\0\3\6\2\7\2\0\12\7\2\6\17\0\3\7\1\0"+
- "\6\6\4\0\2\6\2\0\26\6\1\0\7\6\1\0\2\6\1\0"+
- "\2\6\1\0\2\6\2\0\1\7\1\0\5\7\4\0\2\7\2\0"+
- "\3\7\3\0\1\7\7\0\4\6\1\0\1\6\7\0\14\7\3\6"+
- "\1\7\13\0\3\7\1\0\11\6\1\0\3\6\1\0\26\6\1\0"+
- "\7\6\1\0\2\6\1\0\5\6\2\0\1\7\1\6\10\7\1\0"+
- "\3\7\1\0\3\7\2\0\1\6\17\0\2\6\2\7\2\0\12\7"+
- "\21\0\3\7\1\0\10\6\2\0\2\6\2\0\26\6\1\0\7\6"+
- "\1\0\2\6\1\0\5\6\2\0\1\7\1\6\7\7\2\0\2\7"+
- "\2\0\3\7\10\0\2\7\4\0\2\6\1\0\3\6\2\7\2\0"+
- "\12\7\1\0\1\6\20\0\1\7\1\6\1\0\6\6\3\0\3\6"+
- "\1\0\4\6\3\0\2\6\1\0\1\6\1\0\2\6\3\0\2\6"+
- "\3\0\3\6\3\0\14\6\4\0\5\7\3\0\3\7\1\0\4\7"+
- "\2\0\1\6\6\0\1\7\16\0\12\7\20\0\4\7\1\0\10\6"+
- "\1\0\3\6\1\0\27\6\1\0\20\6\3\0\1\6\7\7\1\0"+
- "\3\7\1\0\4\7\7\0\2\7\1\0\2\6\6\0\2\6\2\7"+
- "\2\0\12\7\21\0\3\7\1\0\10\6\1\0\3\6\1\0\27\6"+
- "\1\0\12\6\1\0\5\6\2\0\1\7\1\6\7\7\1\0\3\7"+
- "\1\0\4\7\7\0\2\7\7\0\1\6\1\0\2\6\2\7\2\0"+
- "\12\7\1\0\2\6\16\0\3\7\1\0\10\6\1\0\3\6\1\0"+
- "\51\6\2\0\1\6\7\7\1\0\3\7\1\0\4\7\1\6\10\0"+
- "\1\7\10\0\2\6\2\7\2\0\12\7\12\0\6\6\2\0\2\7"+
- "\1\0\22\6\3\0\30\6\1\0\11\6\1\0\1\6\2\0\7\6"+
- "\3\0\1\7\4\0\6\7\1\0\1\7\1\0\10\7\6\0\12\7"+
- "\2\0\2\7\15\0\60\6\1\7\2\6\7\7\5\0\7\6\10\7"+
- "\1\0\12\7\47\0\2\6\1\0\1\6\2\0\2\6\1\0\1\6"+
- "\2\0\1\6\6\0\4\6\1\0\7\6\1\0\3\6\1\0\1\6"+
- "\1\0\1\6\2\0\2\6\1\0\4\6\1\7\2\6\6\7\1\0"+
- "\2\7\1\6\2\0\5\6\1\0\1\6\1\0\6\7\2\0\12\7"+
- "\2\0\4\6\40\0\1\6\27\0\2\7\6\0\12\7\13\0\1\7"+
- "\1\0\1\7\1\0\1\7\4\0\2\7\10\6\1\0\44\6\4\0"+
- "\24\7\1\0\2\7\5\6\13\7\1\0\44\7\11\0\1\7\71\0"+
- "\53\6\24\7\1\6\12\7\6\0\6\6\4\7\4\6\3\7\1\6"+
- "\3\7\2\6\7\7\3\6\4\7\15\6\14\7\1\6\17\7\2\0"+
- "\46\6\1\0\1\6\5\0\1\6\2\0\53\6\1\0\u014d\6\1\0"+
- "\4\6\2\0\7\6\1\0\1\6\1\0\4\6\2\0\51\6\1\0"+
- "\4\6\2\0\41\6\1\0\4\6\2\0\7\6\1\0\1\6\1\0"+
- "\4\6\2\0\17\6\1\0\71\6\1\0\4\6\2\0\103\6\2\0"+
- "\3\7\40\0\20\6\20\0\125\6\14\0\u026c\6\2\0\21\6\1\0"+
- "\32\6\5\0\113\6\3\0\3\7\10\6\7\0\15\6\1\0\4\6"+
- "\3\7\13\0\22\6\3\7\13\0\22\6\2\7\14\0\15\6\1\0"+
- "\3\6\1\0\2\7\14\0\64\6\40\7\3\0\1\6\4\0\1\6"+
- "\1\7\2\0\12\7\41\0\3\7\2\0\12\7\6\0\130\6\10\0"+
- "\51\6\1\7\1\6\5\0\106\6\12\0\37\6\1\0\14\7\4\0"+
- "\14\7\12\0\12\7\36\6\2\0\5\6\13\0\54\6\4\0\21\7"+
- "\7\6\2\7\6\0\12\7\46\0\27\6\5\7\4\0\65\6\12\7"+
- "\1\0\35\7\2\0\13\7\6\0\12\7\15\0\1\6\10\0\16\7"+
- "\102\0\5\7\57\6\21\7\7\6\4\0\12\7\21\0\11\7\14\0"+
- "\3\7\36\6\15\7\2\6\12\7\54\6\16\7\14\0\44\6\24\7"+
- "\10\0\12\7\3\0\3\6\12\7\44\6\122\0\3\7\1\0\25\7"+
- "\4\6\1\7\4\6\3\7\2\6\1\0\2\7\6\0\300\6\66\7"+
- "\6\0\4\7\u0116\6\2\0\6\6\2\0\46\6\2\0\6\6\2\0"+
- "\10\6\1\0\1\6\1\0\1\6\1\0\1\6\1\0\37\6\2\0"+
- "\65\6\1\0\7\6\1\0\1\6\3\0\3\6\1\0\7\6\3\0"+
- "\4\6\2\0\6\6\4\0\15\6\5\0\3\6\1\0\7\6\3\0"+
- "\14\0\2\0\32\0\1\113\1\113\25\0\2\7\23\0\1\7\33\0"+
- "\1\0\1\6\15\0\1\6\20\0\15\6\63\0\15\7\4\0\1\7"+
- "\3\0\14\7\21\0\1\6\4\0\1\6\2\0\12\6\1\0\1\6"+
- "\3\0\5\6\6\0\1\6\1\0\1\6\1\0\1\6\1\0\4\6"+
- "\1\0\13\6\2\0\4\6\5\0\5\6\4\0\1\6\21\0\43\7"+
- "\2\6\4\7\7\0\u0a70\0\57\6\1\0\57\6\1\0\205\6\6\0"+
- "\4\6\3\7\2\6\14\0\46\6\1\0\1\6\5\0\1\6\2\0"+
- "\70\6\7\0\1\6\17\0\1\7\27\6\11\0\7\6\1\0\7\6"+
- "\1\0\7\6\1\0\7\6\1\0\7\6\1\0\7\6\1\0\7\6"+
- "\1\0\7\6\1\0\40\7\57\0\1\6\u01c0\0\21\0\4\0\2\6"+
- "\1\7\31\0\17\7\1\0\5\6\2\0\3\7\2\6\4\0\126\6"+
- "\2\0\2\7\2\0\3\6\1\0\132\6\1\0\4\6\5\0\51\6"+
- "\3\0\136\6\21\0\33\6\65\0\20\6\u0200\0\u19b6\6\112\0\u51cd\6"+
- "\63\0\u048d\6\103\0\56\6\2\0\u010d\6\3\0\20\6\12\7\2\6"+
- "\24\0\57\6\1\7\4\0\12\7\1\0\37\6\1\0\1\7\106\6"+
- "\14\7\45\0\11\6\2\0\147\6\2\0\4\6\1\0\36\6\2\0"+
- "\2\6\105\0\13\6\1\7\3\6\1\7\4\6\1\7\27\6\5\7"+
- "\30\0\64\6\14\0\2\7\62\6\21\7\13\0\12\7\6\0\22\7"+
- "\6\6\3\0\1\6\4\0\12\7\34\6\10\7\2\0\27\6\15\7"+
- "\14\0\35\6\3\0\4\7\57\6\16\7\16\0\1\6\12\7\6\0"+
- "\5\6\1\7\12\6\12\7\5\6\1\0\51\6\16\7\11\0\3\6"+
- "\1\7\10\6\2\7\2\0\12\7\6\0\27\6\3\0\1\6\3\7"+
- "\62\6\1\7\1\6\3\7\2\6\2\7\5\6\2\7\1\6\1\7"+
- "\1\6\30\0\3\6\2\0\13\6\5\7\2\0\3\6\2\7\12\0"+
- "\6\6\2\0\6\6\2\0\6\6\11\0\7\6\1\0\7\6\1\0"+
- "\53\6\1\0\4\6\4\0\2\6\132\0\43\6\10\7\1\0\2\7"+
- "\2\0\12\7\6\0\u2ba4\6\14\0\27\6\4\0\61\6\4\0\u1800\0"+
- "\u0900\0\u016e\6\2\0\152\6\46\0\7\6\14\0\5\6\5\0\1\6"+
- "\1\7\12\6\1\0\15\6\1\0\5\6\1\0\1\6\1\0\2\6"+
- "\1\0\2\6\1\0\154\6\41\0\u016b\6\22\0\100\6\2\0\66\6"+
- "\10\0\40\0\14\6\4\0\20\7\20\0\16\7\5\0\2\7\30\0"+
- "\3\7\40\0\5\6\1\0\207\6\23\0\12\7\7\0\32\6\4\0"+
- "\1\7\1\0\32\6\13\0\131\6\3\0\6\6\2\0\6\6\2\0"+
- "\6\6\2\0\3\6\41\0\2\0\14\6\1\0\32\6\1\0\23\6"+
- "\1\0\2\6\1\0\17\6\2\0\16\6\42\0\173\6\105\0\65\7"+
- "\210\0\1\7\202\0\35\6\3\0\61\6\17\0\1\7\37\0\40\6"+
- "\20\0\21\6\1\7\10\6\1\7\5\0\46\6\5\7\5\0\36\6"+
- "\2\0\44\6\4\0\10\6\1\0\5\7\52\0\236\6\2\0\12\7"+
- "\126\0\50\6\10\0\64\6\234\0\u0137\6\11\0\26\6\12\0\10\6"+
- "\230\0\6\6\2\0\1\6\1\0\54\6\1\0\2\6\3\0\1\6"+
- "\2\0\27\6\12\0\27\6\11\0\37\6\141\0\26\6\12\0\32\6"+
- "\106\0\70\6\6\0\2\6\100\0\1\6\3\7\1\0\2\7\5\0"+
- "\4\7\4\6\1\0\3\6\1\0\33\6\4\0\3\7\4\0\1\7"+
- "\40\0\35\6\3\0\35\6\43\0\10\6\1\0\34\6\2\7\31\0"+
- "\66\6\12\0\26\6\12\0\23\6\15\0\22\6\156\0\111\6\u03b7\0"+
- "\3\7\65\6\17\7\37\0\12\7\17\0\4\7\55\6\13\7\25\0"+
- "\31\6\7\0\12\7\6\0\3\7\44\6\16\7\1\0\12\7\20\0"+
- "\43\6\1\7\2\0\1\6\11\0\3\7\60\6\16\7\4\6\13\0"+
- "\12\7\1\6\45\0\22\6\1\0\31\6\14\7\170\0\57\6\14\7"+
- "\5\0\12\7\7\0\3\7\1\0\10\6\2\0\2\6\2\0\26\6"+
- "\1\0\7\6\1\0\2\6\1\0\5\6\2\0\1\7\1\6\7\7"+
- "\2\0\2\7\2\0\3\7\11\0\1\7\5\0\5\6\2\7\2\0"+
- "\7\7\3\0\5\7\u010b\0\60\6\24\7\2\6\1\0\1\6\10\0"+
- "\12\7\246\0\57\6\7\7\2\0\11\7\77\0\60\6\21\7\3\0"+
- "\1\6\13\0\12\7\46\0\53\6\15\7\10\0\12\7\u01d6\0\100\6"+
- "\12\7\25\0\1\6\u01c0\0\71\6\u0507\0\u0399\6\147\0\157\7\u0b91\0"+
- "\u042f\6\u33d1\0\u0239\6\7\0\37\6\1\0\12\7\146\0\36\6\2\0"+
- "\5\7\13\0\60\6\7\7\11\0\4\6\14\0\12\7\11\0\25\6"+
- "\5\0\23\6\u0370\0\105\6\13\0\1\6\56\7\20\0\4\7\15\6"+
- "\u4060\0\2\6\u0bfe\0\153\6\5\0\15\6\3\0\11\6\7\0\12\6"+
- "\3\0\2\7\u14c6\0\5\7\3\0\6\7\10\0\10\7\2\0\7\7"+
- "\36\0\4\7\224\0\3\7\u01bb\0\125\6\1\0\107\6\1\0\2\6"+
- "\2\0\1\6\2\0\2\6\2\0\4\6\1\0\14\6\1\0\1\6"+
- "\1\0\7\6\1\0\101\6\1\0\4\6\2\0\10\6\1\0\7\6"+
- "\1\0\34\6\1\0\4\6\1\0\5\6\1\0\1\6\3\0\7\6"+
- "\1\0\u0154\6\2\0\31\6\1\0\31\6\1\0\37\6\1\0\31\6"+
- "\1\0\37\6\1\0\31\6\1\0\37\6\1\0\31\6\1\0\37\6"+
- "\1\0\31\6\1\0\10\6\2\0\62\7\u1000\0\305\6\13\0\7\7"+
- "\u0529\0\4\6\1\0\33\6\1\0\2\6\1\0\1\6\2\0\1\6"+
- "\1\0\12\6\1\0\4\6\1\0\1\6\1\0\1\6\6\0\1\6"+
- "\4\0\1\6\1\0\1\6\1\0\1\6\1\0\3\6\1\0\2\6"+
- "\1\0\1\6\2\0\1\6\1\0\1\6\1\0\1\6\1\0\1\6"+
- "\1\0\1\6\1\0\2\6\1\0\1\6\2\0\4\6\1\0\7\6"+
- "\1\0\4\6\1\0\4\6\1\0\1\6\1\0\12\6\1\0\21\6"+
- "\5\0\3\6\1\0\5\6\1\0\21\6\u1144\0\ua6d7\6\51\0\u1035\6"+
- "\13\0\336\6\u3fe2\0\u021e\6\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\u06ed\0"+
- "\360\7\uffff\0\uffff\0\ufe12\0";
+ /**
+ * Translates characters to character classes
+ */
+ private static final String ZZ_CMAP_PACKED
+ = "\11\0\1\13\1\2\1\113\1\3\1\1\22\0\1\13\1\14\1\33"
+ + "\1\0\1\6\1\110\1\105\1\34\1\76\1\77\1\5\1\45\1\103"
+ + "\1\15\1\11\1\4\1\35\3\41\4\42\2\21\1\17\1\102\1\12"
+ + "\1\32\1\16\1\23\1\111\1\27\1\20\1\25\1\26\1\43\1\20"
+ + "\2\10\1\74\4\10\1\75\5\10\1\30\3\10\1\37\2\10\1\24"
+ + "\1\46\1\31\1\107\1\10\1\0\1\52\1\50\1\54\1\63\1\44"
+ + "\1\40\1\73\1\66\1\61\1\10\1\53\1\64\1\71\1\57\1\56"
+ + "\1\67\1\10\1\51\1\55\1\60\1\62\1\72\1\65\1\36\1\70"
+ + "\1\10\1\100\1\106\1\101\1\104\6\0\1\113\41\0\1\47\2\0"
+ + "\1\6\12\0\1\6\1\0\1\22\2\0\1\6\5\0\2\6\1\112"
+ + "\24\6\1\0\37\6\1\0\u01ca\6\4\0\14\6\16\0\5\6\7\0"
+ + "\1\6\1\0\1\6\21\0\160\7\5\6\1\0\2\6\2\0\4\6"
+ + "\1\0\1\6\6\0\1\6\1\0\3\6\1\0\1\6\1\0\24\6"
+ + "\1\0\123\6\1\0\213\6\1\0\5\7\2\0\246\6\1\0\46\6"
+ + "\2\0\1\6\7\0\47\6\11\0\55\7\1\0\1\7\1\0\2\7"
+ + "\1\0\2\7\1\0\1\7\10\0\33\6\5\0\3\6\35\0\13\7"
+ + "\5\0\53\6\37\7\4\0\2\6\1\7\143\6\1\0\1\6\7\7"
+ + "\2\0\6\7\2\6\2\7\1\0\4\7\2\6\12\7\3\6\2\0"
+ + "\1\6\20\0\1\6\1\7\36\6\33\7\2\0\131\6\13\7\1\6"
+ + "\16\0\12\7\41\6\11\7\2\6\4\0\1\6\5\0\26\6\4\7"
+ + "\1\6\11\7\1\6\3\7\1\6\5\7\22\0\31\6\3\7\104\0"
+ + "\23\6\61\0\40\7\66\6\3\7\1\6\22\7\1\6\7\7\12\6"
+ + "\2\7\2\0\12\7\1\0\20\6\3\7\1\0\10\6\2\0\2\6"
+ + "\2\0\26\6\1\0\7\6\1\0\1\6\3\0\4\6\2\0\1\7"
+ + "\1\6\7\7\2\0\2\7\2\0\3\7\1\6\10\0\1\7\4\0"
+ + "\2\6\1\0\3\6\2\7\2\0\12\7\2\6\17\0\3\7\1\0"
+ + "\6\6\4\0\2\6\2\0\26\6\1\0\7\6\1\0\2\6\1\0"
+ + "\2\6\1\0\2\6\2\0\1\7\1\0\5\7\4\0\2\7\2\0"
+ + "\3\7\3\0\1\7\7\0\4\6\1\0\1\6\7\0\14\7\3\6"
+ + "\1\7\13\0\3\7\1\0\11\6\1\0\3\6\1\0\26\6\1\0"
+ + "\7\6\1\0\2\6\1\0\5\6\2\0\1\7\1\6\10\7\1\0"
+ + "\3\7\1\0\3\7\2\0\1\6\17\0\2\6\2\7\2\0\12\7"
+ + "\21\0\3\7\1\0\10\6\2\0\2\6\2\0\26\6\1\0\7\6"
+ + "\1\0\2\6\1\0\5\6\2\0\1\7\1\6\7\7\2\0\2\7"
+ + "\2\0\3\7\10\0\2\7\4\0\2\6\1\0\3\6\2\7\2\0"
+ + "\12\7\1\0\1\6\20\0\1\7\1\6\1\0\6\6\3\0\3\6"
+ + "\1\0\4\6\3\0\2\6\1\0\1\6\1\0\2\6\3\0\2\6"
+ + "\3\0\3\6\3\0\14\6\4\0\5\7\3\0\3\7\1\0\4\7"
+ + "\2\0\1\6\6\0\1\7\16\0\12\7\20\0\4\7\1\0\10\6"
+ + "\1\0\3\6\1\0\27\6\1\0\20\6\3\0\1\6\7\7\1\0"
+ + "\3\7\1\0\4\7\7\0\2\7\1\0\2\6\6\0\2\6\2\7"
+ + "\2\0\12\7\21\0\3\7\1\0\10\6\1\0\3\6\1\0\27\6"
+ + "\1\0\12\6\1\0\5\6\2\0\1\7\1\6\7\7\1\0\3\7"
+ + "\1\0\4\7\7\0\2\7\7\0\1\6\1\0\2\6\2\7\2\0"
+ + "\12\7\1\0\2\6\16\0\3\7\1\0\10\6\1\0\3\6\1\0"
+ + "\51\6\2\0\1\6\7\7\1\0\3\7\1\0\4\7\1\6\10\0"
+ + "\1\7\10\0\2\6\2\7\2\0\12\7\12\0\6\6\2\0\2\7"
+ + "\1\0\22\6\3\0\30\6\1\0\11\6\1\0\1\6\2\0\7\6"
+ + "\3\0\1\7\4\0\6\7\1\0\1\7\1\0\10\7\6\0\12\7"
+ + "\2\0\2\7\15\0\60\6\1\7\2\6\7\7\5\0\7\6\10\7"
+ + "\1\0\12\7\47\0\2\6\1\0\1\6\2\0\2\6\1\0\1\6"
+ + "\2\0\1\6\6\0\4\6\1\0\7\6\1\0\3\6\1\0\1\6"
+ + "\1\0\1\6\2\0\2\6\1\0\4\6\1\7\2\6\6\7\1\0"
+ + "\2\7\1\6\2\0\5\6\1\0\1\6\1\0\6\7\2\0\12\7"
+ + "\2\0\4\6\40\0\1\6\27\0\2\7\6\0\12\7\13\0\1\7"
+ + "\1\0\1\7\1\0\1\7\4\0\2\7\10\6\1\0\44\6\4\0"
+ + "\24\7\1\0\2\7\5\6\13\7\1\0\44\7\11\0\1\7\71\0"
+ + "\53\6\24\7\1\6\12\7\6\0\6\6\4\7\4\6\3\7\1\6"
+ + "\3\7\2\6\7\7\3\6\4\7\15\6\14\7\1\6\17\7\2\0"
+ + "\46\6\1\0\1\6\5\0\1\6\2\0\53\6\1\0\u014d\6\1\0"
+ + "\4\6\2\0\7\6\1\0\1\6\1\0\4\6\2\0\51\6\1\0"
+ + "\4\6\2\0\41\6\1\0\4\6\2\0\7\6\1\0\1\6\1\0"
+ + "\4\6\2\0\17\6\1\0\71\6\1\0\4\6\2\0\103\6\2\0"
+ + "\3\7\40\0\20\6\20\0\125\6\14\0\u026c\6\2\0\21\6\1\0"
+ + "\32\6\5\0\113\6\3\0\3\7\10\6\7\0\15\6\1\0\4\6"
+ + "\3\7\13\0\22\6\3\7\13\0\22\6\2\7\14\0\15\6\1\0"
+ + "\3\6\1\0\2\7\14\0\64\6\40\7\3\0\1\6\4\0\1\6"
+ + "\1\7\2\0\12\7\41\0\3\7\2\0\12\7\6\0\130\6\10\0"
+ + "\51\6\1\7\1\6\5\0\106\6\12\0\37\6\1\0\14\7\4\0"
+ + "\14\7\12\0\12\7\36\6\2\0\5\6\13\0\54\6\4\0\21\7"
+ + "\7\6\2\7\6\0\12\7\46\0\27\6\5\7\4\0\65\6\12\7"
+ + "\1\0\35\7\2\0\13\7\6\0\12\7\15\0\1\6\10\0\16\7"
+ + "\102\0\5\7\57\6\21\7\7\6\4\0\12\7\21\0\11\7\14\0"
+ + "\3\7\36\6\15\7\2\6\12\7\54\6\16\7\14\0\44\6\24\7"
+ + "\10\0\12\7\3\0\3\6\12\7\44\6\122\0\3\7\1\0\25\7"
+ + "\4\6\1\7\4\6\3\7\2\6\1\0\2\7\6\0\300\6\66\7"
+ + "\6\0\4\7\u0116\6\2\0\6\6\2\0\46\6\2\0\6\6\2\0"
+ + "\10\6\1\0\1\6\1\0\1\6\1\0\1\6\1\0\37\6\2\0"
+ + "\65\6\1\0\7\6\1\0\1\6\3\0\3\6\1\0\7\6\3\0"
+ + "\4\6\2\0\6\6\4\0\15\6\5\0\3\6\1\0\7\6\3\0"
+ + "\14\0\2\0\32\0\1\113\1\113\25\0\2\7\23\0\1\7\33\0"
+ + "\1\0\1\6\15\0\1\6\20\0\15\6\63\0\15\7\4\0\1\7"
+ + "\3\0\14\7\21\0\1\6\4\0\1\6\2\0\12\6\1\0\1\6"
+ + "\3\0\5\6\6\0\1\6\1\0\1\6\1\0\1\6\1\0\4\6"
+ + "\1\0\13\6\2\0\4\6\5\0\5\6\4\0\1\6\21\0\43\7"
+ + "\2\6\4\7\7\0\u0a70\0\57\6\1\0\57\6\1\0\205\6\6\0"
+ + "\4\6\3\7\2\6\14\0\46\6\1\0\1\6\5\0\1\6\2\0"
+ + "\70\6\7\0\1\6\17\0\1\7\27\6\11\0\7\6\1\0\7\6"
+ + "\1\0\7\6\1\0\7\6\1\0\7\6\1\0\7\6\1\0\7\6"
+ + "\1\0\7\6\1\0\40\7\57\0\1\6\u01c0\0\21\0\4\0\2\6"
+ + "\1\7\31\0\17\7\1\0\5\6\2\0\3\7\2\6\4\0\126\6"
+ + "\2\0\2\7\2\0\3\6\1\0\132\6\1\0\4\6\5\0\51\6"
+ + "\3\0\136\6\21\0\33\6\65\0\20\6\u0200\0\u19b6\6\112\0\u51cd\6"
+ + "\63\0\u048d\6\103\0\56\6\2\0\u010d\6\3\0\20\6\12\7\2\6"
+ + "\24\0\57\6\1\7\4\0\12\7\1\0\37\6\1\0\1\7\106\6"
+ + "\14\7\45\0\11\6\2\0\147\6\2\0\4\6\1\0\36\6\2\0"
+ + "\2\6\105\0\13\6\1\7\3\6\1\7\4\6\1\7\27\6\5\7"
+ + "\30\0\64\6\14\0\2\7\62\6\21\7\13\0\12\7\6\0\22\7"
+ + "\6\6\3\0\1\6\4\0\12\7\34\6\10\7\2\0\27\6\15\7"
+ + "\14\0\35\6\3\0\4\7\57\6\16\7\16\0\1\6\12\7\6\0"
+ + "\5\6\1\7\12\6\12\7\5\6\1\0\51\6\16\7\11\0\3\6"
+ + "\1\7\10\6\2\7\2\0\12\7\6\0\27\6\3\0\1\6\3\7"
+ + "\62\6\1\7\1\6\3\7\2\6\2\7\5\6\2\7\1\6\1\7"
+ + "\1\6\30\0\3\6\2\0\13\6\5\7\2\0\3\6\2\7\12\0"
+ + "\6\6\2\0\6\6\2\0\6\6\11\0\7\6\1\0\7\6\1\0"
+ + "\53\6\1\0\4\6\4\0\2\6\132\0\43\6\10\7\1\0\2\7"
+ + "\2\0\12\7\6\0\u2ba4\6\14\0\27\6\4\0\61\6\4\0\u1800\0"
+ + "\u0900\0\u016e\6\2\0\152\6\46\0\7\6\14\0\5\6\5\0\1\6"
+ + "\1\7\12\6\1\0\15\6\1\0\5\6\1\0\1\6\1\0\2\6"
+ + "\1\0\2\6\1\0\154\6\41\0\u016b\6\22\0\100\6\2\0\66\6"
+ + "\10\0\40\0\14\6\4\0\20\7\20\0\16\7\5\0\2\7\30\0"
+ + "\3\7\40\0\5\6\1\0\207\6\23\0\12\7\7\0\32\6\4\0"
+ + "\1\7\1\0\32\6\13\0\131\6\3\0\6\6\2\0\6\6\2\0"
+ + "\6\6\2\0\3\6\41\0\2\0\14\6\1\0\32\6\1\0\23\6"
+ + "\1\0\2\6\1\0\17\6\2\0\16\6\42\0\173\6\105\0\65\7"
+ + "\210\0\1\7\202\0\35\6\3\0\61\6\17\0\1\7\37\0\40\6"
+ + "\20\0\21\6\1\7\10\6\1\7\5\0\46\6\5\7\5\0\36\6"
+ + "\2\0\44\6\4\0\10\6\1\0\5\7\52\0\236\6\2\0\12\7"
+ + "\126\0\50\6\10\0\64\6\234\0\u0137\6\11\0\26\6\12\0\10\6"
+ + "\230\0\6\6\2\0\1\6\1\0\54\6\1\0\2\6\3\0\1\6"
+ + "\2\0\27\6\12\0\27\6\11\0\37\6\141\0\26\6\12\0\32\6"
+ + "\106\0\70\6\6\0\2\6\100\0\1\6\3\7\1\0\2\7\5\0"
+ + "\4\7\4\6\1\0\3\6\1\0\33\6\4\0\3\7\4\0\1\7"
+ + "\40\0\35\6\3\0\35\6\43\0\10\6\1\0\34\6\2\7\31\0"
+ + "\66\6\12\0\26\6\12\0\23\6\15\0\22\6\156\0\111\6\u03b7\0"
+ + "\3\7\65\6\17\7\37\0\12\7\17\0\4\7\55\6\13\7\25\0"
+ + "\31\6\7\0\12\7\6\0\3\7\44\6\16\7\1\0\12\7\20\0"
+ + "\43\6\1\7\2\0\1\6\11\0\3\7\60\6\16\7\4\6\13\0"
+ + "\12\7\1\6\45\0\22\6\1\0\31\6\14\7\170\0\57\6\14\7"
+ + "\5\0\12\7\7\0\3\7\1\0\10\6\2\0\2\6\2\0\26\6"
+ + "\1\0\7\6\1\0\2\6\1\0\5\6\2\0\1\7\1\6\7\7"
+ + "\2\0\2\7\2\0\3\7\11\0\1\7\5\0\5\6\2\7\2\0"
+ + "\7\7\3\0\5\7\u010b\0\60\6\24\7\2\6\1\0\1\6\10\0"
+ + "\12\7\246\0\57\6\7\7\2\0\11\7\77\0\60\6\21\7\3\0"
+ + "\1\6\13\0\12\7\46\0\53\6\15\7\10\0\12\7\u01d6\0\100\6"
+ + "\12\7\25\0\1\6\u01c0\0\71\6\u0507\0\u0399\6\147\0\157\7\u0b91\0"
+ + "\u042f\6\u33d1\0\u0239\6\7\0\37\6\1\0\12\7\146\0\36\6\2\0"
+ + "\5\7\13\0\60\6\7\7\11\0\4\6\14\0\12\7\11\0\25\6"
+ + "\5\0\23\6\u0370\0\105\6\13\0\1\6\56\7\20\0\4\7\15\6"
+ + "\u4060\0\2\6\u0bfe\0\153\6\5\0\15\6\3\0\11\6\7\0\12\6"
+ + "\3\0\2\7\u14c6\0\5\7\3\0\6\7\10\0\10\7\2\0\7\7"
+ + "\36\0\4\7\224\0\3\7\u01bb\0\125\6\1\0\107\6\1\0\2\6"
+ + "\2\0\1\6\2\0\2\6\2\0\4\6\1\0\14\6\1\0\1\6"
+ + "\1\0\7\6\1\0\101\6\1\0\4\6\2\0\10\6\1\0\7\6"
+ + "\1\0\34\6\1\0\4\6\1\0\5\6\1\0\1\6\3\0\7\6"
+ + "\1\0\u0154\6\2\0\31\6\1\0\31\6\1\0\37\6\1\0\31\6"
+ + "\1\0\37\6\1\0\31\6\1\0\37\6\1\0\31\6\1\0\37\6"
+ + "\1\0\31\6\1\0\10\6\2\0\62\7\u1000\0\305\6\13\0\7\7"
+ + "\u0529\0\4\6\1\0\33\6\1\0\2\6\1\0\1\6\2\0\1\6"
+ + "\1\0\12\6\1\0\4\6\1\0\1\6\1\0\1\6\6\0\1\6"
+ + "\4\0\1\6\1\0\1\6\1\0\1\6\1\0\3\6\1\0\2\6"
+ + "\1\0\1\6\2\0\1\6\1\0\1\6\1\0\1\6\1\0\1\6"
+ + "\1\0\1\6\1\0\2\6\1\0\1\6\2\0\4\6\1\0\7\6"
+ + "\1\0\4\6\1\0\4\6\1\0\1\6\1\0\12\6\1\0\21\6"
+ + "\5\0\3\6\1\0\5\6\1\0\21\6\u1144\0\ua6d7\6\51\0\u1035\6"
+ + "\13\0\336\6\u3fe2\0\u021e\6\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\u06ed\0"
+ + "\360\7\uffff\0\uffff\0\ufe12\0";
- /**
- * Translates characters to character classes
- */
- private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
+ /**
+ * Translates characters to character classes
+ */
+ private static final char[] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
- /**
- * Translates DFA states to action switch labels.
- */
- private static final int [] ZZ_ACTION = zzUnpackAction();
+ /**
+ * Translates DFA states to action switch labels.
+ */
+ private static final int[] ZZ_ACTION = zzUnpackAction();
- private static final String ZZ_ACTION_PACKED_0 =
- "\13\0\1\1\2\2\1\3\1\4\1\5\1\6\1\7"+
- "\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17"+
- "\1\20\1\21\1\22\1\23\1\15\2\6\1\24\1\25"+
- "\21\6\1\26\1\27\1\30\1\31\1\32\1\33\1\34"+
- "\1\35\1\36\1\37\1\40\1\41\1\42\2\43\1\44"+
- "\1\1\1\42\2\45\2\46\1\42\2\1\1\47\1\50"+
- "\1\1\1\51\2\1\1\52\1\1\1\53\2\42\2\54"+
- "\2\42\1\55\1\42\1\1\1\56\1\3\1\0\1\57"+
- "\1\60\1\61\1\62\1\63\1\64\1\65\1\66\1\67"+
- "\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\0"+
- "\1\77\1\63\1\100\1\0\2\100\7\6\1\101\1\102"+
- "\2\6\1\103\16\6\1\104\1\105\1\106\4\6\1\107"+
- "\13\6\1\110\1\111\1\112\1\113\1\114\1\115\1\116"+
- "\1\117\1\120\1\116\1\121\1\122\1\123\1\124\1\125"+
- "\1\126\1\116\1\127\1\0\1\130\1\0\1\131\1\0"+
- "\1\132\1\133\1\0\1\134\4\0\1\135\2\0\1\136"+
- "\4\137\2\3\2\0\1\140\1\141\1\142\1\143\1\144"+
- "\1\0\1\63\1\145\2\146\1\100\1\6\1\147\13\6"+
- "\1\150\4\6\1\151\4\6\1\152\6\6\1\153\12\6"+
- "\1\154\1\6\1\155\1\6\1\156\3\0\1\134\1\157"+
- "\1\160\1\0\1\161\2\0\1\162\1\163\1\164\1\0"+
- "\1\165\1\146\1\100\4\6\1\166\1\167\2\6\1\170"+
- "\12\6\1\171\1\172\1\6\1\173\11\6\1\174\5\6"+
- "\1\175\1\6\1\176\2\0\1\177\1\200\1\0\1\146"+
- "\1\100\1\201\1\202\2\6\1\203\1\6\1\204\1\205"+
- "\1\6\1\206\1\6\1\207\4\6\1\210\11\6\1\211"+
- "\5\6\1\0\1\146\1\100\3\6\1\212\1\6\1\213"+
- "\1\214\1\6\1\215\1\6\1\216\3\6\1\217\3\6"+
- "\1\220\4\6\1\221\1\6\1\0\1\146\1\100\1\222"+
- "\1\6\1\223\10\6\1\224\1\225\1\6\1\226\1\227"+
- "\1\6\1\0\1\146\1\100\1\230\1\231\1\232\3\6"+
- "\1\233\3\6\1\234\1\0\1\146\1\100\1\235\1\6"+
- "\1\236\1\6\1\237\1\240\1\241\1\146\1\100\1\242"+
- "\1\243\6\100";
+ private static final String ZZ_ACTION_PACKED_0
+ = "\13\0\1\1\2\2\1\3\1\4\1\5\1\6\1\7"
+ + "\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17"
+ + "\1\20\1\21\1\22\1\23\1\15\2\6\1\24\1\25"
+ + "\21\6\1\26\1\27\1\30\1\31\1\32\1\33\1\34"
+ + "\1\35\1\36\1\37\1\40\1\41\1\42\2\43\1\44"
+ + "\1\1\1\42\2\45\2\46\1\42\2\1\1\47\1\50"
+ + "\1\1\1\51\2\1\1\52\1\1\1\53\2\42\2\54"
+ + "\2\42\1\55\1\42\1\1\1\56\1\3\1\0\1\57"
+ + "\1\60\1\61\1\62\1\63\1\64\1\65\1\66\1\67"
+ + "\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\0"
+ + "\1\77\1\63\1\100\1\0\2\100\7\6\1\101\1\102"
+ + "\2\6\1\103\16\6\1\104\1\105\1\106\4\6\1\107"
+ + "\13\6\1\110\1\111\1\112\1\113\1\114\1\115\1\116"
+ + "\1\117\1\120\1\116\1\121\1\122\1\123\1\124\1\125"
+ + "\1\126\1\116\1\127\1\0\1\130\1\0\1\131\1\0"
+ + "\1\132\1\133\1\0\1\134\4\0\1\135\2\0\1\136"
+ + "\4\137\2\3\2\0\1\140\1\141\1\142\1\143\1\144"
+ + "\1\0\1\63\1\145\2\146\1\100\1\6\1\147\13\6"
+ + "\1\150\4\6\1\151\4\6\1\152\6\6\1\153\12\6"
+ + "\1\154\1\6\1\155\1\6\1\156\3\0\1\134\1\157"
+ + "\1\160\1\0\1\161\2\0\1\162\1\163\1\164\1\0"
+ + "\1\165\1\146\1\100\4\6\1\166\1\167\2\6\1\170"
+ + "\12\6\1\171\1\172\1\6\1\173\11\6\1\174\5\6"
+ + "\1\175\1\6\1\176\2\0\1\177\1\200\1\0\1\146"
+ + "\1\100\1\201\1\202\2\6\1\203\1\6\1\204\1\205"
+ + "\1\6\1\206\1\6\1\207\4\6\1\210\11\6\1\211"
+ + "\5\6\1\0\1\146\1\100\3\6\1\212\1\6\1\213"
+ + "\1\214\1\6\1\215\1\6\1\216\3\6\1\217\3\6"
+ + "\1\220\4\6\1\221\1\6\1\0\1\146\1\100\1\222"
+ + "\1\6\1\223\10\6\1\224\1\225\1\6\1\226\1\227"
+ + "\1\6\1\0\1\146\1\100\1\230\1\231\1\232\3\6"
+ + "\1\233\3\6\1\234\1\0\1\146\1\100\1\235\1\6"
+ + "\1\236\1\6\1\237\1\240\1\241\1\146\1\100\1\242"
+ + "\1\243\6\100";
- private static int [] zzUnpackAction() {
- int [] result = new int[446];
- 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);
+ private static int[] zzUnpackAction() {
+ int[] result = new int[446];
+ int offset = 0;
+ offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
+ return result;
}
- return j;
- }
+ private static int zzUnpackAction(String packed, int offset, int[] result) {
+ int i = 0; /* index in packed string */
- /**
- * Translates a state to a row index in the transition table
- */
- private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
+ int j = offset; /* index in unpacked array */
- private static final String ZZ_ROWMAP_PACKED_0 =
- "\0\0\0\114\0\230\0\344\0\u0130\0\u017c\0\u01c8\0\u0214"+
- "\0\u0260\0\u02ac\0\u02f8\0\u0344\0\u0390\0\u0344\0\u03dc\0\u0428"+
- "\0\u0474\0\u04c0\0\u050c\0\u0558\0\u05a4\0\u05f0\0\u063c\0\u0688"+
- "\0\u06d4\0\u0344\0\u0344\0\u0344\0\u0720\0\u0344\0\u0344\0\u076c"+
- "\0\u07b8\0\u0804\0\u0850\0\u0344\0\u089c\0\u08e8\0\u0934\0\u0980"+
- "\0\u09cc\0\u0a18\0\u0a64\0\u0ab0\0\u0afc\0\u0b48\0\u0b94\0\u0be0"+
- "\0\u0c2c\0\u0c78\0\u0cc4\0\u0d10\0\u0d5c\0\u0344\0\u0344\0\u0344"+
- "\0\u0344\0\u0344\0\u0344\0\u0344\0\u0da8\0\u0df4\0\u0e40\0\u0e8c"+
- "\0\u0344\0\u0ed8\0\u0f24\0\u0344\0\u0344\0\u0f70\0\u0fbc\0\u1008"+
- "\0\u0344\0\u1054\0\u0344\0\u10a0\0\u10ec\0\u1138\0\u0344\0\u0344"+
- "\0\u1184\0\u0344\0\u11d0\0\u121c\0\u0344\0\u1268\0\u0344\0\u0344"+
- "\0\u12b4\0\u1300\0\u0344\0\u134c\0\u1398\0\u0344\0\u13e4\0\u1430"+
- "\0\u0344\0\u147c\0\u14c8\0\u0344\0\u0344\0\u1514\0\u0344\0\u1560"+
- "\0\u0344\0\u15ac\0\u15f8\0\u0344\0\u0344\0\u1644\0\u0344\0\u0344"+
- "\0\u1690\0\u0344\0\u0344\0\u16dc\0\u1728\0\u1774\0\u17c0\0\u180c"+
- "\0\u1858\0\u18a4\0\u18f0\0\u193c\0\u1988\0\u19d4\0\u1a20\0\u1a6c"+
- "\0\u1ab8\0\u0344\0\u0344\0\u1b04\0\u1b50\0\u04c0\0\u1b9c\0\u1be8"+
- "\0\u1c34\0\u1c80\0\u1ccc\0\u1d18\0\u1d64\0\u1db0\0\u1dfc\0\u1e48"+
- "\0\u1e94\0\u1ee0\0\u1f2c\0\u1f78\0\u04c0\0\u04c0\0\u1fc4\0\u2010"+
- "\0\u205c\0\u20a8\0\u20f4\0\u04c0\0\u2140\0\u218c\0\u21d8\0\u2224"+
- "\0\u2270\0\u22bc\0\u2308\0\u2354\0\u23a0\0\u23ec\0\u2438\0\u0344"+
- "\0\u0344\0\u0344\0\u0344\0\u0344\0\u0344\0\u0344\0\u0344\0\u0344"+
- "\0\u2484\0\u0344\0\u0344\0\u0344\0\u0344\0\u0344\0\u0344\0\u24d0"+
- "\0\u0344\0\u1138\0\u0344\0\u1184\0\u0344\0\u11d0\0\u0344\0\u0344"+
- "\0\u1268\0\u251c\0\u2568\0\u25b4\0\u2600\0\u264c\0\u2698\0\u26e4"+
- "\0\u2730\0\u0344\0\u0344\0\u2484\0\u24d0\0\u277c\0\u27c8\0\u0344"+
- "\0\u2814\0\u2860\0\u0344\0\u0344\0\u0344\0\u28ac\0\u0344\0\u28f8"+
- "\0\u28f8\0\u0344\0\u2944\0\u180c\0\u2990\0\u29dc\0\u04c0\0\u2a28"+
- "\0\u2a74\0\u2ac0\0\u2b0c\0\u2b58\0\u2ba4\0\u2bf0\0\u2c3c\0\u2c88"+
- "\0\u2cd4\0\u2d20\0\u04c0\0\u2d6c\0\u2db8\0\u2e04\0\u2e50\0\u04c0"+
- "\0\u2e9c\0\u2ee8\0\u2f34\0\u2f80\0\u04c0\0\u2fcc\0\u3018\0\u3064"+
- "\0\u30b0\0\u30fc\0\u3148\0\u04c0\0\u3194\0\u31e0\0\u322c\0\u3278"+
- "\0\u32c4\0\u3310\0\u335c\0\u33a8\0\u33f4\0\u3440\0\u04c0\0\u348c"+
- "\0\u04c0\0\u34d8\0\u04c0\0\u3524\0\u3570\0\u251c\0\u0344\0\u0344"+
- "\0\u0344\0\u35bc\0\u0344\0\u3608\0\u3654\0\u36a0\0\u0344\0\u0344"+
- "\0\u36ec\0\u0344\0\u3738\0\u3784\0\u37d0\0\u381c\0\u3868\0\u38b4"+
- "\0\u04c0\0\u04c0\0\u3900\0\u394c\0\u04c0\0\u3998\0\u39e4\0\u3a30"+
- "\0\u3a7c\0\u3ac8\0\u3b14\0\u3b60\0\u3bac\0\u3bf8\0\u3c44\0\u04c0"+
- "\0\u04c0\0\u3c90\0\u04c0\0\u3cdc\0\u3d28\0\u3d74\0\u3dc0\0\u3e0c"+
- "\0\u3e58\0\u3ea4\0\u3ef0\0\u3f3c\0\u04c0\0\u3f88\0\u3fd4\0\u4020"+
- "\0\u406c\0\u40b8\0\u04c0\0\u4104\0\u0344\0\u2484\0\u4150\0\u0344"+
- "\0\u0344\0\u419c\0\u41e8\0\u4234\0\u04c0\0\u4280\0\u42cc\0\u4318"+
- "\0\u04c0\0\u4364\0\u04c0\0\u04c0\0\u43b0\0\u04c0\0\u43fc\0\u04c0"+
- "\0\u4448\0\u4494\0\u44e0\0\u452c\0\u04c0\0\u4578\0\u45c4\0\u4610"+
- "\0\u465c\0\u46a8\0\u46f4\0\u4740\0\u478c\0\u47d8\0\u04c0\0\u4824"+
- "\0\u4870\0\u48bc\0\u4908\0\u4954\0\u49a0\0\u49ec\0\u4a38\0\u4a84"+
- "\0\u4ad0\0\u4b1c\0\u04c0\0\u4b68\0\u04c0\0\u04c0\0\u4bb4\0\u04c0"+
- "\0\u4c00\0\u04c0\0\u4c4c\0\u4c98\0\u4ce4\0\u04c0\0\u4d30\0\u4d7c"+
- "\0\u4dc8\0\u04c0\0\u4e14\0\u4e60\0\u4eac\0\u4ef8\0\u04c0\0\u4f44"+
- "\0\u4f90\0\u4fdc\0\u5028\0\u04c0\0\u5074\0\u04c0\0\u50c0\0\u510c"+
- "\0\u5158\0\u51a4\0\u51f0\0\u523c\0\u5288\0\u52d4\0\u04c0\0\u04c0"+
- "\0\u5320\0\u04c0\0\u04c0\0\u536c\0\u53b8\0\u5404\0\u5450\0\u04c0"+
- "\0\u04c0\0\u04c0\0\u549c\0\u54e8\0\u5534\0\u04c0\0\u5580\0\u55cc"+
- "\0\u5618\0\u04c0\0\u5664\0\u56b0\0\u56fc\0\u04c0\0\u5748\0\u04c0"+
- "\0\u5794\0\u04c0\0\u04c0\0\u0344\0\u0344\0\u57e0\0\u04c0\0\u04c0"+
- "\0\u582c\0\u5878\0\u58c4\0\u5910\0\u595c\0\u1774";
-
- private static int [] zzUnpackRowMap() {
- int [] result = new int[446];
- 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++);
+ 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;
}
- return j;
- }
- /**
- * The transition table of the DFA
- */
- private static final int [] ZZ_TRANS = zzUnpackTrans();
+ /**
+ * Translates a state to a row index in the transition table
+ */
+ private static final int[] ZZ_ROWMAP = zzUnpackRowMap();
- private static final String ZZ_TRANS_PACKED_0 =
- "\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\14"+
- "\1\22\1\23\1\24\1\17\1\25\1\26\1\27\1\30"+
- "\1\22\1\31\1\14\1\32\1\33\4\22\1\34\1\35"+
- "\1\36\1\37\1\40\2\22\1\41\2\31\1\22\1\42"+
- "\1\43\1\14\1\44\1\45\1\46\1\47\1\22\1\50"+
- "\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\22"+
- "\1\60\1\22\1\61\2\22\1\62\1\63\1\64\1\65"+
- "\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75"+
- "\1\76\1\77\1\100\1\101\1\22\1\14\1\102\1\103"+
- "\1\104\30\102\1\105\12\102\1\106\45\102\1\107\1\110"+
- "\1\111\31\107\1\105\11\107\1\106\45\107\1\14\1\112"+
- "\1\113\1\114\1\115\3\14\1\116\2\14\1\114\2\14"+
- "\1\117\2\116\4\14\4\116\5\14\3\116\2\14\2\116"+
- "\3\14\26\116\2\14\1\120\46\14\1\121\44\14\1\122"+
- "\14\14\1\112\1\113\1\114\4\14\1\123\2\14\1\114"+
- "\3\14\2\123\2\14\1\124\1\14\4\123\5\14\3\123"+
- "\2\14\2\123\3\14\26\123\2\14\1\125\46\14\1\126"+
- "\44\14\1\127\13\14\1\130\1\112\1\113\26\130\1\131"+
- "\63\130\1\132\1\133\12\130\1\134\77\130\1\112\1\113"+
- "\7\130\1\135\65\130\1\136\13\130\1\137\1\110\1\111"+
- "\43\137\1\140\1\141\44\137\116\0\1\16\114\0\1\17"+
- "\7\0\1\17\104\0\1\142\1\143\24\0\1\144\113\0"+
- "\1\145\67\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\26\22\14\0\1\22\12\0\1\146\1\147"+
- "\6\0\1\150\13\0\1\150\3\0\2\150\33\0\1\151"+
- "\25\0\1\152\1\0\1\153\4\0\2\152\4\0\4\152"+
- "\1\0\1\154\3\0\3\152\2\0\2\152\3\0\26\152"+
- "\2\0\1\155\45\0\1\156\76\0\1\157\14\0\1\160"+
- "\77\0\1\161\13\0\1\162\100\0\1\163\105\0\1\150"+
- "\7\0\1\31\13\0\1\31\3\0\2\31\2\164\101\0"+
- "\1\165\72\0\1\150\7\0\1\166\13\0\1\167\2\170"+
- "\1\0\1\171\1\172\2\164\55\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\10\22\3\0\2\22\1\173\3\22"+
- "\1\174\2\22\1\175\1\176\13\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\1\22\1\177"+
- "\6\22\3\0\2\22\1\200\11\22\1\201\11\22\14\0"+
- "\1\22\33\0\1\202\12\0\1\203\54\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\1\22\1\204"+
- "\24\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\7\22\1\205\3\0\26\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\5\22\1\206\20\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\2\22"+
- "\1\207\3\22\1\210\5\22\1\211\11\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\7\22"+
- "\1\212\3\0\10\22\1\213\1\22\1\214\2\22\1\215"+
- "\10\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\22\22\1\216\3\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\7\22\1\217\3\0\2\22\1\220\7\22\1\221\13\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\1\22\1\222\14\22\1\223\1\22"+
- "\1\224\5\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\3\22\1\225\4\22\3\0\5\22"+
- "\1\226\1\22\1\227\11\22\1\230\4\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\5\22\1\231\1\22\1\232\16\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\7\22"+
- "\1\233\3\0\6\22\1\234\11\22\1\235\5\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\11\22\1\236\4\22\1\237\7\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\1\22\1\240\1\241\7\22\1\242\13\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\2\22\1\243\3\22\1\244\17\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\7\22\1\245\3\0\26\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\7\22\1\246\16\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\2\22\1\247"+
- "\23\22\14\0\1\22\33\0\1\250\52\0\1\251\40\0"+
- "\1\252\53\0\1\253\37\0\1\254\113\0\1\255\61\0"+
- "\1\102\2\0\30\102\1\0\12\102\1\0\45\102\2\0"+
- "\1\104\111\0\1\256\3\0\27\256\1\257\1\260\1\256"+
- "\1\261\1\256\1\262\5\256\1\263\1\256\1\264\1\265"+
- "\5\256\1\266\1\267\1\256\1\270\30\256\1\0\1\107"+
- "\2\0\31\107\1\0\11\107\1\0\45\107\2\0\1\111"+
- "\113\0\1\113\114\0\1\114\7\0\1\114\116\0\1\271"+
- "\105\0\2\272\3\0\1\272\1\0\4\272\2\0\4\272"+
- "\1\0\1\273\2\0\10\272\3\0\26\272\16\0\1\274"+
- "\2\0\30\274\1\275\60\274\10\0\2\276\3\0\1\276"+
- "\1\0\4\276\2\0\4\276\1\0\1\277\2\0\10\276"+
- "\3\0\26\276\34\0\1\300\75\0\1\301\2\0\30\301"+
- "\1\302\1\303\57\301\31\0\1\304\64\0\1\133\126\0"+
- "\1\305\102\0\1\306\3\0\1\307\3\0\1\310\2\0"+
- "\2\307\2\0\1\311\1\0\4\307\5\0\3\307\2\0"+
- "\2\307\3\0\26\307\2\0\1\312\13\0\1\137\2\0"+
- "\43\137\2\0\44\137\1\313\3\0\32\313\1\314\1\313"+
- "\1\262\5\313\1\263\1\313\1\264\1\265\5\313\1\266"+
- "\1\267\1\313\1\315\27\313\1\316\1\0\1\142\1\317"+
- "\1\320\111\142\5\321\1\322\106\321\11\0\1\323\123\0"+
- "\1\150\13\0\1\150\3\0\2\150\2\164\57\0\2\152"+
- "\3\0\1\152\1\0\4\152\2\0\4\152\4\0\10\152"+
- "\3\0\26\152\50\0\1\324\113\0\1\325\77\0\1\326"+
- "\13\0\1\327\76\0\1\330\3\0\1\331\13\0\1\331"+
- "\3\0\2\331\2\0\1\330\100\0\1\332\72\0\1\150"+
- "\7\0\1\166\13\0\1\166\3\0\2\166\2\164\60\0"+
- "\1\150\7\0\1\166\13\0\1\167\3\0\1\171\1\172"+
- "\2\164\67\0\2\333\3\0\3\333\5\0\1\334\2\0"+
- "\5\333\3\0\1\333\1\0\1\333\1\0\1\333\6\0"+
- "\1\333\41\0\1\150\7\0\1\166\13\0\1\172\3\0"+
- "\2\172\2\164\60\0\1\150\7\0\1\166\13\0\1\335"+
- "\3\0\2\335\2\164\55\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\14\22\1\336\11\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\1\22\1\337\24\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\7\22\1\340\16\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\7\22\1\341"+
- "\16\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\10\22\1\342\15\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\4\22\1\343\21\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\5\22\1\344\20\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\7\22\1\345\3\0\26\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\10\22\1\346\15\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\5\22\1\347\2\22\1\350\15\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\7\22\1\351\16\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\2\22"+
- "\1\352\23\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\10\22\3\0\10\22\1\353\15\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\2\22\1\354\23\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\17\22\1\355\6\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\11\22"+
- "\1\356\14\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\7\22\1\357\3\0\26\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\15\22\1\360\10\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\10\22\1\361\10\22\1\362\4\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\14\22\1\363\11\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\12\22\1\364"+
- "\5\22\1\365\5\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\1\22\1\366"+
- "\7\22\1\367\14\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\17\22\1\370"+
- "\6\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\5\22\1\371\2\22\1\372"+
- "\15\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\17\22\1\373\6\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\7\22\1\374\3\0\26\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\13\22"+
- "\1\375\12\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\3\22\1\376\4\22\3\0\14\22"+
- "\1\377\11\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\10\22\3\0\7\22\1\u0100\16\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\10\22\1\u0101\15\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\11\22\1\u0102\14\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\6\22"+
- "\1\u0103\2\22\1\u0104\14\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\4\22"+
- "\1\u0105\21\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\10\22\3\0\1\u0106\25\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\1\22\1\u0107\24\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\11\22\1\u0108\14\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\10\22\1\u0109"+
- "\15\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\3\22\1\u010a\4\22\3\0\26\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\25\22\1\u010b\14\0\1\22\21\0\2\u010c"+
- "\3\0\3\u010c\5\0\1\u010c\2\0\5\u010c\3\0\1\u010c"+
- "\1\0\1\u010c\1\0\1\u010c\6\0\1\u010c\50\0\2\u010d"+
- "\3\0\3\u010d\5\0\1\u010d\2\0\5\u010d\3\0\1\u010d"+
- "\1\0\1\u010d\1\0\1\u010d\6\0\1\u010d\30\0\1\u010e"+
- "\2\0\30\u010e\1\302\1\0\57\u010e\1\303\2\0\30\303"+
- "\1\u010f\60\303\16\0\1\u0110\113\0\1\u0111\105\0\1\u0112"+
- "\6\0\2\u0112\4\0\4\u0112\5\0\3\u0112\2\0\2\u0112"+
- "\3\0\26\u0112\2\0\1\u0113\23\0\2\307\3\0\1\307"+
- "\1\0\4\307\2\0\4\307\4\0\10\307\3\0\26\307"+
- "\33\0\1\u0114\6\0\1\u0115\77\0\1\u0116\6\0\2\u0116"+
- "\4\0\4\u0116\5\0\3\u0116\2\0\2\u0116\3\0\26\u0116"+
- "\2\0\1\u0117\62\0\1\u0118\46\0\1\320\111\0\5\321"+
- "\1\u0119\106\321\4\0\1\320\1\322\140\0\1\u011a\102\0"+
- "\1\331\13\0\1\331\3\0\2\331\71\0\2\u011b\3\0"+
- "\3\u011b\5\0\1\u011b\2\0\5\u011b\3\0\1\u011b\1\0"+
- "\1\u011b\1\0\1\u011b\6\0\1\u011b\41\0\1\150\7\0"+
- "\1\166\13\0\1\u011c\3\0\2\u011c\2\164\55\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\5\22"+
- "\1\u011d\20\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\10\22\3\0\2\22\1\u011e\23\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\4\22\1\u011f\21\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\7\22"+
- "\1\u0120\3\0\26\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\16\22\1\u0121"+
- "\7\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\7\22\1\u0122\3\0\26\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\2\22\1\u0123\23\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\12\22"+
- "\1\u0124\13\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\7\22\1\u0125\3\0\26\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\4\22\1\u0126\21\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\5\22\1\u0127\2\22\1\u0128\15\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\5\22\1\u0129\20\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\10\22\1\u012a"+
- "\15\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\7\22\1\u012b\3\0\26\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\10\22\1\u012c\15\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\1\22"+
- "\1\u012d\24\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\10\22\3\0\11\22\1\u012e\14\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\7\22\1\u012f\3\0\26\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\14\22\1\u0130\11\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\7\22\1\u0131\3\0\26\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\6\22\1\u0132\17\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\5\22\1\u0133\20\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\7\22\1\u0134\3\0"+
- "\26\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\10\22\1\u0135\15\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\7\22\1\u0136\3\0\26\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\6\22"+
- "\1\u0137\5\22\1\u0138\11\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\7\22\1\u0139\3\0"+
- "\26\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\2\22\1\u013a\23\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\7\22\1\u013b\3\0\26\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\2\22"+
- "\1\u013c\23\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\10\22\3\0\16\22\1\u013d\7\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\14\22\1\u013e\11\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\10\22\1\u013f\15\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\22\22"+
- "\1\u0140\3\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\10\22\3\0\3\22\1\u0141\22\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\14\22\1\u0142\11\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\13\22\1\u0143\12\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\11\22"+
- "\1\u0144\14\22\14\0\1\22\21\0\2\u0145\3\0\3\u0145"+
- "\5\0\1\u0145\2\0\5\u0145\3\0\1\u0145\1\0\1\u0145"+
- "\1\0\1\u0145\6\0\1\u0145\50\0\2\u0146\3\0\3\u0146"+
- "\5\0\1\u0146\2\0\5\u0146\3\0\1\u0146\1\0\1\u0146"+
- "\1\0\1\u0146\6\0\1\u0146\31\0\2\u0147\5\0\2\u0112"+
- "\1\0\1\u0147\1\0\1\u0112\1\u0148\4\u0112\2\0\4\u0112"+
- "\4\0\10\u0112\3\0\26\u0112\33\0\1\u0149\123\0\1\u014a"+
- "\76\0\2\u0116\3\0\1\u0116\1\0\4\u0116\2\0\4\u0116"+
- "\4\0\10\u0116\3\0\26\u0116\16\0\4\321\1\320\1\u0119"+
- "\106\321\20\0\2\u014b\3\0\3\u014b\5\0\1\u014b\2\0"+
- "\5\u014b\3\0\1\u014b\1\0\1\u014b\1\0\1\u014b\6\0"+
- "\1\u014b\41\0\1\150\7\0\1\166\13\0\1\u014c\3\0"+
- "\2\u014c\2\164\55\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\7\22\1\u014d\3\0\26\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\14\22\1\u014e\11\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\10\22\1\u014f"+
- "\15\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\7\22\1\u0150\16\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\3\22\1\u0151\22\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\1\22\1\u0152\24\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\16\22\1\u0153"+
- "\7\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\10\22\1\u0154\15\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\11\22\1\u0155\14\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\5\22\1\u0156\20\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\11\22\1\u0157"+
- "\14\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\1\22\1\u0158\24\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\4\22\1\u0159\21\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\1\22\1\u015a\24\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\22\22\1\u015b"+
- "\3\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\5\22\1\u015c\20\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\15\22\1\u015d\10\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\6\22\1\u015e\17\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\2\22\1\u015f"+
- "\23\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\1\22\1\u0160\24\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\1\22\1\u0161\24\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\7\22\1\u0162"+
- "\3\0\26\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\3\22\1\u0163\4\22\3\0\26\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\12\22\1\u0164\13\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\10\22\1\u0165\15\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\21\22"+
- "\1\u0166\4\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\7\22\1\u0167\3\0\26\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\7\22\1\u0168\3\0\26\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\2\22"+
- "\1\u0169\23\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\10\22\3\0\2\22\1\u016a\23\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\11\22\1\u016b\14\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\7\22\1\u016c\16\22\14\0\1\22\2\0\2\u0147"+
- "\10\0\1\u0147\2\0\1\u0148\123\0\1\u016d\105\0\2\u016e"+
- "\3\0\3\u016e\5\0\1\u016e\2\0\5\u016e\3\0\1\u016e"+
- "\1\0\1\u016e\1\0\1\u016e\6\0\1\u016e\41\0\1\150"+
- "\7\0\1\166\13\0\1\u016f\3\0\2\u016f\2\164\55\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\14\22\1\u0170\11\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\11\22\1\u0171"+
- "\14\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\13\22\1\u0172\12\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\7\22\1\u0173\16\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\7\22\1\u0174\16\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\4\22\1\u0175"+
- "\21\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\16\22\1\u0176\7\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\11\22\1\u0177\14\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\7\22\1\u0178"+
- "\3\0\26\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\10\22\3\0\17\22\1\u0179\6\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\3\22\1\u017a\4\22\3\0\26\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\7\22\1\u017b\16\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\3\22\1\u017c\4\22"+
- "\3\0\7\22\1\u017d\16\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\10\22"+
- "\1\u017e\15\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\10\22\3\0\21\22\1\u017f\4\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\11\22\1\u0180\14\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\14\22\1\u0181\11\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\7\22\1\u0182\3\0"+
- "\26\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\11\22\1\u0183\14\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\4\22\1\u0184\21\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\10\22\1\u0185\15\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\23\22\1\u0186"+
- "\2\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\4\22\1\u0187\21\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\11\22\1\u0188\14\22\14\0\1\22\30\0"+
- "\1\u0189\104\0\2\u018a\3\0\3\u018a\5\0\1\u018a\2\0"+
- "\5\u018a\3\0\1\u018a\1\0\1\u018a\1\0\1\u018a\6\0"+
- "\1\u018a\41\0\1\150\7\0\1\166\13\0\1\u018b\3\0"+
- "\2\u018b\2\164\55\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\20\22\1\u018c\5\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\6\22\1\u018d\17\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\5\22"+
- "\1\u018e\20\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\10\22\3\0\12\22\1\u018f\13\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\13\22\1\u0190\12\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\2\22\1\u0191\23\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\4\22"+
- "\1\u0192\21\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\10\22\3\0\2\22\1\u0193\23\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\2\22\1\u0194\23\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\7\22"+
- "\1\u0195\3\0\26\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\7\22\1\u0196"+
- "\16\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\10\22\1\u0197\15\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\4\22\1\u0198\21\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\10\22\1\u0199\15\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\7\22\1\u019a\3\0\26\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\7\22\1\u019b\3\0\26\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\10\22\1\u019c\15\22\14\0\1\22\31\0\1\u019d\103\0"+
- "\2\u019e\3\0\3\u019e\5\0\1\u019e\2\0\5\u019e\3\0"+
- "\1\u019e\1\0\1\u019e\1\0\1\u019e\6\0\1\u019e\41\0"+
- "\1\150\7\0\1\166\13\0\1\u019f\3\0\2\u019f\2\164"+
- "\55\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\7\22\1\u01a0\16\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\7\22\1\u01a1\3\0"+
- "\26\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\7\22\1\u01a2\3\0\26\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\4\22\1\u01a3\21\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\7\22\1\u01a4\3\0"+
- "\26\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\4\22\1\u01a5\21\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\14\22\1\u01a6\11\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\7\22\1\u01a7\16\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\7\22\1\u01a8\3\0\26\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\7\22\1\u01a9\3\0\26\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\20\22\1\u01aa\5\22\14\0\1\22\30\0\1\u01ab\104\0"+
- "\2\u01ac\3\0\3\u01ac\5\0\1\u01ac\2\0\5\u01ac\3\0"+
- "\1\u01ac\1\0\1\u01ac\1\0\1\u01ac\6\0\1\u01ac\41\0"+
- "\1\150\7\0\1\166\13\0\1\u01ad\3\0\2\u01ad\2\164"+
- "\55\0\3\22\7\0\2\22\3\0\4\22\4\0\7\22"+
- "\1\u01ae\3\0\26\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\6\22\1\u01af"+
- "\17\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\7\22\1\u01b0\3\0\26\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\10\22\1\u01b1\15\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\13\22"+
- "\1\u01b2\12\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\10\22\3\0\13\22\1\u01b3\12\22"+
- "\14\0\1\22\25\0\1\u01b4\107\0\2\u01b5\3\0\3\u01b5"+
- "\5\0\1\u01b5\2\0\5\u01b5\3\0\1\u01b5\1\0\1\u01b5"+
- "\1\0\1\u01b5\6\0\1\u01b5\41\0\1\150\7\0\1\166"+
- "\13\0\1\u01b6\3\0\2\u01b6\2\164\55\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\3\22\1\u01b7\4\22\3\0"+
- "\26\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\5\22\1\u01b8\20\22\14\0"+
- "\1\22\12\0\1\150\7\0\1\166\13\0\1\u01b9\3\0"+
- "\2\u01b9\2\164\60\0\1\150\7\0\1\166\13\0\1\u01ba"+
- "\3\0\2\u01ba\2\164\60\0\1\150\7\0\1\166\13\0"+
- "\1\u01bb\3\0\2\u01bb\2\164\60\0\1\150\7\0\1\166"+
- "\13\0\1\u01bc\3\0\2\u01bc\2\164\60\0\1\150\7\0"+
- "\1\166\13\0\1\u01bd\3\0\2\u01bd\2\164\60\0\1\150"+
- "\7\0\1\166\13\0\1\u01be\3\0\2\u01be\2\164\47\0";
+ private static final String ZZ_ROWMAP_PACKED_0
+ = "\0\0\0\114\0\230\0\344\0\u0130\0\u017c\0\u01c8\0\u0214"
+ + "\0\u0260\0\u02ac\0\u02f8\0\u0344\0\u0390\0\u0344\0\u03dc\0\u0428"
+ + "\0\u0474\0\u04c0\0\u050c\0\u0558\0\u05a4\0\u05f0\0\u063c\0\u0688"
+ + "\0\u06d4\0\u0344\0\u0344\0\u0344\0\u0720\0\u0344\0\u0344\0\u076c"
+ + "\0\u07b8\0\u0804\0\u0850\0\u0344\0\u089c\0\u08e8\0\u0934\0\u0980"
+ + "\0\u09cc\0\u0a18\0\u0a64\0\u0ab0\0\u0afc\0\u0b48\0\u0b94\0\u0be0"
+ + "\0\u0c2c\0\u0c78\0\u0cc4\0\u0d10\0\u0d5c\0\u0344\0\u0344\0\u0344"
+ + "\0\u0344\0\u0344\0\u0344\0\u0344\0\u0da8\0\u0df4\0\u0e40\0\u0e8c"
+ + "\0\u0344\0\u0ed8\0\u0f24\0\u0344\0\u0344\0\u0f70\0\u0fbc\0\u1008"
+ + "\0\u0344\0\u1054\0\u0344\0\u10a0\0\u10ec\0\u1138\0\u0344\0\u0344"
+ + "\0\u1184\0\u0344\0\u11d0\0\u121c\0\u0344\0\u1268\0\u0344\0\u0344"
+ + "\0\u12b4\0\u1300\0\u0344\0\u134c\0\u1398\0\u0344\0\u13e4\0\u1430"
+ + "\0\u0344\0\u147c\0\u14c8\0\u0344\0\u0344\0\u1514\0\u0344\0\u1560"
+ + "\0\u0344\0\u15ac\0\u15f8\0\u0344\0\u0344\0\u1644\0\u0344\0\u0344"
+ + "\0\u1690\0\u0344\0\u0344\0\u16dc\0\u1728\0\u1774\0\u17c0\0\u180c"
+ + "\0\u1858\0\u18a4\0\u18f0\0\u193c\0\u1988\0\u19d4\0\u1a20\0\u1a6c"
+ + "\0\u1ab8\0\u0344\0\u0344\0\u1b04\0\u1b50\0\u04c0\0\u1b9c\0\u1be8"
+ + "\0\u1c34\0\u1c80\0\u1ccc\0\u1d18\0\u1d64\0\u1db0\0\u1dfc\0\u1e48"
+ + "\0\u1e94\0\u1ee0\0\u1f2c\0\u1f78\0\u04c0\0\u04c0\0\u1fc4\0\u2010"
+ + "\0\u205c\0\u20a8\0\u20f4\0\u04c0\0\u2140\0\u218c\0\u21d8\0\u2224"
+ + "\0\u2270\0\u22bc\0\u2308\0\u2354\0\u23a0\0\u23ec\0\u2438\0\u0344"
+ + "\0\u0344\0\u0344\0\u0344\0\u0344\0\u0344\0\u0344\0\u0344\0\u0344"
+ + "\0\u2484\0\u0344\0\u0344\0\u0344\0\u0344\0\u0344\0\u0344\0\u24d0"
+ + "\0\u0344\0\u1138\0\u0344\0\u1184\0\u0344\0\u11d0\0\u0344\0\u0344"
+ + "\0\u1268\0\u251c\0\u2568\0\u25b4\0\u2600\0\u264c\0\u2698\0\u26e4"
+ + "\0\u2730\0\u0344\0\u0344\0\u2484\0\u24d0\0\u277c\0\u27c8\0\u0344"
+ + "\0\u2814\0\u2860\0\u0344\0\u0344\0\u0344\0\u28ac\0\u0344\0\u28f8"
+ + "\0\u28f8\0\u0344\0\u2944\0\u180c\0\u2990\0\u29dc\0\u04c0\0\u2a28"
+ + "\0\u2a74\0\u2ac0\0\u2b0c\0\u2b58\0\u2ba4\0\u2bf0\0\u2c3c\0\u2c88"
+ + "\0\u2cd4\0\u2d20\0\u04c0\0\u2d6c\0\u2db8\0\u2e04\0\u2e50\0\u04c0"
+ + "\0\u2e9c\0\u2ee8\0\u2f34\0\u2f80\0\u04c0\0\u2fcc\0\u3018\0\u3064"
+ + "\0\u30b0\0\u30fc\0\u3148\0\u04c0\0\u3194\0\u31e0\0\u322c\0\u3278"
+ + "\0\u32c4\0\u3310\0\u335c\0\u33a8\0\u33f4\0\u3440\0\u04c0\0\u348c"
+ + "\0\u04c0\0\u34d8\0\u04c0\0\u3524\0\u3570\0\u251c\0\u0344\0\u0344"
+ + "\0\u0344\0\u35bc\0\u0344\0\u3608\0\u3654\0\u36a0\0\u0344\0\u0344"
+ + "\0\u36ec\0\u0344\0\u3738\0\u3784\0\u37d0\0\u381c\0\u3868\0\u38b4"
+ + "\0\u04c0\0\u04c0\0\u3900\0\u394c\0\u04c0\0\u3998\0\u39e4\0\u3a30"
+ + "\0\u3a7c\0\u3ac8\0\u3b14\0\u3b60\0\u3bac\0\u3bf8\0\u3c44\0\u04c0"
+ + "\0\u04c0\0\u3c90\0\u04c0\0\u3cdc\0\u3d28\0\u3d74\0\u3dc0\0\u3e0c"
+ + "\0\u3e58\0\u3ea4\0\u3ef0\0\u3f3c\0\u04c0\0\u3f88\0\u3fd4\0\u4020"
+ + "\0\u406c\0\u40b8\0\u04c0\0\u4104\0\u0344\0\u2484\0\u4150\0\u0344"
+ + "\0\u0344\0\u419c\0\u41e8\0\u4234\0\u04c0\0\u4280\0\u42cc\0\u4318"
+ + "\0\u04c0\0\u4364\0\u04c0\0\u04c0\0\u43b0\0\u04c0\0\u43fc\0\u04c0"
+ + "\0\u4448\0\u4494\0\u44e0\0\u452c\0\u04c0\0\u4578\0\u45c4\0\u4610"
+ + "\0\u465c\0\u46a8\0\u46f4\0\u4740\0\u478c\0\u47d8\0\u04c0\0\u4824"
+ + "\0\u4870\0\u48bc\0\u4908\0\u4954\0\u49a0\0\u49ec\0\u4a38\0\u4a84"
+ + "\0\u4ad0\0\u4b1c\0\u04c0\0\u4b68\0\u04c0\0\u04c0\0\u4bb4\0\u04c0"
+ + "\0\u4c00\0\u04c0\0\u4c4c\0\u4c98\0\u4ce4\0\u04c0\0\u4d30\0\u4d7c"
+ + "\0\u4dc8\0\u04c0\0\u4e14\0\u4e60\0\u4eac\0\u4ef8\0\u04c0\0\u4f44"
+ + "\0\u4f90\0\u4fdc\0\u5028\0\u04c0\0\u5074\0\u04c0\0\u50c0\0\u510c"
+ + "\0\u5158\0\u51a4\0\u51f0\0\u523c\0\u5288\0\u52d4\0\u04c0\0\u04c0"
+ + "\0\u5320\0\u04c0\0\u04c0\0\u536c\0\u53b8\0\u5404\0\u5450\0\u04c0"
+ + "\0\u04c0\0\u04c0\0\u549c\0\u54e8\0\u5534\0\u04c0\0\u5580\0\u55cc"
+ + "\0\u5618\0\u04c0\0\u5664\0\u56b0\0\u56fc\0\u04c0\0\u5748\0\u04c0"
+ + "\0\u5794\0\u04c0\0\u04c0\0\u0344\0\u0344\0\u57e0\0\u04c0\0\u04c0"
+ + "\0\u582c\0\u5878\0\u58c4\0\u5910\0\u595c\0\u1774";
- private static int [] zzUnpackTrans() {
- int [] result = new int[22952];
- 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);
+ private static int[] zzUnpackRowMap() {
+ int[] result = new int[446];
+ int offset = 0;
+ offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
+ return result;
}
- return j;
- }
+ private static int zzUnpackRowMap(String packed, int offset, int[] result) {
+ int i = 0; /* index in packed string */
- /* 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;
+ int j = offset; /* index in unpacked array */
- /* 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 aState
- */
- private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
-
- private static final String ZZ_ATTRIBUTE_PACKED_0 =
- "\13\0\1\11\1\1\1\11\13\1\3\11\1\1\2\11"+
- "\4\1\1\11\21\1\7\11\4\1\1\11\2\1\2\11"+
- "\3\1\1\11\1\1\1\11\3\1\2\11\1\1\1\11"+
- "\2\1\1\11\1\1\2\11\2\1\1\11\2\1\1\11"+
- "\2\1\1\11\1\1\1\0\2\11\1\1\1\11\1\1"+
- "\1\11\2\1\2\11\1\1\2\11\1\1\2\11\1\0"+
- "\3\1\1\0\11\1\2\11\44\1\11\11\1\1\6\11"+
- "\1\1\1\11\1\0\1\11\1\0\1\11\1\0\2\11"+
- "\1\0\1\1\4\0\1\1\2\0\2\11\4\1\1\11"+
- "\2\0\3\11\1\1\1\11\1\0\1\1\1\11\61\1"+
- "\3\0\3\11\1\0\1\11\2\0\1\1\2\11\1\0"+
- "\1\11\52\1\1\11\2\0\2\11\1\0\42\1\1\0"+
- "\33\1\1\0\23\1\1\0\15\1\1\0\10\1\2\11"+
- "\11\1";
-
- private static int [] zzUnpackAttribute() {
- int [] result = new int[446];
- 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);
+ int l = packed.length();
+ while (i < l) {
+ int high = packed.charAt(i++) << 16;
+ result[j++] = high | packed.charAt(i++);
+ }
+ return j;
}
- return j;
- }
- /** the input device */
- private java.io.Reader zzReader;
+ /**
+ * The transition table of the DFA
+ */
+ private static final int[] ZZ_TRANS = zzUnpackTrans();
- /** the current state of the DFA */
- private int zzState;
+ private static final String ZZ_TRANS_PACKED_0
+ = "\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\14"
+ + "\1\22\1\23\1\24\1\17\1\25\1\26\1\27\1\30"
+ + "\1\22\1\31\1\14\1\32\1\33\4\22\1\34\1\35"
+ + "\1\36\1\37\1\40\2\22\1\41\2\31\1\22\1\42"
+ + "\1\43\1\14\1\44\1\45\1\46\1\47\1\22\1\50"
+ + "\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\22"
+ + "\1\60\1\22\1\61\2\22\1\62\1\63\1\64\1\65"
+ + "\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75"
+ + "\1\76\1\77\1\100\1\101\1\22\1\14\1\102\1\103"
+ + "\1\104\30\102\1\105\12\102\1\106\45\102\1\107\1\110"
+ + "\1\111\31\107\1\105\11\107\1\106\45\107\1\14\1\112"
+ + "\1\113\1\114\1\115\3\14\1\116\2\14\1\114\2\14"
+ + "\1\117\2\116\4\14\4\116\5\14\3\116\2\14\2\116"
+ + "\3\14\26\116\2\14\1\120\46\14\1\121\44\14\1\122"
+ + "\14\14\1\112\1\113\1\114\4\14\1\123\2\14\1\114"
+ + "\3\14\2\123\2\14\1\124\1\14\4\123\5\14\3\123"
+ + "\2\14\2\123\3\14\26\123\2\14\1\125\46\14\1\126"
+ + "\44\14\1\127\13\14\1\130\1\112\1\113\26\130\1\131"
+ + "\63\130\1\132\1\133\12\130\1\134\77\130\1\112\1\113"
+ + "\7\130\1\135\65\130\1\136\13\130\1\137\1\110\1\111"
+ + "\43\137\1\140\1\141\44\137\116\0\1\16\114\0\1\17"
+ + "\7\0\1\17\104\0\1\142\1\143\24\0\1\144\113\0"
+ + "\1\145\67\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\26\22\14\0\1\22\12\0\1\146\1\147"
+ + "\6\0\1\150\13\0\1\150\3\0\2\150\33\0\1\151"
+ + "\25\0\1\152\1\0\1\153\4\0\2\152\4\0\4\152"
+ + "\1\0\1\154\3\0\3\152\2\0\2\152\3\0\26\152"
+ + "\2\0\1\155\45\0\1\156\76\0\1\157\14\0\1\160"
+ + "\77\0\1\161\13\0\1\162\100\0\1\163\105\0\1\150"
+ + "\7\0\1\31\13\0\1\31\3\0\2\31\2\164\101\0"
+ + "\1\165\72\0\1\150\7\0\1\166\13\0\1\167\2\170"
+ + "\1\0\1\171\1\172\2\164\55\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\10\22\3\0\2\22\1\173\3\22"
+ + "\1\174\2\22\1\175\1\176\13\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\1\22\1\177"
+ + "\6\22\3\0\2\22\1\200\11\22\1\201\11\22\14\0"
+ + "\1\22\33\0\1\202\12\0\1\203\54\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\1\22\1\204"
+ + "\24\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\7\22\1\205\3\0\26\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\5\22\1\206\20\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\2\22"
+ + "\1\207\3\22\1\210\5\22\1\211\11\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\7\22"
+ + "\1\212\3\0\10\22\1\213\1\22\1\214\2\22\1\215"
+ + "\10\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\22\22\1\216\3\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\7\22\1\217\3\0\2\22\1\220\7\22\1\221\13\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\1\22\1\222\14\22\1\223\1\22"
+ + "\1\224\5\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\3\22\1\225\4\22\3\0\5\22"
+ + "\1\226\1\22\1\227\11\22\1\230\4\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\5\22\1\231\1\22\1\232\16\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\7\22"
+ + "\1\233\3\0\6\22\1\234\11\22\1\235\5\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\11\22\1\236\4\22\1\237\7\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\1\22\1\240\1\241\7\22\1\242\13\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\2\22\1\243\3\22\1\244\17\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\7\22\1\245\3\0\26\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\7\22\1\246\16\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\2\22\1\247"
+ + "\23\22\14\0\1\22\33\0\1\250\52\0\1\251\40\0"
+ + "\1\252\53\0\1\253\37\0\1\254\113\0\1\255\61\0"
+ + "\1\102\2\0\30\102\1\0\12\102\1\0\45\102\2\0"
+ + "\1\104\111\0\1\256\3\0\27\256\1\257\1\260\1\256"
+ + "\1\261\1\256\1\262\5\256\1\263\1\256\1\264\1\265"
+ + "\5\256\1\266\1\267\1\256\1\270\30\256\1\0\1\107"
+ + "\2\0\31\107\1\0\11\107\1\0\45\107\2\0\1\111"
+ + "\113\0\1\113\114\0\1\114\7\0\1\114\116\0\1\271"
+ + "\105\0\2\272\3\0\1\272\1\0\4\272\2\0\4\272"
+ + "\1\0\1\273\2\0\10\272\3\0\26\272\16\0\1\274"
+ + "\2\0\30\274\1\275\60\274\10\0\2\276\3\0\1\276"
+ + "\1\0\4\276\2\0\4\276\1\0\1\277\2\0\10\276"
+ + "\3\0\26\276\34\0\1\300\75\0\1\301\2\0\30\301"
+ + "\1\302\1\303\57\301\31\0\1\304\64\0\1\133\126\0"
+ + "\1\305\102\0\1\306\3\0\1\307\3\0\1\310\2\0"
+ + "\2\307\2\0\1\311\1\0\4\307\5\0\3\307\2\0"
+ + "\2\307\3\0\26\307\2\0\1\312\13\0\1\137\2\0"
+ + "\43\137\2\0\44\137\1\313\3\0\32\313\1\314\1\313"
+ + "\1\262\5\313\1\263\1\313\1\264\1\265\5\313\1\266"
+ + "\1\267\1\313\1\315\27\313\1\316\1\0\1\142\1\317"
+ + "\1\320\111\142\5\321\1\322\106\321\11\0\1\323\123\0"
+ + "\1\150\13\0\1\150\3\0\2\150\2\164\57\0\2\152"
+ + "\3\0\1\152\1\0\4\152\2\0\4\152\4\0\10\152"
+ + "\3\0\26\152\50\0\1\324\113\0\1\325\77\0\1\326"
+ + "\13\0\1\327\76\0\1\330\3\0\1\331\13\0\1\331"
+ + "\3\0\2\331\2\0\1\330\100\0\1\332\72\0\1\150"
+ + "\7\0\1\166\13\0\1\166\3\0\2\166\2\164\60\0"
+ + "\1\150\7\0\1\166\13\0\1\167\3\0\1\171\1\172"
+ + "\2\164\67\0\2\333\3\0\3\333\5\0\1\334\2\0"
+ + "\5\333\3\0\1\333\1\0\1\333\1\0\1\333\6\0"
+ + "\1\333\41\0\1\150\7\0\1\166\13\0\1\172\3\0"
+ + "\2\172\2\164\60\0\1\150\7\0\1\166\13\0\1\335"
+ + "\3\0\2\335\2\164\55\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\14\22\1\336\11\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\1\22\1\337\24\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\7\22\1\340\16\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\7\22\1\341"
+ + "\16\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\10\22\1\342\15\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\4\22\1\343\21\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\5\22\1\344\20\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\7\22\1\345\3\0\26\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\10\22\1\346\15\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\5\22\1\347\2\22\1\350\15\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\7\22\1\351\16\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\2\22"
+ + "\1\352\23\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\10\22\3\0\10\22\1\353\15\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\2\22\1\354\23\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\17\22\1\355\6\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\11\22"
+ + "\1\356\14\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\7\22\1\357\3\0\26\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\15\22\1\360\10\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\10\22\1\361\10\22\1\362\4\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\14\22\1\363\11\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\12\22\1\364"
+ + "\5\22\1\365\5\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\1\22\1\366"
+ + "\7\22\1\367\14\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\17\22\1\370"
+ + "\6\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\5\22\1\371\2\22\1\372"
+ + "\15\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\17\22\1\373\6\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\7\22\1\374\3\0\26\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\13\22"
+ + "\1\375\12\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\3\22\1\376\4\22\3\0\14\22"
+ + "\1\377\11\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\10\22\3\0\7\22\1\u0100\16\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\10\22\1\u0101\15\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\11\22\1\u0102\14\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\6\22"
+ + "\1\u0103\2\22\1\u0104\14\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\4\22"
+ + "\1\u0105\21\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\10\22\3\0\1\u0106\25\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\1\22\1\u0107\24\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\11\22\1\u0108\14\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\10\22\1\u0109"
+ + "\15\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\3\22\1\u010a\4\22\3\0\26\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\25\22\1\u010b\14\0\1\22\21\0\2\u010c"
+ + "\3\0\3\u010c\5\0\1\u010c\2\0\5\u010c\3\0\1\u010c"
+ + "\1\0\1\u010c\1\0\1\u010c\6\0\1\u010c\50\0\2\u010d"
+ + "\3\0\3\u010d\5\0\1\u010d\2\0\5\u010d\3\0\1\u010d"
+ + "\1\0\1\u010d\1\0\1\u010d\6\0\1\u010d\30\0\1\u010e"
+ + "\2\0\30\u010e\1\302\1\0\57\u010e\1\303\2\0\30\303"
+ + "\1\u010f\60\303\16\0\1\u0110\113\0\1\u0111\105\0\1\u0112"
+ + "\6\0\2\u0112\4\0\4\u0112\5\0\3\u0112\2\0\2\u0112"
+ + "\3\0\26\u0112\2\0\1\u0113\23\0\2\307\3\0\1\307"
+ + "\1\0\4\307\2\0\4\307\4\0\10\307\3\0\26\307"
+ + "\33\0\1\u0114\6\0\1\u0115\77\0\1\u0116\6\0\2\u0116"
+ + "\4\0\4\u0116\5\0\3\u0116\2\0\2\u0116\3\0\26\u0116"
+ + "\2\0\1\u0117\62\0\1\u0118\46\0\1\320\111\0\5\321"
+ + "\1\u0119\106\321\4\0\1\320\1\322\140\0\1\u011a\102\0"
+ + "\1\331\13\0\1\331\3\0\2\331\71\0\2\u011b\3\0"
+ + "\3\u011b\5\0\1\u011b\2\0\5\u011b\3\0\1\u011b\1\0"
+ + "\1\u011b\1\0\1\u011b\6\0\1\u011b\41\0\1\150\7\0"
+ + "\1\166\13\0\1\u011c\3\0\2\u011c\2\164\55\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\5\22"
+ + "\1\u011d\20\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\10\22\3\0\2\22\1\u011e\23\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\4\22\1\u011f\21\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\7\22"
+ + "\1\u0120\3\0\26\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\16\22\1\u0121"
+ + "\7\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\7\22\1\u0122\3\0\26\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\2\22\1\u0123\23\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\12\22"
+ + "\1\u0124\13\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\7\22\1\u0125\3\0\26\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\4\22\1\u0126\21\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\5\22\1\u0127\2\22\1\u0128\15\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\5\22\1\u0129\20\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\10\22\1\u012a"
+ + "\15\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\7\22\1\u012b\3\0\26\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\10\22\1\u012c\15\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\1\22"
+ + "\1\u012d\24\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\10\22\3\0\11\22\1\u012e\14\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\7\22\1\u012f\3\0\26\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\14\22\1\u0130\11\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\7\22\1\u0131\3\0\26\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\6\22\1\u0132\17\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\5\22\1\u0133\20\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\7\22\1\u0134\3\0"
+ + "\26\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\10\22\1\u0135\15\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\7\22\1\u0136\3\0\26\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\6\22"
+ + "\1\u0137\5\22\1\u0138\11\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\7\22\1\u0139\3\0"
+ + "\26\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\2\22\1\u013a\23\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\7\22\1\u013b\3\0\26\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\2\22"
+ + "\1\u013c\23\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\10\22\3\0\16\22\1\u013d\7\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\14\22\1\u013e\11\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\10\22\1\u013f\15\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\22\22"
+ + "\1\u0140\3\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\10\22\3\0\3\22\1\u0141\22\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\14\22\1\u0142\11\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\13\22\1\u0143\12\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\11\22"
+ + "\1\u0144\14\22\14\0\1\22\21\0\2\u0145\3\0\3\u0145"
+ + "\5\0\1\u0145\2\0\5\u0145\3\0\1\u0145\1\0\1\u0145"
+ + "\1\0\1\u0145\6\0\1\u0145\50\0\2\u0146\3\0\3\u0146"
+ + "\5\0\1\u0146\2\0\5\u0146\3\0\1\u0146\1\0\1\u0146"
+ + "\1\0\1\u0146\6\0\1\u0146\31\0\2\u0147\5\0\2\u0112"
+ + "\1\0\1\u0147\1\0\1\u0112\1\u0148\4\u0112\2\0\4\u0112"
+ + "\4\0\10\u0112\3\0\26\u0112\33\0\1\u0149\123\0\1\u014a"
+ + "\76\0\2\u0116\3\0\1\u0116\1\0\4\u0116\2\0\4\u0116"
+ + "\4\0\10\u0116\3\0\26\u0116\16\0\4\321\1\320\1\u0119"
+ + "\106\321\20\0\2\u014b\3\0\3\u014b\5\0\1\u014b\2\0"
+ + "\5\u014b\3\0\1\u014b\1\0\1\u014b\1\0\1\u014b\6\0"
+ + "\1\u014b\41\0\1\150\7\0\1\166\13\0\1\u014c\3\0"
+ + "\2\u014c\2\164\55\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\7\22\1\u014d\3\0\26\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\14\22\1\u014e\11\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\10\22\1\u014f"
+ + "\15\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\7\22\1\u0150\16\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\3\22\1\u0151\22\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\1\22\1\u0152\24\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\16\22\1\u0153"
+ + "\7\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\10\22\1\u0154\15\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\11\22\1\u0155\14\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\5\22\1\u0156\20\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\11\22\1\u0157"
+ + "\14\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\1\22\1\u0158\24\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\4\22\1\u0159\21\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\1\22\1\u015a\24\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\22\22\1\u015b"
+ + "\3\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\5\22\1\u015c\20\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\15\22\1\u015d\10\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\6\22\1\u015e\17\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\2\22\1\u015f"
+ + "\23\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\1\22\1\u0160\24\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\1\22\1\u0161\24\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\7\22\1\u0162"
+ + "\3\0\26\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\3\22\1\u0163\4\22\3\0\26\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\12\22\1\u0164\13\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\10\22\1\u0165\15\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\21\22"
+ + "\1\u0166\4\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\7\22\1\u0167\3\0\26\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\7\22\1\u0168\3\0\26\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\2\22"
+ + "\1\u0169\23\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\10\22\3\0\2\22\1\u016a\23\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\11\22\1\u016b\14\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\7\22\1\u016c\16\22\14\0\1\22\2\0\2\u0147"
+ + "\10\0\1\u0147\2\0\1\u0148\123\0\1\u016d\105\0\2\u016e"
+ + "\3\0\3\u016e\5\0\1\u016e\2\0\5\u016e\3\0\1\u016e"
+ + "\1\0\1\u016e\1\0\1\u016e\6\0\1\u016e\41\0\1\150"
+ + "\7\0\1\166\13\0\1\u016f\3\0\2\u016f\2\164\55\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\14\22\1\u0170\11\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\11\22\1\u0171"
+ + "\14\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\13\22\1\u0172\12\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\7\22\1\u0173\16\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\7\22\1\u0174\16\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\4\22\1\u0175"
+ + "\21\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\16\22\1\u0176\7\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\11\22\1\u0177\14\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\7\22\1\u0178"
+ + "\3\0\26\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\10\22\3\0\17\22\1\u0179\6\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\3\22\1\u017a\4\22\3\0\26\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\7\22\1\u017b\16\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\3\22\1\u017c\4\22"
+ + "\3\0\7\22\1\u017d\16\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\10\22"
+ + "\1\u017e\15\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\10\22\3\0\21\22\1\u017f\4\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\11\22\1\u0180\14\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\14\22\1\u0181\11\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\7\22\1\u0182\3\0"
+ + "\26\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\11\22\1\u0183\14\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\4\22\1\u0184\21\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\10\22\1\u0185\15\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\23\22\1\u0186"
+ + "\2\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\4\22\1\u0187\21\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\11\22\1\u0188\14\22\14\0\1\22\30\0"
+ + "\1\u0189\104\0\2\u018a\3\0\3\u018a\5\0\1\u018a\2\0"
+ + "\5\u018a\3\0\1\u018a\1\0\1\u018a\1\0\1\u018a\6\0"
+ + "\1\u018a\41\0\1\150\7\0\1\166\13\0\1\u018b\3\0"
+ + "\2\u018b\2\164\55\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\20\22\1\u018c\5\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\6\22\1\u018d\17\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\5\22"
+ + "\1\u018e\20\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\10\22\3\0\12\22\1\u018f\13\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\13\22\1\u0190\12\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\2\22\1\u0191\23\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\4\22"
+ + "\1\u0192\21\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\10\22\3\0\2\22\1\u0193\23\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\2\22\1\u0194\23\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\7\22"
+ + "\1\u0195\3\0\26\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\7\22\1\u0196"
+ + "\16\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\10\22\1\u0197\15\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\4\22\1\u0198\21\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\10\22\1\u0199\15\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\7\22\1\u019a\3\0\26\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\7\22\1\u019b\3\0\26\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\10\22\1\u019c\15\22\14\0\1\22\31\0\1\u019d\103\0"
+ + "\2\u019e\3\0\3\u019e\5\0\1\u019e\2\0\5\u019e\3\0"
+ + "\1\u019e\1\0\1\u019e\1\0\1\u019e\6\0\1\u019e\41\0"
+ + "\1\150\7\0\1\166\13\0\1\u019f\3\0\2\u019f\2\164"
+ + "\55\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\7\22\1\u01a0\16\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\7\22\1\u01a1\3\0"
+ + "\26\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\7\22\1\u01a2\3\0\26\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\4\22\1\u01a3\21\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\7\22\1\u01a4\3\0"
+ + "\26\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\4\22\1\u01a5\21\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\14\22\1\u01a6\11\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\7\22\1\u01a7\16\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\7\22\1\u01a8\3\0\26\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\7\22\1\u01a9\3\0\26\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\20\22\1\u01aa\5\22\14\0\1\22\30\0\1\u01ab\104\0"
+ + "\2\u01ac\3\0\3\u01ac\5\0\1\u01ac\2\0\5\u01ac\3\0"
+ + "\1\u01ac\1\0\1\u01ac\1\0\1\u01ac\6\0\1\u01ac\41\0"
+ + "\1\150\7\0\1\166\13\0\1\u01ad\3\0\2\u01ad\2\164"
+ + "\55\0\3\22\7\0\2\22\3\0\4\22\4\0\7\22"
+ + "\1\u01ae\3\0\26\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\6\22\1\u01af"
+ + "\17\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\7\22\1\u01b0\3\0\26\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\10\22\1\u01b1\15\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\13\22"
+ + "\1\u01b2\12\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\10\22\3\0\13\22\1\u01b3\12\22"
+ + "\14\0\1\22\25\0\1\u01b4\107\0\2\u01b5\3\0\3\u01b5"
+ + "\5\0\1\u01b5\2\0\5\u01b5\3\0\1\u01b5\1\0\1\u01b5"
+ + "\1\0\1\u01b5\6\0\1\u01b5\41\0\1\150\7\0\1\166"
+ + "\13\0\1\u01b6\3\0\2\u01b6\2\164\55\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\3\22\1\u01b7\4\22\3\0"
+ + "\26\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\5\22\1\u01b8\20\22\14\0"
+ + "\1\22\12\0\1\150\7\0\1\166\13\0\1\u01b9\3\0"
+ + "\2\u01b9\2\164\60\0\1\150\7\0\1\166\13\0\1\u01ba"
+ + "\3\0\2\u01ba\2\164\60\0\1\150\7\0\1\166\13\0"
+ + "\1\u01bb\3\0\2\u01bb\2\164\60\0\1\150\7\0\1\166"
+ + "\13\0\1\u01bc\3\0\2\u01bc\2\164\60\0\1\150\7\0"
+ + "\1\166\13\0\1\u01bd\3\0\2\u01bd\2\164\60\0\1\150"
+ + "\7\0\1\166\13\0\1\u01be\3\0\2\u01be\2\164\47\0";
- /** the current lexical state */
- private int zzLexicalState = YYINITIAL;
+ private static int[] zzUnpackTrans() {
+ int[] result = new int[22952];
+ int offset = 0;
+ offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
+ return result;
+ }
- /** this buffer contains the current text to be matched and is
- the source of the yytext() string */
- private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
+ private static int zzUnpackTrans(String packed, int offset, int[] result) {
+ int i = 0; /* index in packed string */
- /** the textposition at the last accepting state */
- private int zzMarkedPos;
+ int j = offset; /* index in unpacked array */
- /** the current text position in the buffer */
- private int zzCurrentPos;
+ 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;
+ }
- /** 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;
+ /* 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;
- /** number of newlines encountered up to the start of the matched text */
- private int yyline;
+ /* 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"
+ };
- /** the number of characters up to the start of the matched text */
- private int yychar;
+ /**
+ * ZZ_ATTRIBUTE[aState] contains the attributes of state aState
+ */
+ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute();
- /**
- * the number of characters from the last newline up to the start of the
- * matched text
- */
- private int yycolumn;
+ private static final String ZZ_ATTRIBUTE_PACKED_0
+ = "\13\0\1\11\1\1\1\11\13\1\3\11\1\1\2\11"
+ + "\4\1\1\11\21\1\7\11\4\1\1\11\2\1\2\11"
+ + "\3\1\1\11\1\1\1\11\3\1\2\11\1\1\1\11"
+ + "\2\1\1\11\1\1\2\11\2\1\1\11\2\1\1\11"
+ + "\2\1\1\11\1\1\1\0\2\11\1\1\1\11\1\1"
+ + "\1\11\2\1\2\11\1\1\2\11\1\1\2\11\1\0"
+ + "\3\1\1\0\11\1\2\11\44\1\11\11\1\1\6\11"
+ + "\1\1\1\11\1\0\1\11\1\0\1\11\1\0\2\11"
+ + "\1\0\1\1\4\0\1\1\2\0\2\11\4\1\1\11"
+ + "\2\0\3\11\1\1\1\11\1\0\1\1\1\11\61\1"
+ + "\3\0\3\11\1\0\1\11\2\0\1\1\2\11\1\0"
+ + "\1\11\52\1\1\11\2\0\2\11\1\0\42\1\1\0"
+ + "\33\1\1\0\23\1\1\0\15\1\1\0\10\1\2\11"
+ + "\11\1";
- /**
- * zzAtBOL == true <=> the scanner is currently at the beginning of a line
- */
- private boolean zzAtBOL = true;
+ private static int[] zzUnpackAttribute() {
+ int[] result = new int[446];
+ int offset = 0;
+ offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
+ return result;
+ }
- /** zzAtEOF == true <=> the scanner is at the EOF */
- private boolean zzAtEOF;
+ private static int zzUnpackAttribute(String packed, int offset, int[] result) {
+ int i = 0; /* index in packed string */
- /** denotes if the user-EOF-code has already been executed */
- private boolean zzEOFDone;
-
- /**
- * The number of occupied positions in zzBuffer beyond zzEndRead.
- * When a lead/high surrogate has been read from the input stream
- * into the final zzBuffer position, this will have a value of 1;
- * otherwise, it will have a value of 0.
- */
- private int zzFinalHighSurrogate = 0;
+ int j = offset; /* index in unpacked array */
- /* user code: */
+ 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 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;
+
+ /**
+ * denotes if the user-EOF-code has already been executed
+ */
+ private boolean zzEOFDone;
+
+ /**
+ * The number of occupied positions in zzBuffer beyond zzEndRead. When a
+ * lead/high surrogate has been read from the input stream into the final
+ * zzBuffer position, this will have a value of 1; otherwise, it will have a
+ * value of 0.
+ */
+ private int zzFinalHighSurrogate = 0;
+
+ /* user code: */
private String sourceCode;
- public ActionScriptLexer(String sourceCode){
+ public ActionScriptLexer(String sourceCode) {
this(new StringReader(sourceCode));
- this.sourceCode = sourceCode;
+ this.sourceCode = sourceCode;
}
- public void yypushbackstr(String s, int state)
- {
+ public void yypushbackstr(String s, int state) {
sourceCode = s + sourceCode.substring(yychar + yylength());
yyreset(new StringReader(sourceCode));
yybegin(state);
}
- public void yypushbackstr(String s)
- {
+ public void yypushbackstr(String s) {
yypushbackstr(s, YYINITIAL);
}
@@ -992,24 +1031,24 @@ public final class ActionScriptLexer {
return yyline + 1;
}
- private List listeners=new ArrayList<>();
+ private List listeners = new ArrayList<>();
- public void addListener(LexListener listener){
+ public void addListener(LexListener listener) {
listeners.add(listener);
}
- public void removeListener(LexListener listener){
+ public void removeListener(LexListener listener) {
listeners.remove(listener);
}
- public void informListenersLex(ParsedSymbol s){
- for(LexListener l:listeners){
+ public void informListenersLex(ParsedSymbol s) {
+ for (LexListener l : listeners) {
l.onLex(s);
}
}
- public void informListenersPushBack(ParsedSymbol s){
- for(LexListener l:listeners){
+ public void informListenersPushBack(ParsedSymbol s) {
+ for (LexListener l : listeners) {
l.onPushBack(s);
}
}
@@ -1021,9 +1060,10 @@ public final class ActionScriptLexer {
}
ParsedSymbol last;
- public ParsedSymbol lex() throws java.io.IOException, AVM2ParseException{
+
+ public ParsedSymbol lex() throws java.io.IOException, AVM2ParseException {
ParsedSymbol ret = null;
- if (!pushedBack.isEmpty()){
+ if (!pushedBack.isEmpty()) {
ret = last = pushedBack.pop();
} else {
ret = last = yylex();
@@ -1032,1090 +1072,1267 @@ public final class ActionScriptLexer {
return ret;
}
-
-
- /**
- * Creates a new scanner
- *
- * @param in the java.io.Reader to read input from.
- */
- public ActionScriptLexer(java.io.Reader in) {
- this.zzReader = in;
- }
-
-
- /**
- * Unpacks the compressed character translation table.
- *
- * @param packed the packed character translation table
- * @return the unpacked character translation table
- */
- private static char [] zzUnpackCMap(String packed) {
- char [] map = new char[0x110000];
- int i = 0; /* index in packed string */
- int j = 0; /* index in unpacked array */
- while (i < 3140) {
- int count = packed.charAt(i++);
- char value = packed.charAt(i++);
- do map[j++] = value; while (--count > 0);
- }
- return map;
- }
-
-
- /**
- * Refills the input buffer.
- *
- * @return false, 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) {
- zzEndRead += zzFinalHighSurrogate;
- zzFinalHighSurrogate = 0;
- System.arraycopy(zzBuffer, zzStartRead,
- zzBuffer, 0,
- zzEndRead-zzStartRead);
-
- /* translate stored positions */
- zzEndRead-= zzStartRead;
- zzCurrentPos-= zzStartRead;
- zzMarkedPos-= zzStartRead;
- zzStartRead = 0;
+ /**
+ * Creates a new scanner
+ *
+ * @param in the java.io.Reader to read input from.
+ */
+ public ActionScriptLexer(java.io.Reader in) {
+ this.zzReader = in;
}
- /* is the buffer big enough? */
- if (zzCurrentPos >= zzBuffer.length - zzFinalHighSurrogate) {
- /* if not: blow it up */
- char newBuffer[] = new char[zzBuffer.length*2];
- System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
- zzBuffer = newBuffer;
- zzEndRead += zzFinalHighSurrogate;
- zzFinalHighSurrogate = 0;
- }
+ /**
+ * Unpacks the compressed character translation table.
+ *
+ * @param packed the packed character translation table
+ * @return the unpacked character translation table
+ */
+ private static char[] zzUnpackCMap(String packed) {
+ char[] map = new char[0x110000];
+ int i = 0; /* index in packed string */
- /* fill the buffer with new input */
- int requested = zzBuffer.length - zzEndRead;
- int totalRead = 0;
- while (totalRead < requested) {
- int numRead = zzReader.read(zzBuffer, zzEndRead + totalRead, requested - totalRead);
- if (numRead == -1) {
- break;
- }
- totalRead += numRead;
- }
+ int j = 0; /* index in unpacked array */
- if (totalRead > 0) {
- zzEndRead += totalRead;
- if (totalRead == requested) { /* possibly more input available */
- if (Character.isHighSurrogate(zzBuffer[zzEndRead - 1])) {
- --zzEndRead;
- zzFinalHighSurrogate = 1;
+ while (i < 3140) {
+ int count = packed.charAt(i++);
+ char value = packed.charAt(i++);
+ do {
+ map[j++] = value;
+ } while (--count > 0);
}
- }
- return false;
+ return map;
}
- // totalRead = 0: End of stream
- return true;
- }
+ /**
+ * Refills the input buffer.
+ *
+ * @return false, iff there was new input.
+ *
+ * @exception java.io.IOException if any I/O-Error occurs
+ */
+ private boolean zzRefill() throws java.io.IOException {
-
- /**
- * Closes the input stream.
- */
- public final void yyclose() throws java.io.IOException {
- zzAtEOF = true; /* indicate end of file */
- zzEndRead = zzStartRead; /* invalidate buffer */
+ /* first: make room (if you can) */
+ if (zzStartRead > 0) {
+ zzEndRead += zzFinalHighSurrogate;
+ zzFinalHighSurrogate = 0;
+ System.arraycopy(zzBuffer, zzStartRead,
+ zzBuffer, 0,
+ zzEndRead - zzStartRead);
- if (zzReader != null)
- zzReader.close();
- }
+ /* translate stored positions */
+ zzEndRead -= zzStartRead;
+ zzCurrentPos -= zzStartRead;
+ zzMarkedPos -= zzStartRead;
+ zzStartRead = 0;
+ }
+ /* is the buffer big enough? */
+ if (zzCurrentPos >= zzBuffer.length - zzFinalHighSurrogate) {
+ /* if not: blow it up */
+ char newBuffer[] = new char[zzBuffer.length * 2];
+ System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
+ zzBuffer = newBuffer;
+ zzEndRead += zzFinalHighSurrogate;
+ zzFinalHighSurrogate = 0;
+ }
- /**
- * 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
- * cannot be reused (internal buffer is discarded and lost).
- * Lexical state is set to ZZ_INITIAL.
- *
- * Internal scan buffer is resized down to its initial length, if it has grown.
- *
- * @param reader the new input stream
- */
- public final void yyreset(java.io.Reader reader) {
- zzReader = reader;
- zzAtBOL = true;
- zzAtEOF = false;
- zzEOFDone = false;
- zzEndRead = zzStartRead = 0;
- zzCurrentPos = zzMarkedPos = 0;
- zzFinalHighSurrogate = 0;
- yyline = yychar = yycolumn = 0;
- zzLexicalState = YYINITIAL;
- if (zzBuffer.length > ZZ_BUFFERSIZE)
- zzBuffer = new char[ZZ_BUFFERSIZE];
- }
+ /* fill the buffer with new input */
+ int requested = zzBuffer.length - zzEndRead;
+ int totalRead = 0;
+ while (totalRead < requested) {
+ int numRead = zzReader.read(zzBuffer, zzEndRead + totalRead, requested - totalRead);
+ if (numRead == -1) {
+ break;
+ }
+ totalRead += numRead;
+ }
+ if (totalRead > 0) {
+ zzEndRead += totalRead;
+ if (totalRead == requested) { /* possibly more input available */
- /**
- * Returns the current lexical state.
- */
- public final int yystate() {
- return zzLexicalState;
- }
+ if (Character.isHighSurrogate(zzBuffer[zzEndRead - 1])) {
+ --zzEndRead;
+ zzFinalHighSurrogate = 1;
+ }
+ }
+ return false;
+ }
-
- /**
- * 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 pos 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];
+ // totalRead = 0: End of stream
+ return true;
}
- throw new Error(message);
- }
+ /**
+ * Closes the input stream.
+ *
+ * @throws java.io.IOException
+ */
+ public final void yyclose() throws java.io.IOException {
+ zzAtEOF = true; /* indicate end of file */
+ zzEndRead = zzStartRead; /* invalidate buffer */
- /**
- * 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);
+ if (zzReader != null) {
+ zzReader.close();
+ }
+ }
- zzMarkedPos -= number;
- }
+ /**
+ * 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
+ * cannot be reused (internal buffer is discarded and lost). Lexical
+ * state is set to ZZ_INITIAL.
+ *
+ * Internal scan buffer is resized down to its initial length, if it has
+ * grown.
+ *
+ * @param reader the new input stream
+ */
+ public final void yyreset(java.io.Reader reader) {
+ zzReader = reader;
+ zzAtBOL = true;
+ zzAtEOF = false;
+ zzEOFDone = false;
+ zzEndRead = zzStartRead = 0;
+ zzCurrentPos = zzMarkedPos = 0;
+ zzFinalHighSurrogate = 0;
+ yyline = yychar = yycolumn = 0;
+ zzLexicalState = YYINITIAL;
+ if (zzBuffer.length > ZZ_BUFFERSIZE) {
+ zzBuffer = new char[ZZ_BUFFERSIZE];
+ }
+ }
+ /**
+ * Returns the current lexical state.
+ *
+ * @return
+ */
+ public final int yystate() {
+ return zzLexicalState;
+ }
- /**
- * 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 ParsedSymbol yylex() throws java.io.IOException, AVM2ParseException {
- int zzInput;
- int zzAction;
+ /**
+ * Enters a new lexical state
+ *
+ * @param newState the new lexical state
+ */
+ public final void yybegin(int newState) {
+ zzLexicalState = newState;
+ }
- // cached fields:
- int zzCurrentPosL;
- int zzMarkedPosL;
- int zzEndReadL = zzEndRead;
- char [] zzBufferL = zzBuffer;
- char [] zzCMapL = ZZ_CMAP;
+ /**
+ * Returns the text matched by the current regular expression.
+ *
+ * @return
+ */
+ public final String yytext() {
+ return new String(zzBuffer, zzStartRead, zzMarkedPos - zzStartRead);
+ }
- int [] zzTransL = ZZ_TRANS;
- int [] zzRowMapL = ZZ_ROWMAP;
- int [] zzAttrL = ZZ_ATTRIBUTE;
+ /**
+ * Returns the character at position pos 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];
+ }
- while (true) {
- zzMarkedPosL = zzMarkedPos;
+ /**
+ * Returns the length of the matched text region.
+ *
+ * @return
+ */
+ public final int yylength() {
+ return zzMarkedPos - zzStartRead;
+ }
- yychar+= zzMarkedPosL-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];
+ }
- zzAction = -1;
+ throw new Error(message);
+ }
- zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
-
- zzState = ZZ_LEXSTATE[zzLexicalState];
+ /**
+ * 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);
+ }
- // set up zzAction for empty match case:
- int zzAttributes = zzAttrL[zzState];
- if ( (zzAttributes & 1) == 1 ) {
- zzAction = zzState;
- }
+ 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
+ * @throws com.jpexs.decompiler.flash.abc.avm2.parser.AVM2ParseException
+ */
+ public ParsedSymbol yylex() throws java.io.IOException, AVM2ParseException {
+ 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;
- zzForAction: {
while (true) {
-
- if (zzCurrentPosL < zzEndReadL) {
- zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
- zzCurrentPosL += Character.charCount(zzInput);
- }
- else if (zzAtEOF) {
- zzInput = YYEOF;
- break zzForAction;
- }
- else {
- // store back cached positions
- zzCurrentPos = zzCurrentPosL;
- zzMarkedPos = zzMarkedPosL;
- boolean eof = zzRefill();
- // get translated positions and possibly new buffer
- zzCurrentPosL = zzCurrentPos;
- zzMarkedPosL = zzMarkedPos;
- zzBufferL = zzBuffer;
- zzEndReadL = zzEndRead;
- if (eof) {
- zzInput = YYEOF;
- break zzForAction;
- }
- else {
- zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
- zzCurrentPosL += Character.charCount(zzInput);
- }
- }
- int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
- if (zzNext == -1) break zzForAction;
- zzState = zzNext;
+ zzMarkedPosL = zzMarkedPos;
- zzAttributes = zzAttrL[zzState];
- if ( (zzAttributes & 1) == 1 ) {
- zzAction = zzState;
- zzMarkedPosL = zzCurrentPosL;
- if ( (zzAttributes & 8) == 8 ) break zzForAction;
- }
+ yychar += zzMarkedPosL - zzStartRead;
+ zzAction = -1;
+
+ zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
+
+ zzState = ZZ_LEXSTATE[zzLexicalState];
+
+ // set up zzAction for empty match case:
+ int zzAttributes = zzAttrL[zzState];
+ if ((zzAttributes & 1) == 1) {
+ zzAction = zzState;
+ }
+
+ zzForAction:
+ {
+ while (true) {
+
+ if (zzCurrentPosL < zzEndReadL) {
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
+ zzCurrentPosL += Character.charCount(zzInput);
+ } else if (zzAtEOF) {
+ zzInput = YYEOF;
+ break zzForAction;
+ } else {
+ // store back cached positions
+ zzCurrentPos = zzCurrentPosL;
+ zzMarkedPos = zzMarkedPosL;
+ boolean eof = zzRefill();
+ // get translated positions and possibly new buffer
+ zzCurrentPosL = zzCurrentPos;
+ zzMarkedPosL = zzMarkedPos;
+ zzBufferL = zzBuffer;
+ zzEndReadL = zzEndRead;
+ if (eof) {
+ zzInput = YYEOF;
+ break zzForAction;
+ } else {
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
+ zzCurrentPosL += Character.charCount(zzInput);
+ }
+ }
+ int zzNext = zzTransL[zzRowMapL[zzState] + zzCMapL[zzInput]];
+ if (zzNext == -1) {
+ break zzForAction;
+ }
+ zzState = zzNext;
+
+ zzAttributes = zzAttrL[zzState];
+ if ((zzAttributes & 1) == 1) {
+ zzAction = zzState;
+ zzMarkedPosL = zzCurrentPosL;
+ if ((zzAttributes & 8) == 8) {
+ break zzForAction;
+ }
+ }
+
+ }
+ }
+
+ // store back cached position
+ zzMarkedPos = zzMarkedPosL;
+
+ switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
+ case 1: {
+ }
+ case 164:
+ break;
+ case 2: {
+ yyline++;
+ }
+ case 165:
+ break;
+ case 3: { /*ignore*/
+
+ }
+ case 166:
+ break;
+ case 4: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DIVIDE, yytext());
+ }
+ case 167:
+ break;
+ case 5: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MULTIPLY, yytext());
+ }
+ case 168:
+ break;
+ case 6: {
+ return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.IDENTIFIER, yytext());
+ }
+ case 169:
+ break;
+ case 7: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DOT, yytext());
+ }
+ case 170:
+ break;
+ case 8: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.LOWER_THAN, yytext());
+ }
+ case 171:
+ break;
+ case 9: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NOT, yytext());
+ }
+ case 172:
+ break;
+ case 10: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MINUS, yytext());
+ }
+ case 173:
+ break;
+ case 11: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.GREATER_THAN, yytext());
+ }
+ case 174:
+ break;
+ case 12: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.COLON, yytext());
+ }
+ case 175:
+ break;
+ case 13: {
+ return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, Long.parseLong((yytext())));
+ }
+ case 176:
+ break;
+ case 14: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.TERNAR, yytext());
+ }
+ case 177:
+ break;
+ case 15: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BRACKET_OPEN, yytext());
+ }
+ case 178:
+ break;
+ case 16: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BRACKET_CLOSE, yytext());
+ }
+ case 179:
+ break;
+ case 17: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN, yytext());
+ }
+ case 180:
+ break;
+ case 18: {
+ string.setLength(0);
+ yybegin(STRING);
+ }
+ case 181:
+ break;
+ case 19: {
+ string.setLength(0);
+ yybegin(CHARLITERAL);
+ }
+ case 182:
+ break;
+ case 20: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PLUS, yytext());
+ }
+ case 183:
+ break;
+ case 21: {
+ string.setLength(0);
+ yybegin(OIDENTIFIER);
+ }
+ case 184:
+ break;
+ case 22: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PARENT_OPEN, yytext());
+ }
+ case 185:
+ break;
+ case 23: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PARENT_CLOSE, yytext());
+ }
+ case 186:
+ break;
+ case 24: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.CURLY_OPEN, yytext());
+ }
+ case 187:
+ break;
+ case 25: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.CURLY_CLOSE, yytext());
+ }
+ case 188:
+ break;
+ case 26: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SEMICOLON, yytext());
+ }
+ case 189:
+ break;
+ case 27: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.COMMA, yytext());
+ }
+ case 190:
+ break;
+ case 28: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NEGATE, yytext());
+ }
+ case 191:
+ break;
+ case 29: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BITAND, yytext());
+ }
+ case 192:
+ break;
+ case 30: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BITOR, yytext());
+ }
+ case 193:
+ break;
+ case 31: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.XOR, yytext());
+ }
+ case 194:
+ break;
+ case 32: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MODULO, yytext());
+ }
+ case 195:
+ break;
+ case 33: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ATTRIBUTE, yytext());
+ }
+ case 196:
+ break;
+ case 34: {
+ string.append(yytext());
+ }
+ case 197:
+ break;
+ case 35: {
+ yybegin(YYINITIAL);
+ yyline++;
+ }
+ case 198:
+ break;
+ case 36: {
+ yybegin(YYINITIAL);
+ // length also includes the trailing quote
+ return new ParsedSymbol(SymbolGroup.STRING, SymbolType.STRING, string.toString());
+ }
+ case 199:
+ break;
+ case 37: {
+ yybegin(YYINITIAL);
+ yyline++;
+ }
+ case 200:
+ break;
+ case 38: {
+ string.append(yytext());
+ yyline++;
+ }
+ case 201:
+ break;
+ case 39: {
+ yybegin(XML);
+ pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_STARTTAG_END, yytext()));
+ if (string.length() > 0) {
+ pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString()));
+ string.setLength(0);
+ }
+ return lex();
+ }
+ case 202:
+ break;
+ case 40: {
+ yybegin(YYINITIAL);
+ pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_ATTRNAMEVAR_BEGIN, yytext()));
+ if (string.length() > 0) {
+ pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString()));
+ string.setLength(0);
+ }
+ return lex();
+ }
+ case 203:
+ break;
+ case 41: {
+ yybegin(YYINITIAL);
+ return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_ATTRVALVAR_BEGIN, yytext());
+ }
+ case 204:
+ break;
+ case 42: {
+ yybegin(YYINITIAL);
+ pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_INSTRATTRNAMEVAR_BEGIN, yytext()));
+ if (string.length() > 0) {
+ pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString()));
+ string.setLength(0);
+ }
+ return lex();
+ }
+ case 205:
+ break;
+ case 43: {
+ yybegin(YYINITIAL);
+ return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_INSTRATTRVALVAR_BEGIN, yytext());
+ }
+ case 206:
+ break;
+ case 44: {
+ string.append(yytext());
+ yyline++;
+ }
+ case 207:
+ break;
+ case 45: {
+ yybegin(YYINITIAL);
+ pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_VAR_BEGIN, yytext()));
+ if (string.length() > 0) {
+ pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString()));
+ string.setLength(0);
+ }
+ return lex();
+ }
+ case 208:
+ break;
+ case 46: {
+ yybegin(YYINITIAL);
+ // length also includes the trailing quote
+ return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.IDENTIFIER, string.toString());
+ }
+ case 209:
+ break;
+ case 47: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_DIVIDE, yytext());
+ }
+ case 210:
+ break;
+ case 48: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MULTIPLY, yytext());
+ }
+ case 211:
+ break;
+ case 49: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DESCENDANTS, yytext());
+ }
+ case 212:
+ break;
+ case 50: {
+ return new ParsedSymbol(SymbolGroup.TYPENAME, SymbolType.TYPENAME, yytext());
+ }
+ case 213:
+ break;
+ case 51: {
+ return new ParsedSymbol(SymbolGroup.DOUBLE, SymbolType.DOUBLE, Double.parseDouble((yytext())));
+ }
+ case 214:
+ break;
+ case 52: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.FILTER, yytext());
+ }
+ case 215:
+ break;
+ case 53: {
+ yybegin(XMLOPENTAG);
+ string.setLength(0);
+ return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_STARTTAG_BEGIN, yytext());
+ }
+ case 216:
+ break;
+ case 54: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SHIFT_LEFT, yytext());
+ }
+ case 217:
+ break;
+ case 55: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.LOWER_EQUAL, yytext());
+ }
+ case 218:
+ break;
+ case 56: {
+ return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_STARTVARTAG_BEGIN, yytext());
+ }
+ case 219:
+ break;
+ case 57: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NOT_EQUAL, yytext());
+ }
+ case 220:
+ break;
+ case 58: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DECREMENT, yytext());
+ }
+ case 221:
+ break;
+ case 59: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MINUS, yytext());
+ }
+ case 222:
+ break;
+ case 60: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SHIFT_RIGHT, yytext());
+ }
+ case 223:
+ break;
+ case 61: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.GREATER_EQUAL, yytext());
+ }
+ case 224:
+ break;
+ case 62: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NAMESPACE_OP, yytext());
+ }
+ case 225:
+ break;
+ case 63: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.EQUALS, yytext());
+ }
+ case 226:
+ break;
+ case 64: {
+ return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, Long.parseLong(yytext(), 8));
+ }
+ case 227:
+ break;
+ case 65: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_PLUS, yytext());
+ }
+ case 228:
+ break;
+ case 66: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.INCREMENT, yytext());
+ }
+ case 229:
+ break;
+ case 67: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.AS, yytext());
+ }
+ case 230:
+ break;
+ case 68: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IF, yytext());
+ }
+ case 231:
+ break;
+ case 69: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.IS, yytext());
+ }
+ case 232:
+ break;
+ case 70: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IN, yytext());
+ }
+ case 233:
+ break;
+ case 71: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.DO, yytext());
+ }
+ case 234:
+ break;
+ case 72: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_BITAND, yytext());
+ }
+ case 235:
+ break;
+ case 73: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.AND, yytext());
+ }
+ case 236:
+ break;
+ case 74: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_BITOR, yytext());
+ }
+ case 237:
+ break;
+ case 75: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.OR, yytext());
+ }
+ case 238:
+ break;
+ case 76: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_XOR, yytext());
+ }
+ case 239:
+ break;
+ case 77: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MODULO, yytext());
+ }
+ case 240:
+ break;
+ case 78: { /* ignore illegal character escape */
+
+ }
+ case 241:
+ break;
+ case 79: {
+ string.append('\"');
+ }
+ case 242:
+ break;
+ case 80: {
+ string.append('\'');
+ }
+ case 243:
+ break;
+ case 81: {
+ string.append('\f');
+ }
+ case 244:
+ break;
+ case 82: {
+ string.append('\\');
+ }
+ case 245:
+ break;
+ case 83: {
+ string.append('\b');
+ }
+ case 246:
+ break;
+ case 84: {
+ string.append('\r');
+ }
+ case 247:
+ break;
+ case 85: {
+ string.append('\n');
+ }
+ case 248:
+ break;
+ case 86: {
+ string.append('\t');
+ }
+ case 249:
+ break;
+ case 87: {
+ yybegin(XML);
+ pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_STARTFINISHTAG_END, yytext()));
+ if (string.length() > 0) {
+ pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString()));
+ string.setLength(0);
+ }
+ return lex();
+ }
+ case 250:
+ break;
+ case 88: {
+ yybegin(XMLOPENTAGATTRIB);
+ pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_ATTRIBUTENAME, yytext()));
+ if (string.length() > 0) {
+ pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString()));
+ string.setLength(0);
+ }
+ return lex();
+ }
+ case 251:
+ break;
+ case 89: {
+ yybegin(XMLOPENTAG);
+ return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_ATTRIBUTEVALUE, yytext());
+ }
+ case 252:
+ break;
+ case 90: {
+ yybegin(XMLINSTRATTRIB);
+ pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_ATTRIBUTENAME, yytext()));
+ if (string.length() > 0) {
+ pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString()));
+ string.setLength(0);
+ }
+ return lex();
+ }
+ case 253:
+ break;
+ case 91: {
+ yybegin(XML);
+ pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_INSTR_END, yytext()));
+ if (string.length() > 0) {
+ pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString()));
+ string.setLength(0);
+ }
+ return lex();
+ }
+ case 254:
+ break;
+ case 92: {
+ yybegin(XMLINSTROPENTAG);
+ return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_ATTRIBUTEVALUE, yytext());
+ }
+ case 255:
+ break;
+ case 93: {
+ yybegin(XMLOPENTAG);
+ pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_STARTTAG_BEGIN, yytext()));
+ if (string.length() > 0) {
+ pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString()));
+ string.setLength(0);
+ }
+ return lex();
+ }
+ case 256:
+ break;
+ case 94: {
+ yybegin(YYINITIAL);
+ pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_STARTVARTAG_BEGIN, yytext()));
+ if (string.length() > 0) {
+ pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString()));
+ string.setLength(0);
+ }
+ return lex();
+ }
+ case 257:
+ break;
+ case 95: {
+ throw new AVM2ParseException("Illegal escape sequence \"" + yytext() + "\"", yyline + 1);
+ }
+ case 258:
+ break;
+ case 96: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.REST, yytext());
+ }
+ case 259:
+ break;
+ case 97: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_SHIFT_LEFT, yytext());
+ }
+ case 260:
+ break;
+ case 98: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.STRICT_NOT_EQUAL, yytext());
+ }
+ case 261:
+ break;
+ case 99: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.USHIFT_RIGHT, yytext());
+ }
+ case 262:
+ break;
+ case 100: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_SHIFT_RIGHT, yytext());
+ }
+ case 263:
+ break;
+ case 101: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.STRICT_EQUALS, yytext());
+ }
+ case 264:
+ break;
+ case 102: {
+ return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, Long.parseLong(yytext().substring(2), 16));
+ }
+ case 265:
+ break;
+ case 103: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FOR, yytext());
+ }
+ case 266:
+ break;
+ case 104: {
+ return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.SET, yytext());
+ }
+ case 267:
+ break;
+ case 105: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NEW, yytext());
+ }
+ case 268:
+ break;
+ case 106: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.TRY, yytext());
+ }
+ case 269:
+ break;
+ case 107: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.USE, yytext());
+ }
+ case 270:
+ break;
+ case 108: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.VAR, yytext());
+ }
+ case 271:
+ break;
+ case 109: {
+ return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.GET, yytext());
+ }
+ case 272:
+ break;
+ case 110: {
+ return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.NAN, yytext());
+ }
+ case 273:
+ break;
+ case 111: {
+ string.append(yytext());
+ yybegin(XML);
+ String ret = string.toString();
+ string.setLength(0);
+ return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_CDATA, ret);
+ }
+ case 274:
+ break;
+ case 112: {
+ string.append(yytext());
+ yybegin(XML);
+ String ret = string.toString();
+ string.setLength(0);
+ return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_COMMENT, ret);
+ }
+ case 275:
+ break;
+ case 113: {
+ yybegin(YYINITIAL);
+ pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_FINISHVARTAG_BEGIN, yytext()));
+ if (string.length() > 0) {
+ pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString()));
+ string.setLength(0);
+ }
+ return lex();
+ }
+ case 276:
+ break;
+ case 114: {
+ yybegin(XMLINSTROPENTAG);
+ pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_INSTR_BEGIN, yytext()));
+ if (string.length() > 0) {
+ pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString()));
+ string.setLength(0);
+ }
+ return lex();
+ }
+ case 277:
+ break;
+ case 115: {
+ yybegin(YYINITIAL);
+ pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_INSTRVARTAG_BEGIN, yytext()));
+ if (string.length() > 0) {
+ pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString()));
+ string.setLength(0);
+ }
+ return lex();
+ }
+ case 278:
+ break;
+ case 116: {
+ string.append('\u00A7');
+ }
+ case 279:
+ break;
+ case 117: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_USHIFT_RIGHT, yytext());
+ }
+ case 280:
+ break;
+ case 118: {
+ return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.EACH, yytext());
+ }
+ case 281:
+ break;
+ case 119: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.ELSE, yytext());
+ }
+ case 282:
+ break;
+ case 120: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CASE, yytext());
+ }
+ case 283:
+ break;
+ case 121: {
+ return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.NULL, yytext());
+ }
+ case 284:
+ break;
+ case 122: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.TRUE, yytext());
+ }
+ case 285:
+ break;
+ case 123: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.THIS, yytext());
+ }
+ case 286:
+ break;
+ case 124: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.WITH, yytext());
+ }
+ case 287:
+ break;
+ case 125: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.VOID, yytext());
+ }
+ case 288:
+ break;
+ case 126: {
+ char val = (char) Integer.parseInt(yytext().substring(2), 16);
+ string.append(val);
+ }
+ case 289:
+ break;
+ case 127: {
+ pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_FINISHTAG, yytext()));
+ if (string.length() > 0) {
+ pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString()));
+ string.setLength(0);
+ }
+ return lex();
+ }
+ case 290:
+ break;
+ case 128: {
+ String ret = string.toString();
+ string.setLength(0);
+ string.append(yytext());
+ yybegin(XMLCOMMENT);
+ if (!ret.isEmpty()) {
+ return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, ret);
+ }
+ }
+ case 291:
+ break;
+ case 129: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FALSE, yytext());
+ }
+ case 292:
+ break;
+ case 130: {
+ return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.FINAL, yytext());
+ }
+ case 293:
+ break;
+ case 131: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.BREAK, yytext());
+ }
+ case 294:
+ break;
+ case 132: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CATCH, yytext());
+ }
+ case 295:
+ break;
+ case 133: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CONST, yytext());
+ }
+ case 296:
+ break;
+ case 134: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CLASS, yytext());
+ }
+ case 297:
+ break;
+ case 135: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.SUPER, yytext());
+ }
+ case 298:
+ break;
+ case 136: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.THROW, yytext());
+ }
+ case 299:
+ break;
+ case 137: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.WHILE, yytext());
+ }
+ case 300:
+ break;
+ case 138: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.RETURN, yytext());
+ }
+ case 301:
+ break;
+ case 139: {
+ return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.STATIC, yytext());
+ }
+ case 302:
+ break;
+ case 140: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.SWITCH, yytext());
+ }
+ case 303:
+ break;
+ case 141: {
+ return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.NATIVE, yytext());
+ }
+ case 304:
+ break;
+ case 142: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.TYPEOF, yytext());
+ }
+ case 305:
+ break;
+ case 143: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IMPORT, yytext());
+ }
+ case 306:
+ break;
+ case 144: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DELETE, yytext());
+ }
+ case 307:
+ break;
+ case 145: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PUBLIC, yytext());
+ }
+ case 308:
+ break;
+ case 146: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FINALLY, yytext());
+ }
+ case 309:
+ break;
+ case 147: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.EXTENDS, yytext());
+ }
+ case 310:
+ break;
+ case 148: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.DEFAULT, yytext());
+ }
+ case 311:
+ break;
+ case 149: {
+ return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.DYNAMIC, yytext());
+ }
+ case 312:
+ break;
+ case 150: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PRIVATE, yytext());
+ }
+ case 313:
+ break;
+ case 151: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PACKAGE, yytext());
+ }
+ case 314:
+ break;
+ case 152: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FUNCTION, yytext());
+ }
+ case 315:
+ break;
+ case 153: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CONTINUE, yytext());
+ }
+ case 316:
+ break;
+ case 154: {
+ return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.OVERRIDE, yytext());
+ }
+ case 317:
+ break;
+ case 155: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.INTERNAL, yytext());
+ }
+ case 318:
+ break;
+ case 156: {
+ return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.INFINITY, yytext());
+ }
+ case 319:
+ break;
+ case 157: {
+ return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.NAMESPACE, yytext());
+ }
+ case 320:
+ break;
+ case 158: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.INTERFACE, yytext());
+ }
+ case 321:
+ break;
+ case 159: {
+ return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.UNDEFINED, yytext());
+ }
+ case 322:
+ break;
+ case 160: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PROTECTED, yytext());
+ }
+ case 323:
+ break;
+ case 161: {
+ String ret = string.toString();
+ string.setLength(0);
+ string.append(yytext());
+ yybegin(XMLCDATA);
+ if (!ret.isEmpty()) {
+ return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, ret);
+ }
+ }
+ case 324:
+ break;
+ case 162: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.INSTANCEOF, yytext());
+ }
+ case 325:
+ break;
+ case 163: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IMPLEMENTS, yytext());
+ }
+ case 326:
+ break;
+ default:
+ if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
+ zzAtEOF = true;
+ {
+ return new ParsedSymbol(SymbolGroup.EOF, SymbolType.EOF, null);
+ }
+ } else {
+ zzScanError(ZZ_NO_MATCH);
+ }
+ }
}
- }
-
- // store back cached position
- zzMarkedPos = zzMarkedPosL;
-
- switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
- case 1:
- {
- }
- case 164: break;
- case 2:
- { yyline++;
- }
- case 165: break;
- case 3:
- { /*ignore*/
- }
- case 166: break;
- case 4:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DIVIDE, yytext());
- }
- case 167: break;
- case 5:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MULTIPLY, yytext());
- }
- case 168: break;
- case 6:
- { return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.IDENTIFIER, yytext());
- }
- case 169: break;
- case 7:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DOT, yytext());
- }
- case 170: break;
- case 8:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.LOWER_THAN, yytext());
- }
- case 171: break;
- case 9:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NOT, yytext());
- }
- case 172: break;
- case 10:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MINUS, yytext());
- }
- case 173: break;
- case 11:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.GREATER_THAN, yytext());
- }
- case 174: break;
- case 12:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.COLON, yytext());
- }
- case 175: break;
- case 13:
- { return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, Long.parseLong((yytext())));
- }
- case 176: break;
- case 14:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.TERNAR, yytext());
- }
- case 177: break;
- case 15:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BRACKET_OPEN, yytext());
- }
- case 178: break;
- case 16:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BRACKET_CLOSE, yytext());
- }
- case 179: break;
- case 17:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN, yytext());
- }
- case 180: break;
- case 18:
- { string.setLength(0);
- yybegin(STRING);
- }
- case 181: break;
- case 19:
- { string.setLength(0);
- yybegin(CHARLITERAL);
- }
- case 182: break;
- case 20:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PLUS, yytext());
- }
- case 183: break;
- case 21:
- { string.setLength(0);
- yybegin(OIDENTIFIER);
- }
- case 184: break;
- case 22:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PARENT_OPEN, yytext());
- }
- case 185: break;
- case 23:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PARENT_CLOSE, yytext());
- }
- case 186: break;
- case 24:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.CURLY_OPEN, yytext());
- }
- case 187: break;
- case 25:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.CURLY_CLOSE, yytext());
- }
- case 188: break;
- case 26:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SEMICOLON, yytext());
- }
- case 189: break;
- case 27:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.COMMA, yytext());
- }
- case 190: break;
- case 28:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NEGATE, yytext());
- }
- case 191: break;
- case 29:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BITAND, yytext());
- }
- case 192: break;
- case 30:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BITOR, yytext());
- }
- case 193: break;
- case 31:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.XOR, yytext());
- }
- case 194: break;
- case 32:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MODULO, yytext());
- }
- case 195: break;
- case 33:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ATTRIBUTE, yytext());
- }
- case 196: break;
- case 34:
- { string.append(yytext());
- }
- case 197: break;
- case 35:
- { yybegin(YYINITIAL); yyline++;
- }
- case 198: break;
- case 36:
- { yybegin(YYINITIAL);
- // length also includes the trailing quote
- return new ParsedSymbol(SymbolGroup.STRING, SymbolType.STRING, string.toString());
- }
- case 199: break;
- case 37:
- { yybegin(YYINITIAL); yyline++;
- }
- case 200: break;
- case 38:
- { string.append(yytext()); yyline++;
- }
- case 201: break;
- case 39:
- { yybegin(XML);
- pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_STARTTAG_END, yytext()));
- if (string.length() > 0){
- pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString()));
- string.setLength(0);
- }
- return lex();
- }
- case 202: break;
- case 40:
- { yybegin(YYINITIAL);
- pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_ATTRNAMEVAR_BEGIN, yytext()));
- if (string.length() > 0){
- pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString()));
- string.setLength(0);
- }
- return lex();
- }
- case 203: break;
- case 41:
- { yybegin(YYINITIAL);
- return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_ATTRVALVAR_BEGIN, yytext());
- }
- case 204: break;
- case 42:
- { yybegin(YYINITIAL);
- pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_INSTRATTRNAMEVAR_BEGIN, yytext()));
- if (string.length() > 0){
- pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString()));
- string.setLength(0);
- }
- return lex();
- }
- case 205: break;
- case 43:
- { yybegin(YYINITIAL);
- return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_INSTRATTRVALVAR_BEGIN, yytext());
- }
- case 206: break;
- case 44:
- { string.append(yytext()); yyline++;
- }
- case 207: break;
- case 45:
- { yybegin(YYINITIAL);
- pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_VAR_BEGIN, yytext()));
- if (string.length() > 0){
- pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString()));
- string.setLength(0);
- }
- return lex();
- }
- case 208: break;
- case 46:
- { yybegin(YYINITIAL);
- // length also includes the trailing quote
- return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.IDENTIFIER, string.toString());
- }
- case 209: break;
- case 47:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_DIVIDE, yytext());
- }
- case 210: break;
- case 48:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MULTIPLY, yytext());
- }
- case 211: break;
- case 49:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DESCENDANTS, yytext());
- }
- case 212: break;
- case 50:
- { return new ParsedSymbol(SymbolGroup.TYPENAME, SymbolType.TYPENAME, yytext());
- }
- case 213: break;
- case 51:
- { return new ParsedSymbol(SymbolGroup.DOUBLE, SymbolType.DOUBLE, Double.parseDouble((yytext())));
- }
- case 214: break;
- case 52:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.FILTER, yytext());
- }
- case 215: break;
- case 53:
- { yybegin(XMLOPENTAG);
- string.setLength(0);
- return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_STARTTAG_BEGIN, yytext());
- }
- case 216: break;
- case 54:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SHIFT_LEFT, yytext());
- }
- case 217: break;
- case 55:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.LOWER_EQUAL, yytext());
- }
- case 218: break;
- case 56:
- { return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_STARTVARTAG_BEGIN, yytext());
- }
- case 219: break;
- case 57:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NOT_EQUAL, yytext());
- }
- case 220: break;
- case 58:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DECREMENT, yytext());
- }
- case 221: break;
- case 59:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MINUS, yytext());
- }
- case 222: break;
- case 60:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SHIFT_RIGHT, yytext());
- }
- case 223: break;
- case 61:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.GREATER_EQUAL, yytext());
- }
- case 224: break;
- case 62:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NAMESPACE_OP, yytext());
- }
- case 225: break;
- case 63:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.EQUALS, yytext());
- }
- case 226: break;
- case 64:
- { return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, Long.parseLong(yytext(), 8));
- }
- case 227: break;
- case 65:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_PLUS, yytext());
- }
- case 228: break;
- case 66:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.INCREMENT, yytext());
- }
- case 229: break;
- case 67:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.AS, yytext());
- }
- case 230: break;
- case 68:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IF, yytext());
- }
- case 231: break;
- case 69:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.IS, yytext());
- }
- case 232: break;
- case 70:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IN, yytext());
- }
- case 233: break;
- case 71:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.DO, yytext());
- }
- case 234: break;
- case 72:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_BITAND, yytext());
- }
- case 235: break;
- case 73:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.AND, yytext());
- }
- case 236: break;
- case 74:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_BITOR, yytext());
- }
- case 237: break;
- case 75:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.OR, yytext());
- }
- case 238: break;
- case 76:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_XOR, yytext());
- }
- case 239: break;
- case 77:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MODULO, yytext());
- }
- case 240: break;
- case 78:
- { /* ignore illegal character escape */
- }
- case 241: break;
- case 79:
- { string.append('\"');
- }
- case 242: break;
- case 80:
- { string.append('\'');
- }
- case 243: break;
- case 81:
- { string.append('\f');
- }
- case 244: break;
- case 82:
- { string.append('\\');
- }
- case 245: break;
- case 83:
- { string.append('\b');
- }
- case 246: break;
- case 84:
- { string.append('\r');
- }
- case 247: break;
- case 85:
- { string.append('\n');
- }
- case 248: break;
- case 86:
- { string.append('\t');
- }
- case 249: break;
- case 87:
- { yybegin(XML);
- pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_STARTFINISHTAG_END, yytext()));
- if (string.length() > 0){
- pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString()));
- string.setLength(0);
- }
- return lex();
- }
- case 250: break;
- case 88:
- { yybegin(XMLOPENTAGATTRIB);
- pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_ATTRIBUTENAME, yytext()));
- if (string.length() > 0){
- pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString()));
- string.setLength(0);
- }
- return lex();
- }
- case 251: break;
- case 89:
- { yybegin(XMLOPENTAG);
- return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_ATTRIBUTEVALUE, yytext());
- }
- case 252: break;
- case 90:
- { yybegin(XMLINSTRATTRIB);
- pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_ATTRIBUTENAME, yytext()));
- if (string.length() > 0){
- pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString()));
- string.setLength(0);
- }
- return lex();
- }
- case 253: break;
- case 91:
- { yybegin(XML);
- pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_INSTR_END, yytext()));
- if (string.length() > 0){
- pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString()));
- string.setLength(0);
- }
- return lex();
- }
- case 254: break;
- case 92:
- { yybegin(XMLINSTROPENTAG);
- return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_ATTRIBUTEVALUE, yytext());
- }
- case 255: break;
- case 93:
- { yybegin(XMLOPENTAG);
- pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_STARTTAG_BEGIN, yytext()));
- if (string.length() > 0){
- pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString()));
- string.setLength(0);
- }
- return lex();
- }
- case 256: break;
- case 94:
- { yybegin(YYINITIAL);
- pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_STARTVARTAG_BEGIN, yytext()));
- if (string.length() > 0){
- pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString()));
- string.setLength(0);
- }
- return lex();
- }
- case 257: break;
- case 95:
- { throw new AVM2ParseException("Illegal escape sequence \"" + yytext() + "\"", yyline + 1);
- }
- case 258: break;
- case 96:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.REST, yytext());
- }
- case 259: break;
- case 97:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_SHIFT_LEFT, yytext());
- }
- case 260: break;
- case 98:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.STRICT_NOT_EQUAL, yytext());
- }
- case 261: break;
- case 99:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.USHIFT_RIGHT, yytext());
- }
- case 262: break;
- case 100:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_SHIFT_RIGHT, yytext());
- }
- case 263: break;
- case 101:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.STRICT_EQUALS, yytext());
- }
- case 264: break;
- case 102:
- { return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, Long.parseLong(yytext().substring(2), 16));
- }
- case 265: break;
- case 103:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FOR, yytext());
- }
- case 266: break;
- case 104:
- { return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.SET, yytext());
- }
- case 267: break;
- case 105:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NEW, yytext());
- }
- case 268: break;
- case 106:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.TRY, yytext());
- }
- case 269: break;
- case 107:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.USE, yytext());
- }
- case 270: break;
- case 108:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.VAR, yytext());
- }
- case 271: break;
- case 109:
- { return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.GET, yytext());
- }
- case 272: break;
- case 110:
- { return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.NAN, yytext());
- }
- case 273: break;
- case 111:
- { string.append(yytext());
- yybegin(XML);
- String ret = string.toString();
- string.setLength(0);
- return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_CDATA, ret);
- }
- case 274: break;
- case 112:
- { string.append(yytext());
- yybegin(XML);
- String ret = string.toString();
- string.setLength(0);
- return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_COMMENT, ret);
- }
- case 275: break;
- case 113:
- { yybegin(YYINITIAL);
- pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_FINISHVARTAG_BEGIN, yytext()));
- if (string.length() > 0){
- pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString()));
- string.setLength(0);
- }
- return lex();
- }
- case 276: break;
- case 114:
- { yybegin(XMLINSTROPENTAG);
- pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_INSTR_BEGIN, yytext()));
- if (string.length() > 0){
- pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString()));
- string.setLength(0);
- }
- return lex();
- }
- case 277: break;
- case 115:
- { yybegin(YYINITIAL);
- pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_INSTRVARTAG_BEGIN, yytext()));
- if (string.length() > 0){
- pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString()));
- string.setLength(0);
- }
- return lex();
- }
- case 278: break;
- case 116:
- { string.append('\u00A7');
- }
- case 279: break;
- case 117:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_USHIFT_RIGHT, yytext());
- }
- case 280: break;
- case 118:
- { return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.EACH, yytext());
- }
- case 281: break;
- case 119:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.ELSE, yytext());
- }
- case 282: break;
- case 120:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CASE, yytext());
- }
- case 283: break;
- case 121:
- { return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.NULL, yytext());
- }
- case 284: break;
- case 122:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.TRUE, yytext());
- }
- case 285: break;
- case 123:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.THIS, yytext());
- }
- case 286: break;
- case 124:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.WITH, yytext());
- }
- case 287: break;
- case 125:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.VOID, yytext());
- }
- case 288: break;
- case 126:
- { char val = (char) Integer.parseInt(yytext().substring(2), 16);
- string.append(val);
- }
- case 289: break;
- case 127:
- { pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_FINISHTAG, yytext()));
- if (string.length() > 0){
- pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString()));
- string.setLength(0);
- }
- return lex();
- }
- case 290: break;
- case 128:
- { String ret = string.toString(); string.setLength(0); string.append(yytext()); yybegin(XMLCOMMENT);
- if (!ret.isEmpty()) return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, ret);
- }
- case 291: break;
- case 129:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FALSE, yytext());
- }
- case 292: break;
- case 130:
- { return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.FINAL, yytext());
- }
- case 293: break;
- case 131:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.BREAK, yytext());
- }
- case 294: break;
- case 132:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CATCH, yytext());
- }
- case 295: break;
- case 133:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CONST, yytext());
- }
- case 296: break;
- case 134:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CLASS, yytext());
- }
- case 297: break;
- case 135:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.SUPER, yytext());
- }
- case 298: break;
- case 136:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.THROW, yytext());
- }
- case 299: break;
- case 137:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.WHILE, yytext());
- }
- case 300: break;
- case 138:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.RETURN, yytext());
- }
- case 301: break;
- case 139:
- { return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.STATIC, yytext());
- }
- case 302: break;
- case 140:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.SWITCH, yytext());
- }
- case 303: break;
- case 141:
- { return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.NATIVE, yytext());
- }
- case 304: break;
- case 142:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.TYPEOF, yytext());
- }
- case 305: break;
- case 143:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IMPORT, yytext());
- }
- case 306: break;
- case 144:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DELETE, yytext());
- }
- case 307: break;
- case 145:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PUBLIC, yytext());
- }
- case 308: break;
- case 146:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FINALLY, yytext());
- }
- case 309: break;
- case 147:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.EXTENDS, yytext());
- }
- case 310: break;
- case 148:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.DEFAULT, yytext());
- }
- case 311: break;
- case 149:
- { return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.DYNAMIC, yytext());
- }
- case 312: break;
- case 150:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PRIVATE, yytext());
- }
- case 313: break;
- case 151:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PACKAGE, yytext());
- }
- case 314: break;
- case 152:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FUNCTION, yytext());
- }
- case 315: break;
- case 153:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CONTINUE, yytext());
- }
- case 316: break;
- case 154:
- { return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.OVERRIDE, yytext());
- }
- case 317: break;
- case 155:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.INTERNAL, yytext());
- }
- case 318: break;
- case 156:
- { return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.INFINITY, yytext());
- }
- case 319: break;
- case 157:
- { return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.NAMESPACE, yytext());
- }
- case 320: break;
- case 158:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.INTERFACE, yytext());
- }
- case 321: break;
- case 159:
- { return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.UNDEFINED, yytext());
- }
- case 322: break;
- case 160:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PROTECTED, yytext());
- }
- case 323: break;
- case 161:
- { String ret = string.toString(); string.setLength(0); string.append(yytext() ); yybegin(XMLCDATA);
- if (!ret.isEmpty()) return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, ret);
- }
- case 324: break;
- case 162:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.INSTANCEOF, yytext());
- }
- case 325: break;
- case 163:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IMPLEMENTS, yytext());
- }
- case 326: break;
- default:
- if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
- zzAtEOF = true;
- {
- return new ParsedSymbol(SymbolGroup.EOF, SymbolType.EOF, null);
- }
- }
- else {
- zzScanError(ZZ_NO_MATCH);
- }
- }
}
- }
-
}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/methodinfo_parser/MethodInfoLexer.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/methodinfo_parser/MethodInfoLexer.java
index 2580a517e..6737de90b 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/methodinfo_parser/MethodInfoLexer.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/methodinfo_parser/MethodInfoLexer.java
@@ -19,557 +19,597 @@
/* Method info lexer specification */
package com.jpexs.decompiler.flash.abc.methodinfo_parser;
-
/**
- * This class is a scanner generated by
- * JFlex 1.6.0
- * from the specification file D:/Dropbox/Programovani/JavaSE/FFDec/libsrc/ffdec_lib/lexers/actionscript3_methodinfo.flex
+ * This class is a scanner generated by
+ * JFlex 1.6.0 from the specification file
+ * D:/Dropbox/Programovani/JavaSE/FFDec/libsrc/ffdec_lib/lexers/actionscript3_methodinfo.flex
*/
public final class MethodInfoLexer {
- /** This character denotes the end of file */
- public static final int YYEOF = -1;
+ /**
+ * 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;
+ /**
+ * initial size of the lookahead buffer
+ */
+ private static final int ZZ_BUFFERSIZE = 16384;
- /** lexical states */
- public static final int YYINITIAL = 0;
- public static final int STRING = 2;
+ /**
+ * lexical states
+ */
+ public static final int YYINITIAL = 0;
+ public static final int STRING = 2;
- /**
- * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
- * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l
- * at the beginning of a line
- * l is of the form l = 2*k, k a non negative integer
- */
- private static final int ZZ_LEXSTATE[] = {
- 0, 0, 1, 1
- };
+ /**
+ * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
+ * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l at the
+ * beginning of a line l is of the form l = 2*k, k a non negative integer
+ */
+ private static final int ZZ_LEXSTATE[] = {
+ 0, 0, 1, 1
+ };
- /**
- * Translates characters to character classes
- */
- private static final String ZZ_CMAP_PACKED =
- "\11\5\1\3\1\2\1\57\1\60\1\1\16\5\4\0\1\3\1\0"+
- "\1\42\1\0\1\4\2\0\1\56\2\0\1\45\1\37\1\44\1\7"+
- "\1\35\1\0\1\6\11\10\1\43\2\0\1\46\3\0\4\40\1\36"+
- "\1\40\5\4\1\31\1\4\1\25\1\4\1\17\12\4\1\12\1\41"+
- "\1\13\1\0\1\4\1\0\1\32\1\27\1\50\1\51\1\24\1\55"+
- "\1\53\1\4\1\21\1\4\1\52\1\33\1\11\1\14\1\20\1\47"+
- "\1\4\1\30\1\15\1\22\1\26\1\23\1\4\1\54\2\4\1\16"+
- "\1\0\1\34\1\0\6\5\1\61\32\5\2\0\4\4\4\0\1\4"+
- "\2\0\1\5\7\0\1\4\4\0\1\4\5\0\27\4\1\0\37\4"+
- "\1\0\u01ca\4\4\0\14\4\16\0\5\4\7\0\1\4\1\0\1\4"+
- "\21\0\160\5\5\4\1\0\2\4\2\0\4\4\10\0\1\4\1\0"+
- "\3\4\1\0\1\4\1\0\24\4\1\0\123\4\1\0\213\4\1\0"+
- "\5\5\2\0\236\4\11\0\46\4\2\0\1\4\7\0\47\4\7\0"+
- "\1\4\1\0\55\5\1\0\1\5\1\0\2\5\1\0\2\5\1\0"+
- "\1\5\10\0\33\4\5\0\3\4\15\0\5\5\6\0\1\4\4\0"+
- "\13\5\5\0\53\4\37\5\4\0\2\4\1\5\143\4\1\0\1\4"+
- "\10\5\1\0\6\5\2\4\2\5\1\0\4\5\2\4\12\5\3\4"+
- "\2\0\1\4\17\0\1\5\1\4\1\5\36\4\33\5\2\0\131\4"+
- "\13\5\1\4\16\0\12\5\41\4\11\5\2\4\4\0\1\4\5\0"+
- "\26\4\4\5\1\4\11\5\1\4\3\5\1\4\5\5\22\0\31\4"+
- "\3\5\104\0\1\4\1\0\13\4\67\0\33\5\1\0\4\5\66\4"+
- "\3\5\1\4\22\5\1\4\7\5\12\4\2\5\2\0\12\5\1\0"+
- "\7\4\1\0\7\4\1\0\3\5\1\0\10\4\2\0\2\4\2\0"+
- "\26\4\1\0\7\4\1\0\1\4\3\0\4\4\2\0\1\5\1\4"+
- "\7\5\2\0\2\5\2\0\3\5\1\4\10\0\1\5\4\0\2\4"+
- "\1\0\3\4\2\5\2\0\12\5\4\4\7\0\1\4\5\0\3\5"+
- "\1\0\6\4\4\0\2\4\2\0\26\4\1\0\7\4\1\0\2\4"+
- "\1\0\2\4\1\0\2\4\2\0\1\5\1\0\5\5\4\0\2\5"+
- "\2\0\3\5\3\0\1\5\7\0\4\4\1\0\1\4\7\0\14\5"+
- "\3\4\1\5\13\0\3\5\1\0\11\4\1\0\3\4\1\0\26\4"+
- "\1\0\7\4\1\0\2\4\1\0\5\4\2\0\1\5\1\4\10\5"+
- "\1\0\3\5\1\0\3\5\2\0\1\4\17\0\2\4\2\5\2\0"+
- "\12\5\1\0\1\4\17\0\3\5\1\0\10\4\2\0\2\4\2\0"+
- "\26\4\1\0\7\4\1\0\2\4\1\0\5\4\2\0\1\5\1\4"+
- "\7\5\2\0\2\5\2\0\3\5\10\0\2\5\4\0\2\4\1\0"+
- "\3\4\2\5\2\0\12\5\1\0\1\4\20\0\1\5\1\4\1\0"+
- "\6\4\3\0\3\4\1\0\4\4\3\0\2\4\1\0\1\4\1\0"+
- "\2\4\3\0\2\4\3\0\3\4\3\0\14\4\4\0\5\5\3\0"+
- "\3\5\1\0\4\5\2\0\1\4\6\0\1\5\16\0\12\5\11\0"+
- "\1\4\7\0\3\5\1\0\10\4\1\0\3\4\1\0\27\4\1\0"+
- "\12\4\1\0\5\4\3\0\1\4\7\5\1\0\3\5\1\0\4\5"+
- "\7\0\2\5\1\0\2\4\6\0\2\4\2\5\2\0\12\5\22\0"+
- "\2\5\1\0\10\4\1\0\3\4\1\0\27\4\1\0\12\4\1\0"+
- "\5\4\2\0\1\5\1\4\7\5\1\0\3\5\1\0\4\5\7\0"+
- "\2\5\7\0\1\4\1\0\2\4\2\5\2\0\12\5\1\0\2\4"+
- "\17\0\2\5\1\0\10\4\1\0\3\4\1\0\51\4\2\0\1\4"+
- "\7\5\1\0\3\5\1\0\4\5\1\4\10\0\1\5\10\0\2\4"+
- "\2\5\2\0\12\5\12\0\6\4\2\0\2\5\1\0\22\4\3\0"+
- "\30\4\1\0\11\4\1\0\1\4\2\0\7\4\3\0\1\5\4\0"+
- "\6\5\1\0\1\5\1\0\10\5\22\0\2\5\15\0\60\4\1\5"+
- "\2\4\7\5\4\0\10\4\10\5\1\0\12\5\47\0\2\4\1\0"+
- "\1\4\2\0\2\4\1\0\1\4\2\0\1\4\6\0\4\4\1\0"+
- "\7\4\1\0\3\4\1\0\1\4\1\0\1\4\2\0\2\4\1\0"+
- "\4\4\1\5\2\4\6\5\1\0\2\5\1\4\2\0\5\4\1\0"+
- "\1\4\1\0\6\5\2\0\12\5\2\0\4\4\40\0\1\4\27\0"+
- "\2\5\6\0\12\5\13\0\1\5\1\0\1\5\1\0\1\5\4\0"+
- "\2\5\10\4\1\0\44\4\4\0\24\5\1\0\2\5\5\4\13\5"+
- "\1\0\44\5\11\0\1\5\71\0\53\4\24\5\1\4\12\5\6\0"+
- "\6\4\4\5\4\4\3\5\1\4\3\5\2\4\7\5\3\4\4\5"+
- "\15\4\14\5\1\4\17\5\2\0\46\4\1\0\1\4\5\0\1\4"+
- "\2\0\53\4\1\0\u014d\4\1\0\4\4\2\0\7\4\1\0\1\4"+
- "\1\0\4\4\2\0\51\4\1\0\4\4\2\0\41\4\1\0\4\4"+
- "\2\0\7\4\1\0\1\4\1\0\4\4\2\0\17\4\1\0\71\4"+
- "\1\0\4\4\2\0\103\4\2\0\3\5\40\0\20\4\20\0\125\4"+
- "\14\0\u026c\4\2\0\21\4\1\0\32\4\5\0\113\4\3\0\3\4"+
- "\17\0\15\4\1\0\4\4\3\5\13\0\22\4\3\5\13\0\22\4"+
- "\2\5\14\0\15\4\1\0\3\4\1\0\2\5\14\0\64\4\40\5"+
- "\3\0\1\4\3\0\2\4\1\5\2\0\12\5\41\0\3\5\2\0"+
- "\12\5\6\0\130\4\10\0\51\4\1\5\1\4\5\0\106\4\12\0"+
- "\35\4\3\0\14\5\4\0\14\5\12\0\12\5\36\4\2\0\5\4"+
- "\13\0\54\4\4\0\21\5\7\4\2\5\6\0\12\5\46\0\27\4"+
- "\5\5\4\0\65\4\12\5\1\0\35\5\2\0\13\5\6\0\12\5"+
- "\15\0\1\4\130\0\5\5\57\4\21\5\7\4\4\0\12\5\21\0"+
- "\11\5\14\0\3\5\36\4\15\5\2\4\12\5\54\4\16\5\14\0"+
- "\44\4\24\5\10\0\12\5\3\0\3\4\12\5\44\4\122\0\3\5"+
- "\1\0\25\5\4\4\1\5\4\4\3\5\2\4\11\0\300\4\47\5"+
- "\25\0\4\5\u0116\4\2\0\6\4\2\0\46\4\2\0\6\4\2\0"+
- "\10\4\1\0\1\4\1\0\1\4\1\0\1\4\1\0\37\4\2\0"+
- "\65\4\1\0\7\4\1\0\1\4\3\0\3\4\1\0\7\4\3\0"+
- "\4\4\2\0\6\4\4\0\15\4\5\0\3\4\1\0\7\4\16\0"+
- "\5\5\30\0\1\57\1\57\5\5\20\0\2\4\23\0\1\4\13\0"+
- "\5\5\5\0\6\5\1\0\1\4\15\0\1\4\20\0\15\4\3\0"+
- "\33\4\25\0\15\5\4\0\1\5\3\0\14\5\21\0\1\4\4\0"+
- "\1\4\2\0\12\4\1\0\1\4\3\0\5\4\6\0\1\4\1\0"+
- "\1\4\1\0\1\4\1\0\4\4\1\0\13\4\2\0\4\4\5\0"+
- "\5\4\4\0\1\4\21\0\51\4\u0a77\0\57\4\1\0\57\4\1\0"+
- "\205\4\6\0\4\4\3\5\2\4\14\0\46\4\1\0\1\4\5\0"+
- "\1\4\2\0\70\4\7\0\1\4\17\0\1\5\27\4\11\0\7\4"+
- "\1\0\7\4\1\0\7\4\1\0\7\4\1\0\7\4\1\0\7\4"+
- "\1\0\7\4\1\0\7\4\1\0\40\5\57\0\1\4\u01d5\0\3\4"+
- "\31\0\11\4\6\5\1\0\5\4\2\0\5\4\4\0\126\4\2\0"+
- "\2\5\2\0\3\4\1\0\132\4\1\0\4\4\5\0\51\4\3\0"+
- "\136\4\21\0\33\4\65\0\20\4\u0200\0\u19b6\4\112\0\u51cd\4\63\0"+
- "\u048d\4\103\0\56\4\2\0\u010d\4\3\0\20\4\12\5\2\4\24\0"+
- "\57\4\1\5\4\0\12\5\1\0\31\4\7\0\1\5\120\4\2\5"+
- "\45\0\11\4\2\0\147\4\2\0\4\4\1\0\4\4\14\0\13\4"+
- "\115\0\12\4\1\5\3\4\1\5\4\4\1\5\27\4\5\5\20\0"+
- "\1\4\7\0\64\4\14\0\2\5\62\4\21\5\13\0\12\5\6\0"+
- "\22\5\6\4\3\0\1\4\4\0\12\5\34\4\10\5\2\0\27\4"+
- "\15\5\14\0\35\4\3\0\4\5\57\4\16\5\16\0\1\4\12\5"+
- "\46\0\51\4\16\5\11\0\3\4\1\5\10\4\2\5\2\0\12\5"+
- "\6\0\27\4\3\0\1\4\1\5\4\0\60\4\1\5\1\4\3\5"+
- "\2\4\2\5\5\4\2\5\1\4\1\5\1\4\30\0\3\4\2\0"+
- "\13\4\5\5\2\0\3\4\2\5\12\0\6\4\2\0\6\4\2\0"+
- "\6\4\11\0\7\4\1\0\7\4\221\0\43\4\10\5\1\0\2\5"+
- "\2\0\12\5\6\0\u2ba4\4\14\0\27\4\4\0\61\4\u2104\0\u016e\4"+
- "\2\0\152\4\46\0\7\4\14\0\5\4\5\0\1\4\1\5\12\4"+
- "\1\0\15\4\1\0\5\4\1\0\1\4\1\0\2\4\1\0\2\4"+
- "\1\0\154\4\41\0\u016b\4\22\0\100\4\2\0\66\4\50\0\15\4"+
- "\3\0\20\5\20\0\7\5\14\0\2\4\30\0\3\4\31\0\1\4"+
- "\6\0\5\4\1\0\207\4\2\0\1\5\4\0\1\4\13\0\12\5"+
- "\7\0\32\4\4\0\1\4\1\0\32\4\13\0\131\4\3\0\6\4"+
- "\2\0\6\4\2\0\6\4\2\0\3\4\3\0\2\4\3\0\2\4"+
- "\22\0\3\5\4\0\14\4\1\0\32\4\1\0\23\4\1\0\2\4"+
- "\1\0\17\4\2\0\16\4\42\0\173\4\105\0\65\4\210\0\1\5"+
- "\202\0\35\4\3\0\61\4\57\0\37\4\21\0\33\4\65\0\36\4"+
- "\2\0\44\4\4\0\10\4\1\0\5\4\52\0\236\4\2\0\12\5"+
- "\u0356\0\6\4\2\0\1\4\1\0\54\4\1\0\2\4\3\0\1\4"+
- "\2\0\27\4\252\0\26\4\12\0\32\4\106\0\70\4\6\0\2\4"+
- "\100\0\1\4\3\5\1\0\2\5\5\0\4\5\4\4\1\0\3\4"+
- "\1\0\33\4\4\0\3\5\4\0\1\5\40\0\35\4\203\0\66\4"+
- "\12\0\26\4\12\0\23\4\215\0\111\4\u03b7\0\3\5\65\4\17\5"+
- "\37\0\12\5\20\0\3\5\55\4\13\5\2\0\1\5\22\0\31\4"+
- "\7\0\12\5\6\0\3\5\44\4\16\5\1\0\12\5\100\0\3\5"+
- "\60\4\16\5\4\4\13\0\12\5\u04a6\0\53\4\15\5\10\0\12\5"+
- "\u0936\0\u036f\4\221\0\143\4\u0b9d\0\u042f\4\u33d1\0\u0239\4\u04c7\0\105\4"+
- "\13\0\1\4\56\5\20\0\4\5\15\4\u4060\0\2\4\u2163\0\5\5"+
- "\3\0\26\5\2\0\7\5\36\0\4\5\224\0\3\5\u01bb\0\125\4"+
- "\1\0\107\4\1\0\2\4\2\0\1\4\2\0\2\4\2\0\4\4"+
- "\1\0\14\4\1\0\1\4\1\0\7\4\1\0\101\4\1\0\4\4"+
- "\2\0\10\4\1\0\7\4\1\0\34\4\1\0\4\4\1\0\5\4"+
- "\1\0\1\4\3\0\7\4\1\0\u0154\4\2\0\31\4\1\0\31\4"+
- "\1\0\37\4\1\0\31\4\1\0\37\4\1\0\31\4\1\0\37\4"+
- "\1\0\31\4\1\0\37\4\1\0\31\4\1\0\10\4\2\0\62\5"+
- "\u1600\0\4\4\1\0\33\4\1\0\2\4\1\0\1\4\2\0\1\4"+
- "\1\0\12\4\1\0\4\4\1\0\1\4\1\0\1\4\6\0\1\4"+
- "\4\0\1\4\1\0\1\4\1\0\1\4\1\0\3\4\1\0\2\4"+
- "\1\0\1\4\2\0\1\4\1\0\1\4\1\0\1\4\1\0\1\4"+
- "\1\0\1\4\1\0\2\4\1\0\1\4\2\0\4\4\1\0\7\4"+
- "\1\0\4\4\1\0\4\4\1\0\1\4\1\0\12\4\1\0\21\4"+
- "\5\0\3\4\1\0\5\4\1\0\21\4\u1144\0\ua6d7\4\51\0\u1035\4"+
- "\13\0\336\4\u3fe2\0\u021e\4\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\u05ee\0"+
- "\1\5\36\0\140\5\200\0\360\5\uffff\0\uffff\0\ufe12\0";
+ /**
+ * Translates characters to character classes
+ */
+ private static final String ZZ_CMAP_PACKED
+ = "\11\5\1\3\1\2\1\57\1\60\1\1\16\5\4\0\1\3\1\0"
+ + "\1\42\1\0\1\4\2\0\1\56\2\0\1\45\1\37\1\44\1\7"
+ + "\1\35\1\0\1\6\11\10\1\43\2\0\1\46\3\0\4\40\1\36"
+ + "\1\40\5\4\1\31\1\4\1\25\1\4\1\17\12\4\1\12\1\41"
+ + "\1\13\1\0\1\4\1\0\1\32\1\27\1\50\1\51\1\24\1\55"
+ + "\1\53\1\4\1\21\1\4\1\52\1\33\1\11\1\14\1\20\1\47"
+ + "\1\4\1\30\1\15\1\22\1\26\1\23\1\4\1\54\2\4\1\16"
+ + "\1\0\1\34\1\0\6\5\1\61\32\5\2\0\4\4\4\0\1\4"
+ + "\2\0\1\5\7\0\1\4\4\0\1\4\5\0\27\4\1\0\37\4"
+ + "\1\0\u01ca\4\4\0\14\4\16\0\5\4\7\0\1\4\1\0\1\4"
+ + "\21\0\160\5\5\4\1\0\2\4\2\0\4\4\10\0\1\4\1\0"
+ + "\3\4\1\0\1\4\1\0\24\4\1\0\123\4\1\0\213\4\1\0"
+ + "\5\5\2\0\236\4\11\0\46\4\2\0\1\4\7\0\47\4\7\0"
+ + "\1\4\1\0\55\5\1\0\1\5\1\0\2\5\1\0\2\5\1\0"
+ + "\1\5\10\0\33\4\5\0\3\4\15\0\5\5\6\0\1\4\4\0"
+ + "\13\5\5\0\53\4\37\5\4\0\2\4\1\5\143\4\1\0\1\4"
+ + "\10\5\1\0\6\5\2\4\2\5\1\0\4\5\2\4\12\5\3\4"
+ + "\2\0\1\4\17\0\1\5\1\4\1\5\36\4\33\5\2\0\131\4"
+ + "\13\5\1\4\16\0\12\5\41\4\11\5\2\4\4\0\1\4\5\0"
+ + "\26\4\4\5\1\4\11\5\1\4\3\5\1\4\5\5\22\0\31\4"
+ + "\3\5\104\0\1\4\1\0\13\4\67\0\33\5\1\0\4\5\66\4"
+ + "\3\5\1\4\22\5\1\4\7\5\12\4\2\5\2\0\12\5\1\0"
+ + "\7\4\1\0\7\4\1\0\3\5\1\0\10\4\2\0\2\4\2\0"
+ + "\26\4\1\0\7\4\1\0\1\4\3\0\4\4\2\0\1\5\1\4"
+ + "\7\5\2\0\2\5\2\0\3\5\1\4\10\0\1\5\4\0\2\4"
+ + "\1\0\3\4\2\5\2\0\12\5\4\4\7\0\1\4\5\0\3\5"
+ + "\1\0\6\4\4\0\2\4\2\0\26\4\1\0\7\4\1\0\2\4"
+ + "\1\0\2\4\1\0\2\4\2\0\1\5\1\0\5\5\4\0\2\5"
+ + "\2\0\3\5\3\0\1\5\7\0\4\4\1\0\1\4\7\0\14\5"
+ + "\3\4\1\5\13\0\3\5\1\0\11\4\1\0\3\4\1\0\26\4"
+ + "\1\0\7\4\1\0\2\4\1\0\5\4\2\0\1\5\1\4\10\5"
+ + "\1\0\3\5\1\0\3\5\2\0\1\4\17\0\2\4\2\5\2\0"
+ + "\12\5\1\0\1\4\17\0\3\5\1\0\10\4\2\0\2\4\2\0"
+ + "\26\4\1\0\7\4\1\0\2\4\1\0\5\4\2\0\1\5\1\4"
+ + "\7\5\2\0\2\5\2\0\3\5\10\0\2\5\4\0\2\4\1\0"
+ + "\3\4\2\5\2\0\12\5\1\0\1\4\20\0\1\5\1\4\1\0"
+ + "\6\4\3\0\3\4\1\0\4\4\3\0\2\4\1\0\1\4\1\0"
+ + "\2\4\3\0\2\4\3\0\3\4\3\0\14\4\4\0\5\5\3\0"
+ + "\3\5\1\0\4\5\2\0\1\4\6\0\1\5\16\0\12\5\11\0"
+ + "\1\4\7\0\3\5\1\0\10\4\1\0\3\4\1\0\27\4\1\0"
+ + "\12\4\1\0\5\4\3\0\1\4\7\5\1\0\3\5\1\0\4\5"
+ + "\7\0\2\5\1\0\2\4\6\0\2\4\2\5\2\0\12\5\22\0"
+ + "\2\5\1\0\10\4\1\0\3\4\1\0\27\4\1\0\12\4\1\0"
+ + "\5\4\2\0\1\5\1\4\7\5\1\0\3\5\1\0\4\5\7\0"
+ + "\2\5\7\0\1\4\1\0\2\4\2\5\2\0\12\5\1\0\2\4"
+ + "\17\0\2\5\1\0\10\4\1\0\3\4\1\0\51\4\2\0\1\4"
+ + "\7\5\1\0\3\5\1\0\4\5\1\4\10\0\1\5\10\0\2\4"
+ + "\2\5\2\0\12\5\12\0\6\4\2\0\2\5\1\0\22\4\3\0"
+ + "\30\4\1\0\11\4\1\0\1\4\2\0\7\4\3\0\1\5\4\0"
+ + "\6\5\1\0\1\5\1\0\10\5\22\0\2\5\15\0\60\4\1\5"
+ + "\2\4\7\5\4\0\10\4\10\5\1\0\12\5\47\0\2\4\1\0"
+ + "\1\4\2\0\2\4\1\0\1\4\2\0\1\4\6\0\4\4\1\0"
+ + "\7\4\1\0\3\4\1\0\1\4\1\0\1\4\2\0\2\4\1\0"
+ + "\4\4\1\5\2\4\6\5\1\0\2\5\1\4\2\0\5\4\1\0"
+ + "\1\4\1\0\6\5\2\0\12\5\2\0\4\4\40\0\1\4\27\0"
+ + "\2\5\6\0\12\5\13\0\1\5\1\0\1\5\1\0\1\5\4\0"
+ + "\2\5\10\4\1\0\44\4\4\0\24\5\1\0\2\5\5\4\13\5"
+ + "\1\0\44\5\11\0\1\5\71\0\53\4\24\5\1\4\12\5\6\0"
+ + "\6\4\4\5\4\4\3\5\1\4\3\5\2\4\7\5\3\4\4\5"
+ + "\15\4\14\5\1\4\17\5\2\0\46\4\1\0\1\4\5\0\1\4"
+ + "\2\0\53\4\1\0\u014d\4\1\0\4\4\2\0\7\4\1\0\1\4"
+ + "\1\0\4\4\2\0\51\4\1\0\4\4\2\0\41\4\1\0\4\4"
+ + "\2\0\7\4\1\0\1\4\1\0\4\4\2\0\17\4\1\0\71\4"
+ + "\1\0\4\4\2\0\103\4\2\0\3\5\40\0\20\4\20\0\125\4"
+ + "\14\0\u026c\4\2\0\21\4\1\0\32\4\5\0\113\4\3\0\3\4"
+ + "\17\0\15\4\1\0\4\4\3\5\13\0\22\4\3\5\13\0\22\4"
+ + "\2\5\14\0\15\4\1\0\3\4\1\0\2\5\14\0\64\4\40\5"
+ + "\3\0\1\4\3\0\2\4\1\5\2\0\12\5\41\0\3\5\2\0"
+ + "\12\5\6\0\130\4\10\0\51\4\1\5\1\4\5\0\106\4\12\0"
+ + "\35\4\3\0\14\5\4\0\14\5\12\0\12\5\36\4\2\0\5\4"
+ + "\13\0\54\4\4\0\21\5\7\4\2\5\6\0\12\5\46\0\27\4"
+ + "\5\5\4\0\65\4\12\5\1\0\35\5\2\0\13\5\6\0\12\5"
+ + "\15\0\1\4\130\0\5\5\57\4\21\5\7\4\4\0\12\5\21\0"
+ + "\11\5\14\0\3\5\36\4\15\5\2\4\12\5\54\4\16\5\14\0"
+ + "\44\4\24\5\10\0\12\5\3\0\3\4\12\5\44\4\122\0\3\5"
+ + "\1\0\25\5\4\4\1\5\4\4\3\5\2\4\11\0\300\4\47\5"
+ + "\25\0\4\5\u0116\4\2\0\6\4\2\0\46\4\2\0\6\4\2\0"
+ + "\10\4\1\0\1\4\1\0\1\4\1\0\1\4\1\0\37\4\2\0"
+ + "\65\4\1\0\7\4\1\0\1\4\3\0\3\4\1\0\7\4\3\0"
+ + "\4\4\2\0\6\4\4\0\15\4\5\0\3\4\1\0\7\4\16\0"
+ + "\5\5\30\0\1\57\1\57\5\5\20\0\2\4\23\0\1\4\13\0"
+ + "\5\5\5\0\6\5\1\0\1\4\15\0\1\4\20\0\15\4\3\0"
+ + "\33\4\25\0\15\5\4\0\1\5\3\0\14\5\21\0\1\4\4\0"
+ + "\1\4\2\0\12\4\1\0\1\4\3\0\5\4\6\0\1\4\1\0"
+ + "\1\4\1\0\1\4\1\0\4\4\1\0\13\4\2\0\4\4\5\0"
+ + "\5\4\4\0\1\4\21\0\51\4\u0a77\0\57\4\1\0\57\4\1\0"
+ + "\205\4\6\0\4\4\3\5\2\4\14\0\46\4\1\0\1\4\5\0"
+ + "\1\4\2\0\70\4\7\0\1\4\17\0\1\5\27\4\11\0\7\4"
+ + "\1\0\7\4\1\0\7\4\1\0\7\4\1\0\7\4\1\0\7\4"
+ + "\1\0\7\4\1\0\7\4\1\0\40\5\57\0\1\4\u01d5\0\3\4"
+ + "\31\0\11\4\6\5\1\0\5\4\2\0\5\4\4\0\126\4\2\0"
+ + "\2\5\2\0\3\4\1\0\132\4\1\0\4\4\5\0\51\4\3\0"
+ + "\136\4\21\0\33\4\65\0\20\4\u0200\0\u19b6\4\112\0\u51cd\4\63\0"
+ + "\u048d\4\103\0\56\4\2\0\u010d\4\3\0\20\4\12\5\2\4\24\0"
+ + "\57\4\1\5\4\0\12\5\1\0\31\4\7\0\1\5\120\4\2\5"
+ + "\45\0\11\4\2\0\147\4\2\0\4\4\1\0\4\4\14\0\13\4"
+ + "\115\0\12\4\1\5\3\4\1\5\4\4\1\5\27\4\5\5\20\0"
+ + "\1\4\7\0\64\4\14\0\2\5\62\4\21\5\13\0\12\5\6\0"
+ + "\22\5\6\4\3\0\1\4\4\0\12\5\34\4\10\5\2\0\27\4"
+ + "\15\5\14\0\35\4\3\0\4\5\57\4\16\5\16\0\1\4\12\5"
+ + "\46\0\51\4\16\5\11\0\3\4\1\5\10\4\2\5\2\0\12\5"
+ + "\6\0\27\4\3\0\1\4\1\5\4\0\60\4\1\5\1\4\3\5"
+ + "\2\4\2\5\5\4\2\5\1\4\1\5\1\4\30\0\3\4\2\0"
+ + "\13\4\5\5\2\0\3\4\2\5\12\0\6\4\2\0\6\4\2\0"
+ + "\6\4\11\0\7\4\1\0\7\4\221\0\43\4\10\5\1\0\2\5"
+ + "\2\0\12\5\6\0\u2ba4\4\14\0\27\4\4\0\61\4\u2104\0\u016e\4"
+ + "\2\0\152\4\46\0\7\4\14\0\5\4\5\0\1\4\1\5\12\4"
+ + "\1\0\15\4\1\0\5\4\1\0\1\4\1\0\2\4\1\0\2\4"
+ + "\1\0\154\4\41\0\u016b\4\22\0\100\4\2\0\66\4\50\0\15\4"
+ + "\3\0\20\5\20\0\7\5\14\0\2\4\30\0\3\4\31\0\1\4"
+ + "\6\0\5\4\1\0\207\4\2\0\1\5\4\0\1\4\13\0\12\5"
+ + "\7\0\32\4\4\0\1\4\1\0\32\4\13\0\131\4\3\0\6\4"
+ + "\2\0\6\4\2\0\6\4\2\0\3\4\3\0\2\4\3\0\2\4"
+ + "\22\0\3\5\4\0\14\4\1\0\32\4\1\0\23\4\1\0\2\4"
+ + "\1\0\17\4\2\0\16\4\42\0\173\4\105\0\65\4\210\0\1\5"
+ + "\202\0\35\4\3\0\61\4\57\0\37\4\21\0\33\4\65\0\36\4"
+ + "\2\0\44\4\4\0\10\4\1\0\5\4\52\0\236\4\2\0\12\5"
+ + "\u0356\0\6\4\2\0\1\4\1\0\54\4\1\0\2\4\3\0\1\4"
+ + "\2\0\27\4\252\0\26\4\12\0\32\4\106\0\70\4\6\0\2\4"
+ + "\100\0\1\4\3\5\1\0\2\5\5\0\4\5\4\4\1\0\3\4"
+ + "\1\0\33\4\4\0\3\5\4\0\1\5\40\0\35\4\203\0\66\4"
+ + "\12\0\26\4\12\0\23\4\215\0\111\4\u03b7\0\3\5\65\4\17\5"
+ + "\37\0\12\5\20\0\3\5\55\4\13\5\2\0\1\5\22\0\31\4"
+ + "\7\0\12\5\6\0\3\5\44\4\16\5\1\0\12\5\100\0\3\5"
+ + "\60\4\16\5\4\4\13\0\12\5\u04a6\0\53\4\15\5\10\0\12\5"
+ + "\u0936\0\u036f\4\221\0\143\4\u0b9d\0\u042f\4\u33d1\0\u0239\4\u04c7\0\105\4"
+ + "\13\0\1\4\56\5\20\0\4\5\15\4\u4060\0\2\4\u2163\0\5\5"
+ + "\3\0\26\5\2\0\7\5\36\0\4\5\224\0\3\5\u01bb\0\125\4"
+ + "\1\0\107\4\1\0\2\4\2\0\1\4\2\0\2\4\2\0\4\4"
+ + "\1\0\14\4\1\0\1\4\1\0\7\4\1\0\101\4\1\0\4\4"
+ + "\2\0\10\4\1\0\7\4\1\0\34\4\1\0\4\4\1\0\5\4"
+ + "\1\0\1\4\3\0\7\4\1\0\u0154\4\2\0\31\4\1\0\31\4"
+ + "\1\0\37\4\1\0\31\4\1\0\37\4\1\0\31\4\1\0\37\4"
+ + "\1\0\31\4\1\0\37\4\1\0\31\4\1\0\10\4\2\0\62\5"
+ + "\u1600\0\4\4\1\0\33\4\1\0\2\4\1\0\1\4\2\0\1\4"
+ + "\1\0\12\4\1\0\4\4\1\0\1\4\1\0\1\4\6\0\1\4"
+ + "\4\0\1\4\1\0\1\4\1\0\1\4\1\0\3\4\1\0\2\4"
+ + "\1\0\1\4\2\0\1\4\1\0\1\4\1\0\1\4\1\0\1\4"
+ + "\1\0\1\4\1\0\2\4\1\0\1\4\2\0\4\4\1\0\7\4"
+ + "\1\0\4\4\1\0\4\4\1\0\1\4\1\0\12\4\1\0\21\4"
+ + "\5\0\3\4\1\0\5\4\1\0\21\4\u1144\0\ua6d7\4\51\0\u1035\4"
+ + "\13\0\336\4\u3fe2\0\u021e\4\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\u05ee\0"
+ + "\1\5\36\0\140\5\200\0\360\5\uffff\0\uffff\0\ufe12\0";
- /**
- * Translates characters to character classes
- */
- private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
+ /**
+ * Translates characters to character classes
+ */
+ private static final char[] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
- /**
- * Translates DFA states to action switch labels.
- */
- private static final int [] ZZ_ACTION = zzUnpackAction();
+ /**
+ * Translates DFA states to action switch labels.
+ */
+ private static final int[] ZZ_ACTION = zzUnpackAction();
- private static final String ZZ_ACTION_PACKED_0 =
- "\2\0\2\1\1\2\1\3\1\1\1\3\7\2\1\1"+
- "\1\4\1\5\1\6\1\7\1\10\2\2\1\11\2\12"+
- "\1\1\1\13\1\14\1\0\1\14\2\0\7\2\1\0"+
- "\3\2\1\15\1\16\1\17\1\15\1\20\1\21\1\22"+
- "\1\23\1\15\1\24\1\25\1\14\4\0\6\2\1\26"+
- "\4\2\4\0\1\27\2\2\1\30\6\2\1\0\1\31"+
- "\1\32\1\0\7\2\1\33\1\0\1\34\6\2\1\0"+
- "\4\2\1\35\1\36\1\0\1\37\1\40\2\2\1\0"+
- "\1\41\1\42\20\0\1\43";
+ private static final String ZZ_ACTION_PACKED_0
+ = "\2\0\2\1\1\2\1\3\1\1\1\3\7\2\1\1"
+ + "\1\4\1\5\1\6\1\7\1\10\2\2\1\11\2\12"
+ + "\1\1\1\13\1\14\1\0\1\14\2\0\7\2\1\0"
+ + "\3\2\1\15\1\16\1\17\1\15\1\20\1\21\1\22"
+ + "\1\23\1\15\1\24\1\25\1\14\4\0\6\2\1\26"
+ + "\4\2\4\0\1\27\2\2\1\30\6\2\1\0\1\31"
+ + "\1\32\1\0\7\2\1\33\1\0\1\34\6\2\1\0"
+ + "\4\2\1\35\1\36\1\0\1\37\1\40\2\2\1\0"
+ + "\1\41\1\42\20\0\1\43";
- private static int [] zzUnpackAction() {
- int [] result = new int[137];
- 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);
+ private static int[] zzUnpackAction() {
+ int[] result = new int[137];
+ int offset = 0;
+ offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
+ return result;
}
- return j;
- }
+ private static int zzUnpackAction(String packed, int offset, int[] result) {
+ int i = 0; /* index in packed string */
- /**
- * Translates a state to a row index in the transition table
- */
- private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
+ int j = offset; /* index in unpacked array */
- 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\u01f4\0\u0226\0\u0258\0\u028a\0\u02bc\0\u02ee"+
- "\0\144\0\144\0\144\0\144\0\144\0\u0320\0\u0352\0\u0384"+
- "\0\u03b6\0\144\0\u03e8\0\144\0\372\0\u041a\0\u044c\0\u047e"+
- "\0\u04b0\0\u04e2\0\u0514\0\u0546\0\u0578\0\u05aa\0\u05dc\0\u060e"+
- "\0\u0640\0\u0672\0\u06a4\0\u06d6\0\144\0\144\0\144\0\u0708"+
- "\0\144\0\144\0\144\0\144\0\u073a\0\144\0\144\0\u076c"+
- "\0\u076c\0\u079e\0\u07d0\0\u0802\0\u0834\0\u0866\0\u0898\0\u08ca"+
- "\0\u08fc\0\u092e\0\144\0\u0960\0\u0992\0\u09c4\0\u09f6\0\u0a28"+
- "\0\u0a5a\0\u0a8c\0\u0abe\0\310\0\u0af0\0\u0b22\0\310\0\u0b54"+
- "\0\u0b86\0\u0bb8\0\u0bea\0\u0c1c\0\u0c4e\0\u073a\0\144\0\144"+
- "\0\u0c80\0\u0cb2\0\u0ce4\0\u0d16\0\u0d48\0\u0d7a\0\u0dac\0\u0dde"+
- "\0\310\0\u0e10\0\310\0\u0e42\0\u0e74\0\u0ea6\0\u0ed8\0\u0f0a"+
- "\0\u0f3c\0\u0f6e\0\u0fa0\0\u0fd2\0\u1004\0\u1036\0\310\0\310"+
- "\0\u1068\0\310\0\310\0\u109a\0\u10cc\0\u10fe\0\310\0\310"+
- "\0\u1130\0\u1162\0\u1194\0\u11c6\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\144";
-
- private static int [] zzUnpackRowMap() {
- int [] result = new int[137];
- 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++);
+ 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;
}
- return j;
- }
- /**
- * The transition table of the DFA
- */
- private static final int [] ZZ_TRANS = zzUnpackTrans();
+ /**
+ * Translates a state to a row index in the transition table
+ */
+ private static final int[] ZZ_ROWMAP = zzUnpackRowMap();
- private static final String ZZ_TRANS_PACKED_0 =
- "\3\3\1\4\1\5\1\3\1\6\1\7\1\10\1\11"+
- "\2\3\1\12\1\13\1\3\2\5\1\14\1\15\1\5"+
- "\1\16\1\5\1\17\5\5\1\3\1\20\1\5\1\3"+
- "\1\5\1\3\1\21\1\22\1\23\1\24\1\25\1\26"+
- "\5\5\1\27\2\3\1\4\1\3\1\30\1\31\1\32"+
- "\36\30\1\33\1\34\17\30\65\0\1\4\54\0\1\4"+
- "\5\0\3\5\1\0\2\5\2\0\2\5\1\0\15\5"+
- "\2\0\1\5\1\0\1\5\6\0\7\5\3\0\1\5"+
- "\6\0\1\35\1\0\1\35\13\0\1\36\10\0\1\37"+
- "\1\36\31\0\1\35\1\0\1\10\24\0\1\40\32\0"+
- "\1\10\1\0\1\10\13\0\1\36\10\0\1\37\1\36"+
- "\27\0\3\5\1\0\2\5\1\41\1\0\2\5\1\0"+
- "\15\5\2\0\1\5\1\0\1\5\6\0\7\5\3\0"+
- "\1\5\4\0\3\5\1\0\2\5\2\0\1\5\1\42"+
- "\1\0\7\5\1\43\5\5\2\0\1\5\1\0\1\5"+
- "\6\0\7\5\3\0\1\5\4\0\3\5\1\0\2\5"+
- "\2\0\2\5\1\0\3\5\1\44\11\5\2\0\1\5"+
- "\1\0\1\5\6\0\7\5\3\0\1\5\4\0\3\5"+
- "\1\0\2\5\2\0\1\45\1\5\1\0\15\5\2\0"+
- "\1\5\1\0\1\5\6\0\7\5\3\0\1\5\4\0"+
- "\3\5\1\0\2\5\2\0\2\5\1\0\11\5\1\46"+
- "\3\5\2\0\1\5\1\0\1\5\6\0\7\5\3\0"+
- "\1\5\4\0\3\5\1\0\2\5\2\0\2\5\1\0"+
- "\15\5\2\0\1\5\1\0\1\5\6\0\5\5\1\47"+
- "\1\5\3\0\1\5\4\0\3\5\1\0\2\5\2\0"+
- "\1\50\1\5\1\0\15\5\2\0\1\5\1\0\1\5"+
- "\6\0\7\5\3\0\1\5\6\0\1\37\1\0\1\37"+
- "\24\0\1\51\30\0\3\5\1\0\2\5\2\0\2\5"+
- "\1\0\11\5\1\52\1\5\1\53\1\5\2\0\1\5"+
- "\1\0\1\5\6\0\7\5\3\0\1\5\4\0\3\5"+
- "\1\0\2\5\2\0\2\5\1\0\13\5\1\54\1\5"+
- "\2\0\1\5\1\0\1\5\6\0\7\5\3\0\1\5"+
- "\1\30\2\0\36\30\2\0\17\30\2\0\1\32\57\0"+
- "\1\55\2\0\11\55\1\56\5\55\1\57\3\55\1\60"+
- "\1\61\1\62\10\55\1\63\1\64\11\55\1\65\1\66"+
- "\1\67\11\0\1\70\1\71\1\70\26\0\1\71\30\0"+
- "\1\37\1\0\1\37\13\0\1\36\11\0\1\36\31\0"+
- "\1\37\1\0\1\37\57\0\1\72\1\0\1\73\55\0"+
- "\3\5\1\0\2\5\2\0\2\5\1\74\15\5\2\0"+
- "\1\5\1\0\1\5\6\0\7\5\3\0\1\5\4\0"+
- "\3\5\1\0\2\5\2\0\2\5\1\0\14\5\1\75"+
- "\2\0\1\5\1\0\1\5\6\0\7\5\3\0\1\5"+
- "\4\0\3\5\1\0\2\5\2\0\2\5\1\0\13\5"+
- "\1\76\1\5\2\0\1\5\1\0\1\5\6\0\7\5"+
- "\3\0\1\5\4\0\3\5\1\0\2\5\2\0\2\5"+
- "\1\0\3\5\1\77\11\5\2\0\1\5\1\0\1\5"+
- "\6\0\7\5\3\0\1\5\4\0\3\5\1\0\2\5"+
- "\2\0\2\5\1\0\7\5\1\100\5\5\2\0\1\5"+
- "\1\0\1\5\6\0\7\5\3\0\1\5\4\0\3\5"+
- "\1\0\2\5\2\0\2\5\1\0\15\5\2\0\1\5"+
- "\1\0\1\5\6\0\1\101\6\5\3\0\1\5\4\0"+
- "\3\5\1\0\2\5\2\0\2\5\1\0\15\5\2\0"+
- "\1\5\1\0\1\5\6\0\2\5\1\102\4\5\3\0"+
- "\1\5\35\0\1\103\30\0\3\5\1\0\2\5\2\0"+
- "\2\5\1\0\1\5\1\104\1\105\12\5\2\0\1\5"+
- "\1\0\1\5\6\0\7\5\3\0\1\5\4\0\3\5"+
- "\1\0\2\5\2\0\2\5\1\0\15\5\2\0\1\5"+
- "\1\0\1\5\6\0\1\5\1\106\5\5\3\0\1\5"+
- "\4\0\3\5\1\0\2\5\2\0\2\5\1\0\14\5"+
- "\1\107\2\0\1\5\1\0\1\5\6\0\7\5\3\0"+
- "\1\5\6\0\1\110\1\0\1\110\13\0\1\110\2\0"+
- "\1\110\2\0\1\110\3\0\1\110\1\0\1\110\7\0"+
- "\2\110\3\0\1\110\12\0\1\111\1\0\1\111\13\0"+
- "\1\111\2\0\1\111\2\0\1\111\3\0\1\111\1\0"+
- "\1\111\7\0\2\111\3\0\1\111\12\0\1\70\1\0"+
- "\1\70\64\0\1\112\54\0\1\73\1\0\1\73\2\0"+
- "\1\112\65\0\1\113\46\0\3\5\1\0\2\5\2\0"+
- "\2\5\1\0\14\5\1\114\2\0\1\5\1\0\1\5"+
- "\6\0\7\5\3\0\1\5\4\0\3\5\1\0\2\5"+
- "\2\0\2\5\1\0\3\5\1\115\11\5\2\0\1\5"+
- "\1\0\1\5\6\0\7\5\3\0\1\5\4\0\3\5"+
- "\1\0\2\5\2\0\2\5\1\0\5\5\1\116\7\5"+
- "\2\0\1\5\1\0\1\5\6\0\7\5\3\0\1\5"+
- "\4\0\3\5\1\0\2\5\2\0\2\5\1\0\5\5"+
- "\1\117\7\5\2\0\1\5\1\0\1\5\6\0\7\5"+
- "\3\0\1\5\4\0\3\5\1\0\2\5\2\0\2\5"+
- "\1\0\14\5\1\120\2\0\1\5\1\0\1\5\6\0"+
- "\7\5\3\0\1\5\4\0\3\5\1\0\2\5\2\0"+
- "\2\5\1\0\5\5\1\121\7\5\2\0\1\5\1\0"+
- "\1\5\6\0\7\5\3\0\1\5\4\0\3\5\1\0"+
- "\2\5\2\0\2\5\1\0\3\5\1\122\11\5\2\0"+
- "\1\5\1\0\1\5\6\0\7\5\3\0\1\5\4\0"+
- "\3\5\1\0\2\5\2\0\2\5\1\0\4\5\1\123"+
- "\10\5\2\0\1\5\1\0\1\5\6\0\7\5\3\0"+
- "\1\5\4\0\3\5\1\0\2\5\2\0\2\5\1\0"+
- "\15\5\2\0\1\5\1\0\1\5\6\0\3\5\1\124"+
- "\3\5\3\0\1\5\4\0\3\5\1\0\2\5\2\0"+
- "\1\5\1\125\1\0\15\5\2\0\1\5\1\0\1\5"+
- "\6\0\7\5\3\0\1\5\6\0\1\126\1\0\1\126"+
- "\13\0\1\126\2\0\1\126\2\0\1\126\3\0\1\126"+
- "\1\0\1\126\7\0\2\126\3\0\1\126\12\0\1\127"+
- "\1\0\1\127\13\0\1\127\2\0\1\127\2\0\1\127"+
- "\3\0\1\127\1\0\1\127\7\0\2\127\3\0\1\127"+
- "\46\0\1\130\37\0\1\131\45\0\3\5\1\0\2\5"+
- "\2\0\2\5\1\0\2\5\1\132\12\5\2\0\1\5"+
- "\1\0\1\5\6\0\7\5\3\0\1\5\4\0\3\5"+
- "\1\0\2\5\2\0\2\5\1\0\11\5\1\133\3\5"+
- "\2\0\1\5\1\0\1\5\6\0\7\5\3\0\1\5"+
- "\4\0\3\5\1\0\2\5\2\0\2\5\1\0\2\5"+
- "\1\134\12\5\2\0\1\5\1\0\1\5\6\0\7\5"+
- "\3\0\1\5\4\0\3\5\1\0\2\5\2\0\2\5"+
- "\1\0\15\5\2\0\1\5\1\0\1\5\6\0\6\5"+
- "\1\135\3\0\1\5\4\0\3\5\1\0\2\5\2\0"+
- "\2\5\1\0\5\5\1\136\7\5\2\0\1\5\1\0"+
- "\1\5\6\0\7\5\3\0\1\5\4\0\3\5\1\0"+
- "\2\5\2\0\2\5\1\0\13\5\1\137\1\5\2\0"+
- "\1\5\1\0\1\5\6\0\7\5\3\0\1\5\4\0"+
- "\3\5\1\0\2\5\2\0\2\5\1\0\13\5\1\140"+
- "\1\5\2\0\1\5\1\0\1\5\6\0\7\5\3\0"+
- "\1\5\4\0\3\5\1\0\2\5\2\0\2\5\1\0"+
- "\5\5\1\141\7\5\2\0\1\5\1\0\1\5\6\0"+
- "\7\5\3\0\1\5\15\0\1\142\50\0\3\5\1\0"+
- "\2\5\2\0\2\5\1\0\15\5\2\0\1\5\1\0"+
- "\1\5\6\0\1\5\1\143\5\5\3\0\1\5\4\0"+
- "\3\5\1\0\2\5\2\0\1\144\1\5\1\0\15\5"+
- "\2\0\1\5\1\0\1\5\6\0\7\5\3\0\1\5"+
- "\4\0\3\5\1\0\2\5\2\0\2\5\1\0\15\5"+
- "\2\0\1\5\1\0\1\5\6\0\1\5\1\145\5\5"+
- "\3\0\1\5\4\0\3\5\1\0\2\5\2\0\2\5"+
- "\1\0\2\5\1\146\12\5\2\0\1\5\1\0\1\5"+
- "\6\0\7\5\3\0\1\5\4\0\3\5\1\0\2\5"+
- "\2\0\2\5\1\0\15\5\2\0\1\5\1\0\1\5"+
- "\6\0\1\5\1\147\5\5\3\0\1\5\4\0\3\5"+
- "\1\0\2\5\2\0\2\5\1\0\3\5\1\150\11\5"+
- "\2\0\1\5\1\0\1\5\6\0\7\5\3\0\1\5"+
- "\4\0\3\5\1\0\2\5\2\0\2\5\1\0\15\5"+
- "\2\0\1\5\1\0\1\5\6\0\4\5\1\151\2\5"+
- "\3\0\1\5\21\0\1\152\44\0\3\5\1\0\2\5"+
- "\2\0\2\5\1\0\13\5\1\153\1\5\2\0\1\5"+
- "\1\0\1\5\6\0\7\5\3\0\1\5\4\0\3\5"+
- "\1\0\2\5\2\0\2\5\1\0\2\5\1\154\12\5"+
- "\2\0\1\5\1\0\1\5\6\0\7\5\3\0\1\5"+
- "\4\0\3\5\1\0\2\5\2\0\1\155\1\5\1\0"+
- "\15\5\2\0\1\5\1\0\1\5\6\0\7\5\3\0"+
- "\1\5\4\0\3\5\1\0\2\5\2\0\2\5\1\0"+
- "\3\5\1\156\11\5\2\0\1\5\1\0\1\5\6\0"+
- "\7\5\3\0\1\5\4\0\3\5\1\0\2\5\2\0"+
- "\2\5\1\0\5\5\1\157\7\5\2\0\1\5\1\0"+
- "\1\5\6\0\7\5\3\0\1\5\4\0\3\5\1\0"+
- "\2\5\2\0\2\5\1\0\5\5\1\160\7\5\2\0"+
- "\1\5\1\0\1\5\6\0\7\5\3\0\1\5\22\0"+
- "\1\161\43\0\3\5\1\0\2\5\2\0\2\5\1\0"+
- "\14\5\1\162\2\0\1\5\1\0\1\5\6\0\7\5"+
- "\3\0\1\5\4\0\3\5\1\0\2\5\2\0\2\5"+
- "\1\0\3\5\1\163\11\5\2\0\1\5\1\0\1\5"+
- "\6\0\7\5\3\0\1\5\4\0\3\5\1\0\2\5"+
- "\2\0\2\5\1\0\5\5\1\164\7\5\2\0\1\5"+
- "\1\0\1\5\6\0\7\5\3\0\1\5\4\0\3\5"+
- "\1\0\2\5\2\0\2\5\1\0\5\5\1\165\7\5"+
- "\2\0\1\5\1\0\1\5\6\0\7\5\3\0\1\5"+
- "\21\0\1\166\44\0\3\5\1\0\2\5\2\0\2\5"+
- "\1\0\15\5\2\0\1\5\1\0\1\5\6\0\2\5"+
- "\1\167\4\5\3\0\1\5\4\0\3\5\1\0\2\5"+
- "\2\0\2\5\1\0\15\5\2\0\1\5\1\0\1\5"+
- "\6\0\2\5\1\170\4\5\3\0\1\5\23\0\1\171"+
- "\62\0\1\172\62\0\1\173\62\0\1\174\44\0\1\175"+
- "\77\0\1\176\56\0\1\177\65\0\1\200\62\0\1\201"+
- "\51\0\1\202\62\0\1\203\63\0\1\204\65\0\1\205"+
- "\63\0\1\206\62\0\1\207\62\0\1\210\40\0\1\211"+
- "\46\0";
+ 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\u01f4\0\u0226\0\u0258\0\u028a\0\u02bc\0\u02ee"
+ + "\0\144\0\144\0\144\0\144\0\144\0\u0320\0\u0352\0\u0384"
+ + "\0\u03b6\0\144\0\u03e8\0\144\0\372\0\u041a\0\u044c\0\u047e"
+ + "\0\u04b0\0\u04e2\0\u0514\0\u0546\0\u0578\0\u05aa\0\u05dc\0\u060e"
+ + "\0\u0640\0\u0672\0\u06a4\0\u06d6\0\144\0\144\0\144\0\u0708"
+ + "\0\144\0\144\0\144\0\144\0\u073a\0\144\0\144\0\u076c"
+ + "\0\u076c\0\u079e\0\u07d0\0\u0802\0\u0834\0\u0866\0\u0898\0\u08ca"
+ + "\0\u08fc\0\u092e\0\144\0\u0960\0\u0992\0\u09c4\0\u09f6\0\u0a28"
+ + "\0\u0a5a\0\u0a8c\0\u0abe\0\310\0\u0af0\0\u0b22\0\310\0\u0b54"
+ + "\0\u0b86\0\u0bb8\0\u0bea\0\u0c1c\0\u0c4e\0\u073a\0\144\0\144"
+ + "\0\u0c80\0\u0cb2\0\u0ce4\0\u0d16\0\u0d48\0\u0d7a\0\u0dac\0\u0dde"
+ + "\0\310\0\u0e10\0\310\0\u0e42\0\u0e74\0\u0ea6\0\u0ed8\0\u0f0a"
+ + "\0\u0f3c\0\u0f6e\0\u0fa0\0\u0fd2\0\u1004\0\u1036\0\310\0\310"
+ + "\0\u1068\0\310\0\310\0\u109a\0\u10cc\0\u10fe\0\310\0\310"
+ + "\0\u1130\0\u1162\0\u1194\0\u11c6\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\144";
- private static int [] zzUnpackTrans() {
- int [] result = new int[5200];
- 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);
+ private static int[] zzUnpackRowMap() {
+ int[] result = new int[137];
+ int offset = 0;
+ offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
+ return result;
}
- return j;
- }
+ private static int zzUnpackRowMap(String packed, int offset, int[] result) {
+ int i = 0; /* index in packed string */
- /* 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;
+ int j = offset; /* index in unpacked array */
- /* 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 aState
- */
- private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
-
- private static final String ZZ_ATTRIBUTE_PACKED_0 =
- "\2\0\1\11\15\1\5\11\4\1\1\11\1\1\1\11"+
- "\1\1\1\0\1\1\2\0\7\1\1\0\3\1\3\11"+
- "\1\1\4\11\1\1\2\11\1\1\4\0\6\1\1\11"+
- "\4\1\4\0\12\1\1\0\2\11\1\0\10\1\1\0"+
- "\7\1\1\0\6\1\1\0\4\1\1\0\2\1\20\0"+
- "\1\11";
-
- private static int [] zzUnpackAttribute() {
- int [] result = new int[137];
- 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);
+ int l = packed.length();
+ while (i < l) {
+ int high = packed.charAt(i++) << 16;
+ result[j++] = high | packed.charAt(i++);
+ }
+ return j;
}
- return j;
- }
- /** the input device */
- private java.io.Reader zzReader;
+ /**
+ * The transition table of the DFA
+ */
+ private static final int[] ZZ_TRANS = zzUnpackTrans();
- /** the current state of the DFA */
- private int zzState;
+ private static final String ZZ_TRANS_PACKED_0
+ = "\3\3\1\4\1\5\1\3\1\6\1\7\1\10\1\11"
+ + "\2\3\1\12\1\13\1\3\2\5\1\14\1\15\1\5"
+ + "\1\16\1\5\1\17\5\5\1\3\1\20\1\5\1\3"
+ + "\1\5\1\3\1\21\1\22\1\23\1\24\1\25\1\26"
+ + "\5\5\1\27\2\3\1\4\1\3\1\30\1\31\1\32"
+ + "\36\30\1\33\1\34\17\30\65\0\1\4\54\0\1\4"
+ + "\5\0\3\5\1\0\2\5\2\0\2\5\1\0\15\5"
+ + "\2\0\1\5\1\0\1\5\6\0\7\5\3\0\1\5"
+ + "\6\0\1\35\1\0\1\35\13\0\1\36\10\0\1\37"
+ + "\1\36\31\0\1\35\1\0\1\10\24\0\1\40\32\0"
+ + "\1\10\1\0\1\10\13\0\1\36\10\0\1\37\1\36"
+ + "\27\0\3\5\1\0\2\5\1\41\1\0\2\5\1\0"
+ + "\15\5\2\0\1\5\1\0\1\5\6\0\7\5\3\0"
+ + "\1\5\4\0\3\5\1\0\2\5\2\0\1\5\1\42"
+ + "\1\0\7\5\1\43\5\5\2\0\1\5\1\0\1\5"
+ + "\6\0\7\5\3\0\1\5\4\0\3\5\1\0\2\5"
+ + "\2\0\2\5\1\0\3\5\1\44\11\5\2\0\1\5"
+ + "\1\0\1\5\6\0\7\5\3\0\1\5\4\0\3\5"
+ + "\1\0\2\5\2\0\1\45\1\5\1\0\15\5\2\0"
+ + "\1\5\1\0\1\5\6\0\7\5\3\0\1\5\4\0"
+ + "\3\5\1\0\2\5\2\0\2\5\1\0\11\5\1\46"
+ + "\3\5\2\0\1\5\1\0\1\5\6\0\7\5\3\0"
+ + "\1\5\4\0\3\5\1\0\2\5\2\0\2\5\1\0"
+ + "\15\5\2\0\1\5\1\0\1\5\6\0\5\5\1\47"
+ + "\1\5\3\0\1\5\4\0\3\5\1\0\2\5\2\0"
+ + "\1\50\1\5\1\0\15\5\2\0\1\5\1\0\1\5"
+ + "\6\0\7\5\3\0\1\5\6\0\1\37\1\0\1\37"
+ + "\24\0\1\51\30\0\3\5\1\0\2\5\2\0\2\5"
+ + "\1\0\11\5\1\52\1\5\1\53\1\5\2\0\1\5"
+ + "\1\0\1\5\6\0\7\5\3\0\1\5\4\0\3\5"
+ + "\1\0\2\5\2\0\2\5\1\0\13\5\1\54\1\5"
+ + "\2\0\1\5\1\0\1\5\6\0\7\5\3\0\1\5"
+ + "\1\30\2\0\36\30\2\0\17\30\2\0\1\32\57\0"
+ + "\1\55\2\0\11\55\1\56\5\55\1\57\3\55\1\60"
+ + "\1\61\1\62\10\55\1\63\1\64\11\55\1\65\1\66"
+ + "\1\67\11\0\1\70\1\71\1\70\26\0\1\71\30\0"
+ + "\1\37\1\0\1\37\13\0\1\36\11\0\1\36\31\0"
+ + "\1\37\1\0\1\37\57\0\1\72\1\0\1\73\55\0"
+ + "\3\5\1\0\2\5\2\0\2\5\1\74\15\5\2\0"
+ + "\1\5\1\0\1\5\6\0\7\5\3\0\1\5\4\0"
+ + "\3\5\1\0\2\5\2\0\2\5\1\0\14\5\1\75"
+ + "\2\0\1\5\1\0\1\5\6\0\7\5\3\0\1\5"
+ + "\4\0\3\5\1\0\2\5\2\0\2\5\1\0\13\5"
+ + "\1\76\1\5\2\0\1\5\1\0\1\5\6\0\7\5"
+ + "\3\0\1\5\4\0\3\5\1\0\2\5\2\0\2\5"
+ + "\1\0\3\5\1\77\11\5\2\0\1\5\1\0\1\5"
+ + "\6\0\7\5\3\0\1\5\4\0\3\5\1\0\2\5"
+ + "\2\0\2\5\1\0\7\5\1\100\5\5\2\0\1\5"
+ + "\1\0\1\5\6\0\7\5\3\0\1\5\4\0\3\5"
+ + "\1\0\2\5\2\0\2\5\1\0\15\5\2\0\1\5"
+ + "\1\0\1\5\6\0\1\101\6\5\3\0\1\5\4\0"
+ + "\3\5\1\0\2\5\2\0\2\5\1\0\15\5\2\0"
+ + "\1\5\1\0\1\5\6\0\2\5\1\102\4\5\3\0"
+ + "\1\5\35\0\1\103\30\0\3\5\1\0\2\5\2\0"
+ + "\2\5\1\0\1\5\1\104\1\105\12\5\2\0\1\5"
+ + "\1\0\1\5\6\0\7\5\3\0\1\5\4\0\3\5"
+ + "\1\0\2\5\2\0\2\5\1\0\15\5\2\0\1\5"
+ + "\1\0\1\5\6\0\1\5\1\106\5\5\3\0\1\5"
+ + "\4\0\3\5\1\0\2\5\2\0\2\5\1\0\14\5"
+ + "\1\107\2\0\1\5\1\0\1\5\6\0\7\5\3\0"
+ + "\1\5\6\0\1\110\1\0\1\110\13\0\1\110\2\0"
+ + "\1\110\2\0\1\110\3\0\1\110\1\0\1\110\7\0"
+ + "\2\110\3\0\1\110\12\0\1\111\1\0\1\111\13\0"
+ + "\1\111\2\0\1\111\2\0\1\111\3\0\1\111\1\0"
+ + "\1\111\7\0\2\111\3\0\1\111\12\0\1\70\1\0"
+ + "\1\70\64\0\1\112\54\0\1\73\1\0\1\73\2\0"
+ + "\1\112\65\0\1\113\46\0\3\5\1\0\2\5\2\0"
+ + "\2\5\1\0\14\5\1\114\2\0\1\5\1\0\1\5"
+ + "\6\0\7\5\3\0\1\5\4\0\3\5\1\0\2\5"
+ + "\2\0\2\5\1\0\3\5\1\115\11\5\2\0\1\5"
+ + "\1\0\1\5\6\0\7\5\3\0\1\5\4\0\3\5"
+ + "\1\0\2\5\2\0\2\5\1\0\5\5\1\116\7\5"
+ + "\2\0\1\5\1\0\1\5\6\0\7\5\3\0\1\5"
+ + "\4\0\3\5\1\0\2\5\2\0\2\5\1\0\5\5"
+ + "\1\117\7\5\2\0\1\5\1\0\1\5\6\0\7\5"
+ + "\3\0\1\5\4\0\3\5\1\0\2\5\2\0\2\5"
+ + "\1\0\14\5\1\120\2\0\1\5\1\0\1\5\6\0"
+ + "\7\5\3\0\1\5\4\0\3\5\1\0\2\5\2\0"
+ + "\2\5\1\0\5\5\1\121\7\5\2\0\1\5\1\0"
+ + "\1\5\6\0\7\5\3\0\1\5\4\0\3\5\1\0"
+ + "\2\5\2\0\2\5\1\0\3\5\1\122\11\5\2\0"
+ + "\1\5\1\0\1\5\6\0\7\5\3\0\1\5\4\0"
+ + "\3\5\1\0\2\5\2\0\2\5\1\0\4\5\1\123"
+ + "\10\5\2\0\1\5\1\0\1\5\6\0\7\5\3\0"
+ + "\1\5\4\0\3\5\1\0\2\5\2\0\2\5\1\0"
+ + "\15\5\2\0\1\5\1\0\1\5\6\0\3\5\1\124"
+ + "\3\5\3\0\1\5\4\0\3\5\1\0\2\5\2\0"
+ + "\1\5\1\125\1\0\15\5\2\0\1\5\1\0\1\5"
+ + "\6\0\7\5\3\0\1\5\6\0\1\126\1\0\1\126"
+ + "\13\0\1\126\2\0\1\126\2\0\1\126\3\0\1\126"
+ + "\1\0\1\126\7\0\2\126\3\0\1\126\12\0\1\127"
+ + "\1\0\1\127\13\0\1\127\2\0\1\127\2\0\1\127"
+ + "\3\0\1\127\1\0\1\127\7\0\2\127\3\0\1\127"
+ + "\46\0\1\130\37\0\1\131\45\0\3\5\1\0\2\5"
+ + "\2\0\2\5\1\0\2\5\1\132\12\5\2\0\1\5"
+ + "\1\0\1\5\6\0\7\5\3\0\1\5\4\0\3\5"
+ + "\1\0\2\5\2\0\2\5\1\0\11\5\1\133\3\5"
+ + "\2\0\1\5\1\0\1\5\6\0\7\5\3\0\1\5"
+ + "\4\0\3\5\1\0\2\5\2\0\2\5\1\0\2\5"
+ + "\1\134\12\5\2\0\1\5\1\0\1\5\6\0\7\5"
+ + "\3\0\1\5\4\0\3\5\1\0\2\5\2\0\2\5"
+ + "\1\0\15\5\2\0\1\5\1\0\1\5\6\0\6\5"
+ + "\1\135\3\0\1\5\4\0\3\5\1\0\2\5\2\0"
+ + "\2\5\1\0\5\5\1\136\7\5\2\0\1\5\1\0"
+ + "\1\5\6\0\7\5\3\0\1\5\4\0\3\5\1\0"
+ + "\2\5\2\0\2\5\1\0\13\5\1\137\1\5\2\0"
+ + "\1\5\1\0\1\5\6\0\7\5\3\0\1\5\4\0"
+ + "\3\5\1\0\2\5\2\0\2\5\1\0\13\5\1\140"
+ + "\1\5\2\0\1\5\1\0\1\5\6\0\7\5\3\0"
+ + "\1\5\4\0\3\5\1\0\2\5\2\0\2\5\1\0"
+ + "\5\5\1\141\7\5\2\0\1\5\1\0\1\5\6\0"
+ + "\7\5\3\0\1\5\15\0\1\142\50\0\3\5\1\0"
+ + "\2\5\2\0\2\5\1\0\15\5\2\0\1\5\1\0"
+ + "\1\5\6\0\1\5\1\143\5\5\3\0\1\5\4\0"
+ + "\3\5\1\0\2\5\2\0\1\144\1\5\1\0\15\5"
+ + "\2\0\1\5\1\0\1\5\6\0\7\5\3\0\1\5"
+ + "\4\0\3\5\1\0\2\5\2\0\2\5\1\0\15\5"
+ + "\2\0\1\5\1\0\1\5\6\0\1\5\1\145\5\5"
+ + "\3\0\1\5\4\0\3\5\1\0\2\5\2\0\2\5"
+ + "\1\0\2\5\1\146\12\5\2\0\1\5\1\0\1\5"
+ + "\6\0\7\5\3\0\1\5\4\0\3\5\1\0\2\5"
+ + "\2\0\2\5\1\0\15\5\2\0\1\5\1\0\1\5"
+ + "\6\0\1\5\1\147\5\5\3\0\1\5\4\0\3\5"
+ + "\1\0\2\5\2\0\2\5\1\0\3\5\1\150\11\5"
+ + "\2\0\1\5\1\0\1\5\6\0\7\5\3\0\1\5"
+ + "\4\0\3\5\1\0\2\5\2\0\2\5\1\0\15\5"
+ + "\2\0\1\5\1\0\1\5\6\0\4\5\1\151\2\5"
+ + "\3\0\1\5\21\0\1\152\44\0\3\5\1\0\2\5"
+ + "\2\0\2\5\1\0\13\5\1\153\1\5\2\0\1\5"
+ + "\1\0\1\5\6\0\7\5\3\0\1\5\4\0\3\5"
+ + "\1\0\2\5\2\0\2\5\1\0\2\5\1\154\12\5"
+ + "\2\0\1\5\1\0\1\5\6\0\7\5\3\0\1\5"
+ + "\4\0\3\5\1\0\2\5\2\0\1\155\1\5\1\0"
+ + "\15\5\2\0\1\5\1\0\1\5\6\0\7\5\3\0"
+ + "\1\5\4\0\3\5\1\0\2\5\2\0\2\5\1\0"
+ + "\3\5\1\156\11\5\2\0\1\5\1\0\1\5\6\0"
+ + "\7\5\3\0\1\5\4\0\3\5\1\0\2\5\2\0"
+ + "\2\5\1\0\5\5\1\157\7\5\2\0\1\5\1\0"
+ + "\1\5\6\0\7\5\3\0\1\5\4\0\3\5\1\0"
+ + "\2\5\2\0\2\5\1\0\5\5\1\160\7\5\2\0"
+ + "\1\5\1\0\1\5\6\0\7\5\3\0\1\5\22\0"
+ + "\1\161\43\0\3\5\1\0\2\5\2\0\2\5\1\0"
+ + "\14\5\1\162\2\0\1\5\1\0\1\5\6\0\7\5"
+ + "\3\0\1\5\4\0\3\5\1\0\2\5\2\0\2\5"
+ + "\1\0\3\5\1\163\11\5\2\0\1\5\1\0\1\5"
+ + "\6\0\7\5\3\0\1\5\4\0\3\5\1\0\2\5"
+ + "\2\0\2\5\1\0\5\5\1\164\7\5\2\0\1\5"
+ + "\1\0\1\5\6\0\7\5\3\0\1\5\4\0\3\5"
+ + "\1\0\2\5\2\0\2\5\1\0\5\5\1\165\7\5"
+ + "\2\0\1\5\1\0\1\5\6\0\7\5\3\0\1\5"
+ + "\21\0\1\166\44\0\3\5\1\0\2\5\2\0\2\5"
+ + "\1\0\15\5\2\0\1\5\1\0\1\5\6\0\2\5"
+ + "\1\167\4\5\3\0\1\5\4\0\3\5\1\0\2\5"
+ + "\2\0\2\5\1\0\15\5\2\0\1\5\1\0\1\5"
+ + "\6\0\2\5\1\170\4\5\3\0\1\5\23\0\1\171"
+ + "\62\0\1\172\62\0\1\173\62\0\1\174\44\0\1\175"
+ + "\77\0\1\176\56\0\1\177\65\0\1\200\62\0\1\201"
+ + "\51\0\1\202\62\0\1\203\63\0\1\204\65\0\1\205"
+ + "\63\0\1\206\62\0\1\207\62\0\1\210\40\0\1\211"
+ + "\46\0";
- /** the current lexical state */
- private int zzLexicalState = YYINITIAL;
+ private static int[] zzUnpackTrans() {
+ int[] result = new int[5200];
+ int offset = 0;
+ offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
+ return result;
+ }
- /** this buffer contains the current text to be matched and is
- the source of the yytext() string */
- private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
+ private static int zzUnpackTrans(String packed, int offset, int[] result) {
+ int i = 0; /* index in packed string */
- /** the textposition at the last accepting state */
- private int zzMarkedPos;
+ int j = offset; /* index in unpacked array */
- /** the current text position in the buffer */
- private int zzCurrentPos;
+ 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;
+ }
- /** 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;
+ /* 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;
- /** number of newlines encountered up to the start of the matched text */
- private int yyline;
+ /* 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"
+ };
- /** the number of characters up to the start of the matched text */
- private int yychar;
+ /**
+ * ZZ_ATTRIBUTE[aState] contains the attributes of state aState
+ */
+ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute();
- /**
- * the number of characters from the last newline up to the start of the
- * matched text
- */
- private int yycolumn;
+ private static final String ZZ_ATTRIBUTE_PACKED_0
+ = "\2\0\1\11\15\1\5\11\4\1\1\11\1\1\1\11"
+ + "\1\1\1\0\1\1\2\0\7\1\1\0\3\1\3\11"
+ + "\1\1\4\11\1\1\2\11\1\1\4\0\6\1\1\11"
+ + "\4\1\4\0\12\1\1\0\2\11\1\0\10\1\1\0"
+ + "\7\1\1\0\6\1\1\0\4\1\1\0\2\1\20\0"
+ + "\1\11";
- /**
- * zzAtBOL == true <=> the scanner is currently at the beginning of a line
- */
- private boolean zzAtBOL = true;
+ private static int[] zzUnpackAttribute() {
+ int[] result = new int[137];
+ int offset = 0;
+ offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
+ return result;
+ }
- /** zzAtEOF == true <=> the scanner is at the EOF */
- private boolean zzAtEOF;
+ private static int zzUnpackAttribute(String packed, int offset, int[] result) {
+ int i = 0; /* index in packed string */
- /** denotes if the user-EOF-code has already been executed */
- private boolean zzEOFDone;
-
- /**
- * The number of occupied positions in zzBuffer beyond zzEndRead.
- * When a lead/high surrogate has been read from the input stream
- * into the final zzBuffer position, this will have a value of 1;
- * otherwise, it will have a value of 0.
- */
- private int zzFinalHighSurrogate = 0;
+ int j = offset; /* index in unpacked array */
- /* user code: */
+ 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 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;
+
+ /**
+ * denotes if the user-EOF-code has already been executed
+ */
+ private boolean zzEOFDone;
+
+ /**
+ * The number of occupied positions in zzBuffer beyond zzEndRead. When a
+ * lead/high surrogate has been read from the input stream into the final
+ * zzBuffer position, this will have a value of 1; otherwise, it will have a
+ * value of 0.
+ */
+ private int zzFinalHighSurrogate = 0;
+
+ /* user code: */
StringBuffer string = new StringBuffer();
boolean isMultiname = false;
long multinameId = 0;
@@ -590,542 +630,581 @@ public final class MethodInfoLexer {
return yyline + 1;
}
-
-
- /**
- * Creates a new scanner
- *
- * @param in the java.io.Reader to read input from.
- */
- public MethodInfoLexer(java.io.Reader in) {
- this.zzReader = in;
- }
-
-
- /**
- * Unpacks the compressed character translation table.
- *
- * @param packed the packed character translation table
- * @return the unpacked character translation table
- */
- private static char [] zzUnpackCMap(String packed) {
- char [] map = new char[0x110000];
- int i = 0; /* index in packed string */
- int j = 0; /* index in unpacked array */
- while (i < 2868) {
- int count = packed.charAt(i++);
- char value = packed.charAt(i++);
- do map[j++] = value; while (--count > 0);
- }
- return map;
- }
-
-
- /**
- * Refills the input buffer.
- *
- * @return false, 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) {
- zzEndRead += zzFinalHighSurrogate;
- zzFinalHighSurrogate = 0;
- System.arraycopy(zzBuffer, zzStartRead,
- zzBuffer, 0,
- zzEndRead-zzStartRead);
-
- /* translate stored positions */
- zzEndRead-= zzStartRead;
- zzCurrentPos-= zzStartRead;
- zzMarkedPos-= zzStartRead;
- zzStartRead = 0;
+ /**
+ * Creates a new scanner
+ *
+ * @param in the java.io.Reader to read input from.
+ */
+ public MethodInfoLexer(java.io.Reader in) {
+ this.zzReader = in;
}
- /* is the buffer big enough? */
- if (zzCurrentPos >= zzBuffer.length - zzFinalHighSurrogate) {
- /* if not: blow it up */
- char newBuffer[] = new char[zzBuffer.length*2];
- System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
- zzBuffer = newBuffer;
- zzEndRead += zzFinalHighSurrogate;
- zzFinalHighSurrogate = 0;
- }
+ /**
+ * Unpacks the compressed character translation table.
+ *
+ * @param packed the packed character translation table
+ * @return the unpacked character translation table
+ */
+ private static char[] zzUnpackCMap(String packed) {
+ char[] map = new char[0x110000];
+ int i = 0; /* index in packed string */
- /* fill the buffer with new input */
- int requested = zzBuffer.length - zzEndRead;
- int totalRead = 0;
- while (totalRead < requested) {
- int numRead = zzReader.read(zzBuffer, zzEndRead + totalRead, requested - totalRead);
- if (numRead == -1) {
- break;
- }
- totalRead += numRead;
- }
+ int j = 0; /* index in unpacked array */
- if (totalRead > 0) {
- zzEndRead += totalRead;
- if (totalRead == requested) { /* possibly more input available */
- if (Character.isHighSurrogate(zzBuffer[zzEndRead - 1])) {
- --zzEndRead;
- zzFinalHighSurrogate = 1;
+ while (i < 2868) {
+ int count = packed.charAt(i++);
+ char value = packed.charAt(i++);
+ do {
+ map[j++] = value;
+ } while (--count > 0);
}
- }
- return false;
+ return map;
}
- // totalRead = 0: End of stream
- return true;
- }
+ /**
+ * Refills the input buffer.
+ *
+ * @return false, iff there was new input.
+ *
+ * @exception java.io.IOException if any I/O-Error occurs
+ */
+ private boolean zzRefill() throws java.io.IOException {
-
- /**
- * Closes the input stream.
- */
- public final void yyclose() throws java.io.IOException {
- zzAtEOF = true; /* indicate end of file */
- zzEndRead = zzStartRead; /* invalidate buffer */
+ /* first: make room (if you can) */
+ if (zzStartRead > 0) {
+ zzEndRead += zzFinalHighSurrogate;
+ zzFinalHighSurrogate = 0;
+ System.arraycopy(zzBuffer, zzStartRead,
+ zzBuffer, 0,
+ zzEndRead - zzStartRead);
- 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
- * cannot be reused (internal buffer is discarded and lost).
- * Lexical state is set to ZZ_INITIAL.
- *
- * Internal scan buffer is resized down to its initial length, if it has grown.
- *
- * @param reader the new input stream
- */
- public final void yyreset(java.io.Reader reader) {
- zzReader = reader;
- zzAtBOL = true;
- zzAtEOF = false;
- zzEOFDone = false;
- zzEndRead = zzStartRead = 0;
- zzCurrentPos = zzMarkedPos = 0;
- zzFinalHighSurrogate = 0;
- yyline = yychar = yycolumn = 0;
- zzLexicalState = YYINITIAL;
- if (zzBuffer.length > ZZ_BUFFERSIZE)
- zzBuffer = new char[ZZ_BUFFERSIZE];
- }
-
-
- /**
- * 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 pos 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 ParsedSymbol yylex() throws java.io.IOException, MethodInfoParseException {
- 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;
-
- while (true) {
- zzMarkedPosL = zzMarkedPos;
-
- yychar+= zzMarkedPosL-zzStartRead;
-
- boolean zzR = false;
- int zzCh;
- int zzCharCount;
- for (zzCurrentPosL = zzStartRead ;
- zzCurrentPosL < zzMarkedPosL ;
- zzCurrentPosL += zzCharCount ) {
- zzCh = Character.codePointAt(zzBufferL, zzCurrentPosL, zzMarkedPosL);
- zzCharCount = Character.charCount(zzCh);
- switch (zzCh) {
- 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 += zzCharCount;
+ /* translate stored positions */
+ zzEndRead -= zzStartRead;
+ zzCurrentPos -= zzStartRead;
+ zzMarkedPos -= zzStartRead;
+ zzStartRead = 0;
}
- }
- 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';
+ /* is the buffer big enough? */
+ if (zzCurrentPos >= zzBuffer.length - zzFinalHighSurrogate) {
+ /* if not: blow it up */
+ char newBuffer[] = new char[zzBuffer.length * 2];
+ System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
+ zzBuffer = newBuffer;
+ zzEndRead += zzFinalHighSurrogate;
+ zzFinalHighSurrogate = 0;
}
- if (zzPeek) yyline--;
- }
- zzAction = -1;
- zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
-
- zzState = ZZ_LEXSTATE[zzLexicalState];
+ /* fill the buffer with new input */
+ int requested = zzBuffer.length - zzEndRead;
+ int totalRead = 0;
+ while (totalRead < requested) {
+ int numRead = zzReader.read(zzBuffer, zzEndRead + totalRead, requested - totalRead);
+ if (numRead == -1) {
+ break;
+ }
+ totalRead += numRead;
+ }
- // set up zzAction for empty match case:
- int zzAttributes = zzAttrL[zzState];
- if ( (zzAttributes & 1) == 1 ) {
- zzAction = zzState;
- }
+ if (totalRead > 0) {
+ zzEndRead += totalRead;
+ if (totalRead == requested) { /* possibly more input available */
+ if (Character.isHighSurrogate(zzBuffer[zzEndRead - 1])) {
+ --zzEndRead;
+ zzFinalHighSurrogate = 1;
+ }
+ }
+ return false;
+ }
+
+ // totalRead = 0: End of stream
+ return true;
+ }
+
+ /**
+ * Closes the input stream.
+ *
+ * @throws java.io.IOException
+ */
+ 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
+ * cannot be reused (internal buffer is discarded and lost). Lexical
+ * state is set to ZZ_INITIAL.
+ *
+ * Internal scan buffer is resized down to its initial length, if it has
+ * grown.
+ *
+ * @param reader the new input stream
+ */
+ public final void yyreset(java.io.Reader reader) {
+ zzReader = reader;
+ zzAtBOL = true;
+ zzAtEOF = false;
+ zzEOFDone = false;
+ zzEndRead = zzStartRead = 0;
+ zzCurrentPos = zzMarkedPos = 0;
+ zzFinalHighSurrogate = 0;
+ yyline = yychar = yycolumn = 0;
+ zzLexicalState = YYINITIAL;
+ if (zzBuffer.length > ZZ_BUFFERSIZE) {
+ zzBuffer = new char[ZZ_BUFFERSIZE];
+ }
+ }
+
+ /**
+ * Returns the current lexical state.
+ *
+ * @return
+ */
+ 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.
+ *
+ * @return
+ */
+ public final String yytext() {
+ return new String(zzBuffer, zzStartRead, zzMarkedPos - zzStartRead);
+ }
+
+ /**
+ * Returns the character at position pos 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.
+ *
+ * @return
+ */
+ 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
+ * @throws
+ * com.jpexs.decompiler.flash.abc.methodinfo_parser.MethodInfoParseException
+ */
+ public ParsedSymbol yylex() throws java.io.IOException, MethodInfoParseException {
+ 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;
- zzForAction: {
while (true) {
-
- if (zzCurrentPosL < zzEndReadL) {
- zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
- zzCurrentPosL += Character.charCount(zzInput);
- }
- else if (zzAtEOF) {
- zzInput = YYEOF;
- break zzForAction;
- }
- else {
- // store back cached positions
- zzCurrentPos = zzCurrentPosL;
- zzMarkedPos = zzMarkedPosL;
- boolean eof = zzRefill();
- // get translated positions and possibly new buffer
- zzCurrentPosL = zzCurrentPos;
- zzMarkedPosL = zzMarkedPos;
- zzBufferL = zzBuffer;
- zzEndReadL = zzEndRead;
- if (eof) {
- zzInput = YYEOF;
- break zzForAction;
- }
- else {
- zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
- zzCurrentPosL += Character.charCount(zzInput);
- }
- }
- int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
- if (zzNext == -1) break zzForAction;
- zzState = zzNext;
+ zzMarkedPosL = zzMarkedPos;
- zzAttributes = zzAttrL[zzState];
- if ( (zzAttributes & 1) == 1 ) {
- zzAction = zzState;
- zzMarkedPosL = zzCurrentPosL;
- if ( (zzAttributes & 8) == 8 ) break zzForAction;
- }
+ yychar += zzMarkedPosL - zzStartRead;
+ boolean zzR = false;
+ int zzCh;
+ int zzCharCount;
+ for (zzCurrentPosL = zzStartRead;
+ zzCurrentPosL < zzMarkedPosL;
+ zzCurrentPosL += zzCharCount) {
+ zzCh = Character.codePointAt(zzBufferL, zzCurrentPosL, zzMarkedPosL);
+ zzCharCount = Character.charCount(zzCh);
+ switch (zzCh) {
+ 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 += zzCharCount;
+ }
+ }
+
+ 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 = ZZ_LEXSTATE[zzLexicalState];
+
+ // set up zzAction for empty match case:
+ int zzAttributes = zzAttrL[zzState];
+ if ((zzAttributes & 1) == 1) {
+ zzAction = zzState;
+ }
+
+ zzForAction:
+ {
+ while (true) {
+
+ if (zzCurrentPosL < zzEndReadL) {
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
+ zzCurrentPosL += Character.charCount(zzInput);
+ } else if (zzAtEOF) {
+ zzInput = YYEOF;
+ break zzForAction;
+ } else {
+ // store back cached positions
+ zzCurrentPos = zzCurrentPosL;
+ zzMarkedPos = zzMarkedPosL;
+ boolean eof = zzRefill();
+ // get translated positions and possibly new buffer
+ zzCurrentPosL = zzCurrentPos;
+ zzMarkedPosL = zzMarkedPos;
+ zzBufferL = zzBuffer;
+ zzEndReadL = zzEndRead;
+ if (eof) {
+ zzInput = YYEOF;
+ break zzForAction;
+ } else {
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
+ zzCurrentPosL += Character.charCount(zzInput);
+ }
+ }
+ int zzNext = zzTransL[zzRowMapL[zzState] + zzCMapL[zzInput]];
+ if (zzNext == -1) {
+ break zzForAction;
+ }
+ zzState = zzNext;
+
+ zzAttributes = zzAttrL[zzState];
+ if ((zzAttributes & 1) == 1) {
+ zzAction = zzState;
+ zzMarkedPosL = zzCurrentPosL;
+ if ((zzAttributes & 8) == 8) {
+ break zzForAction;
+ }
+ }
+
+ }
+ }
+
+ // store back cached position
+ zzMarkedPos = zzMarkedPosL;
+
+ switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
+ case 1: {
+ }
+ case 36:
+ break;
+ case 2: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_IDENTIFIER, yytext());
+ }
+ case 37:
+ break;
+ case 3: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_INTEGER, Long.parseLong((yytext())));
+ }
+ case 38:
+ break;
+ case 4: {
+ isMultiname = false;
+ yybegin(STRING);
+ string.setLength(0);
+ }
+ case 39:
+ break;
+ case 5: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_COLON);
+ }
+ case 40:
+ break;
+ case 6: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_COMMA);
+ }
+ case 41:
+ break;
+ case 7: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_STAR);
+ }
+ case 42:
+ break;
+ case 8: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_ASSIGN);
+ }
+ case 43:
+ break;
+ case 9: {
+ string.append(yytext());
+ }
+ case 44:
+ break;
+ case 10: {
+ throw new MethodInfoParseException("Unterminated string at end of line", yyline + 1);
+ }
+ case 45:
+ break;
+ case 11: {
+ yybegin(YYINITIAL);
+ // length also includes the trailing quote
+ if (isMultiname) {
+ return new ParsedSymbol(ParsedSymbol.TYPE_MULTINAME, multinameId);
+ } else {
+ return new ParsedSymbol(ParsedSymbol.TYPE_STRING, string.toString());
+ }
+ }
+ case 46:
+ break;
+ case 12: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_FLOAT, Double.parseDouble((yytext())));
+ }
+ case 47:
+ break;
+ case 13: {
+ throw new MethodInfoParseException("Illegal escape sequence \"" + yytext() + "\"", yyline + 1);
+ }
+ case 48:
+ break;
+ case 14: {
+ string.append('\n');
+ }
+ case 49:
+ break;
+ case 15: {
+ string.append('\t');
+ }
+ case 50:
+ break;
+ case 16: {
+ string.append('\b');
+ }
+ case 51:
+ break;
+ case 17: {
+ string.append('\r');
+ }
+ case 52:
+ break;
+ case 18: {
+ string.append('\\');
+ }
+ case 53:
+ break;
+ case 19: {
+ string.append('\"');
+ }
+ case 54:
+ break;
+ case 20: {
+ string.append('\f');
+ }
+ case 55:
+ break;
+ case 21: {
+ string.append('\'');
+ }
+ case 56:
+ break;
+ case 22: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_DOTS);
+ }
+ case 57:
+ break;
+ case 23: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_NULL);
+ }
+ case 58:
+ break;
+ case 24: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_TRUE);
+ }
+ case 59:
+ break;
+ case 25: {
+ char val = (char) Integer.parseInt(yytext().substring(2), 16);
+ string.append(val);
+ }
+ case 60:
+ break;
+ case 26: {
+ isMultiname = true;
+ String s = yytext();
+ multinameId = Long.parseLong(s.substring(2, s.length() - 2));
+ yybegin(STRING);
+ string.setLength(0);
+ }
+ case 61:
+ break;
+ case 27: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_FALSE);
+ }
+ case 62:
+ break;
+ case 28: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_STATIC);
+ }
+ case 63:
+ break;
+ case 29: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_PRIVATE);
+ }
+ case 64:
+ break;
+ case 30: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_PACKAGE);
+ }
+ case 65:
+ break;
+ case 31: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_INTERNAL);
+ }
+ case 66:
+ break;
+ case 32: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_EXPLICIT);
+ }
+ case 67:
+ break;
+ case 33: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_UNDEFINED);
+ }
+ case 68:
+ break;
+ case 34: {
+ return new ParsedSymbol(ParsedSymbol.TYPE_PROTECTED);
+ }
+ case 69:
+ break;
+ case 35: {
+ String s = yytext();
+ long ns = Long.parseLong(s.substring(3, s.length() - 2));
+ return new ParsedSymbol(ParsedSymbol.TYPE_NAMESPACE, ns);
+ }
+ case 70:
+ break;
+ default:
+ if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
+ zzAtEOF = true;
+ {
+ return new ParsedSymbol(ParsedSymbol.TYPE_EOF);
+ }
+ } else {
+ zzScanError(ZZ_NO_MATCH);
+ }
+ }
}
- }
-
- // store back cached position
- zzMarkedPos = zzMarkedPosL;
-
- switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
- case 1:
- {
- }
- case 36: break;
- case 2:
- { return new ParsedSymbol(ParsedSymbol.TYPE_IDENTIFIER, yytext());
- }
- case 37: break;
- case 3:
- { return new ParsedSymbol(ParsedSymbol.TYPE_INTEGER, Long.parseLong((yytext())));
- }
- case 38: break;
- case 4:
- { isMultiname = false;
- yybegin(STRING);
- string.setLength(0);
- }
- case 39: break;
- case 5:
- { return new ParsedSymbol(ParsedSymbol.TYPE_COLON);
- }
- case 40: break;
- case 6:
- { return new ParsedSymbol(ParsedSymbol.TYPE_COMMA);
- }
- case 41: break;
- case 7:
- { return new ParsedSymbol(ParsedSymbol.TYPE_STAR);
- }
- case 42: break;
- case 8:
- { return new ParsedSymbol(ParsedSymbol.TYPE_ASSIGN);
- }
- case 43: break;
- case 9:
- { string.append(yytext());
- }
- case 44: break;
- case 10:
- { throw new MethodInfoParseException("Unterminated string at end of line", yyline + 1);
- }
- case 45: break;
- case 11:
- { yybegin(YYINITIAL);
- // length also includes the trailing quote
- if (isMultiname){
- return new ParsedSymbol(ParsedSymbol.TYPE_MULTINAME, multinameId);
- } else {
- return new ParsedSymbol(ParsedSymbol.TYPE_STRING, string.toString());
- }
- }
- case 46: break;
- case 12:
- { return new ParsedSymbol(ParsedSymbol.TYPE_FLOAT, Double.parseDouble((yytext())));
- }
- case 47: break;
- case 13:
- { throw new MethodInfoParseException("Illegal escape sequence \"" + yytext() + "\"", yyline + 1);
- }
- case 48: break;
- case 14:
- { string.append('\n');
- }
- case 49: break;
- case 15:
- { string.append('\t');
- }
- case 50: break;
- case 16:
- { string.append('\b');
- }
- case 51: break;
- case 17:
- { string.append('\r');
- }
- case 52: break;
- case 18:
- { string.append('\\');
- }
- case 53: break;
- case 19:
- { string.append('\"');
- }
- case 54: break;
- case 20:
- { string.append('\f');
- }
- case 55: break;
- case 21:
- { string.append('\'');
- }
- case 56: break;
- case 22:
- { return new ParsedSymbol(ParsedSymbol.TYPE_DOTS);
- }
- case 57: break;
- case 23:
- { return new ParsedSymbol(ParsedSymbol.TYPE_NULL);
- }
- case 58: break;
- case 24:
- { return new ParsedSymbol(ParsedSymbol.TYPE_TRUE);
- }
- case 59: break;
- case 25:
- { char val = (char) Integer.parseInt(yytext().substring(2), 16);
- string.append(val);
- }
- case 60: break;
- case 26:
- { isMultiname = true;
- String s = yytext();
- multinameId = Long.parseLong(s.substring(2, s.length() - 2));
- yybegin(STRING);
- string.setLength(0);
- }
- case 61: break;
- case 27:
- { return new ParsedSymbol(ParsedSymbol.TYPE_FALSE);
- }
- case 62: break;
- case 28:
- { return new ParsedSymbol(ParsedSymbol.TYPE_STATIC);
- }
- case 63: break;
- case 29:
- { return new ParsedSymbol(ParsedSymbol.TYPE_PRIVATE);
- }
- case 64: break;
- case 30:
- { return new ParsedSymbol(ParsedSymbol.TYPE_PACKAGE);
- }
- case 65: break;
- case 31:
- { return new ParsedSymbol(ParsedSymbol.TYPE_INTERNAL);
- }
- case 66: break;
- case 32:
- { return new ParsedSymbol(ParsedSymbol.TYPE_EXPLICIT);
- }
- case 67: break;
- case 33:
- { return new ParsedSymbol(ParsedSymbol.TYPE_UNDEFINED);
- }
- case 68: break;
- case 34:
- { return new ParsedSymbol(ParsedSymbol.TYPE_PROTECTED);
- }
- case 69: break;
- case 35:
- { String s = yytext();
- long ns = Long.parseLong(s.substring(3, s.length() - 2));
- return new ParsedSymbol(ParsedSymbol.TYPE_NAMESPACE, ns);
- }
- case 70: break;
- default:
- if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
- zzAtEOF = true;
- {
- return new ParsedSymbol(ParsedSymbol.TYPE_EOF);
- }
- }
- else {
- zzScanError(ZZ_NO_MATCH);
- }
- }
}
- }
-
}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/pcode/FlasmLexer.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/pcode/FlasmLexer.java
index d3a673faa..98fe3c818 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/pcode/FlasmLexer.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/pcode/FlasmLexer.java
@@ -25,542 +25,582 @@ import com.jpexs.decompiler.flash.action.swf4.RegisterNumber;
import com.jpexs.decompiler.flash.ecma.Null;
import com.jpexs.decompiler.flash.ecma.Undefined;
-
/**
- * This class is a scanner generated by
- * JFlex 1.6.0
- * from the specification file D:/Dropbox/Programovani/JavaSE/FFDec/libsrc/ffdec_lib/lexers/pcode.flex
+ * This class is a scanner generated by
+ * JFlex 1.6.0 from the specification file
+ * D:/Dropbox/Programovani/JavaSE/FFDec/libsrc/ffdec_lib/lexers/pcode.flex
*/
public final class FlasmLexer {
- /** This character denotes the end of file */
- public static final int YYEOF = -1;
+ /**
+ * 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;
+ /**
+ * initial size of the lookahead buffer
+ */
+ private static final int ZZ_BUFFERSIZE = 16384;
- /** lexical states */
- public static final int YYINITIAL = 0;
- public static final int STRING = 2;
- public static final int PARAMETERS = 4;
+ /**
+ * lexical states
+ */
+ public static final int YYINITIAL = 0;
+ public static final int STRING = 2;
+ public static final int PARAMETERS = 4;
- /**
- * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
- * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l
- * at the beginning of a line
- * l is of the form l = 2*k, k a non negative integer
- */
- private static final int ZZ_LEXSTATE[] = {
- 0, 0, 1, 1, 2, 2
- };
+ /**
+ * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
+ * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l at the
+ * beginning of a line l is of the form l = 2*k, k a non negative integer
+ */
+ private static final int ZZ_LEXSTATE[] = {
+ 0, 0, 1, 1, 2, 2
+ };
- /**
- * Translates characters to character classes
- */
- private static final String ZZ_CMAP_PACKED =
- "\11\6\1\4\1\2\1\51\1\52\1\1\16\6\4\0\1\4\1\0"+
- "\1\45\1\0\1\5\2\0\1\47\3\0\1\37\1\0\1\30\1\35"+
- "\1\0\1\33\11\11\1\12\1\3\5\0\4\40\1\36\1\40\2\7"+
- "\1\31\4\7\1\34\14\7\1\0\1\41\2\0\1\10\1\0\1\22"+
- "\1\46\1\43\1\26\1\20\1\21\1\42\1\7\1\27\2\7\1\23"+
- "\1\7\1\25\1\44\2\7\1\16\1\24\1\15\1\17\2\7\1\50"+
- "\1\32\1\7\1\13\1\0\1\14\1\0\6\6\1\53\32\6\2\0"+
- "\4\5\4\0\1\5\2\0\1\6\7\0\1\5\4\0\1\5\5\0"+
- "\27\5\1\0\37\5\1\0\u01ca\5\4\0\14\5\16\0\5\5\7\0"+
- "\1\5\1\0\1\5\21\0\160\6\5\5\1\0\2\5\2\0\4\5"+
- "\10\0\1\5\1\0\3\5\1\0\1\5\1\0\24\5\1\0\123\5"+
- "\1\0\213\5\1\0\5\6\2\0\236\5\11\0\46\5\2\0\1\5"+
- "\7\0\47\5\7\0\1\5\1\0\55\6\1\0\1\6\1\0\2\6"+
- "\1\0\2\6\1\0\1\6\10\0\33\5\5\0\3\5\15\0\5\6"+
- "\6\0\1\5\4\0\13\6\5\0\53\5\37\6\4\0\2\5\1\6"+
- "\143\5\1\0\1\5\10\6\1\0\6\6\2\5\2\6\1\0\4\6"+
- "\2\5\12\6\3\5\2\0\1\5\17\0\1\6\1\5\1\6\36\5"+
- "\33\6\2\0\131\5\13\6\1\5\16\0\12\6\41\5\11\6\2\5"+
- "\4\0\1\5\5\0\26\5\4\6\1\5\11\6\1\5\3\6\1\5"+
- "\5\6\22\0\31\5\3\6\104\0\1\5\1\0\13\5\67\0\33\6"+
- "\1\0\4\6\66\5\3\6\1\5\22\6\1\5\7\6\12\5\2\6"+
- "\2\0\12\6\1\0\7\5\1\0\7\5\1\0\3\6\1\0\10\5"+
- "\2\0\2\5\2\0\26\5\1\0\7\5\1\0\1\5\3\0\4\5"+
- "\2\0\1\6\1\5\7\6\2\0\2\6\2\0\3\6\1\5\10\0"+
- "\1\6\4\0\2\5\1\0\3\5\2\6\2\0\12\6\4\5\7\0"+
- "\1\5\5\0\3\6\1\0\6\5\4\0\2\5\2\0\26\5\1\0"+
- "\7\5\1\0\2\5\1\0\2\5\1\0\2\5\2\0\1\6\1\0"+
- "\5\6\4\0\2\6\2\0\3\6\3\0\1\6\7\0\4\5\1\0"+
- "\1\5\7\0\14\6\3\5\1\6\13\0\3\6\1\0\11\5\1\0"+
- "\3\5\1\0\26\5\1\0\7\5\1\0\2\5\1\0\5\5\2\0"+
- "\1\6\1\5\10\6\1\0\3\6\1\0\3\6\2\0\1\5\17\0"+
- "\2\5\2\6\2\0\12\6\1\0\1\5\17\0\3\6\1\0\10\5"+
- "\2\0\2\5\2\0\26\5\1\0\7\5\1\0\2\5\1\0\5\5"+
- "\2\0\1\6\1\5\7\6\2\0\2\6\2\0\3\6\10\0\2\6"+
- "\4\0\2\5\1\0\3\5\2\6\2\0\12\6\1\0\1\5\20\0"+
- "\1\6\1\5\1\0\6\5\3\0\3\5\1\0\4\5\3\0\2\5"+
- "\1\0\1\5\1\0\2\5\3\0\2\5\3\0\3\5\3\0\14\5"+
- "\4\0\5\6\3\0\3\6\1\0\4\6\2\0\1\5\6\0\1\6"+
- "\16\0\12\6\11\0\1\5\7\0\3\6\1\0\10\5\1\0\3\5"+
- "\1\0\27\5\1\0\12\5\1\0\5\5\3\0\1\5\7\6\1\0"+
- "\3\6\1\0\4\6\7\0\2\6\1\0\2\5\6\0\2\5\2\6"+
- "\2\0\12\6\22\0\2\6\1\0\10\5\1\0\3\5\1\0\27\5"+
- "\1\0\12\5\1\0\5\5\2\0\1\6\1\5\7\6\1\0\3\6"+
- "\1\0\4\6\7\0\2\6\7\0\1\5\1\0\2\5\2\6\2\0"+
- "\12\6\1\0\2\5\17\0\2\6\1\0\10\5\1\0\3\5\1\0"+
- "\51\5\2\0\1\5\7\6\1\0\3\6\1\0\4\6\1\5\10\0"+
- "\1\6\10\0\2\5\2\6\2\0\12\6\12\0\6\5\2\0\2\6"+
- "\1\0\22\5\3\0\30\5\1\0\11\5\1\0\1\5\2\0\7\5"+
- "\3\0\1\6\4\0\6\6\1\0\1\6\1\0\10\6\22\0\2\6"+
- "\15\0\60\5\1\6\2\5\7\6\4\0\10\5\10\6\1\0\12\6"+
- "\47\0\2\5\1\0\1\5\2\0\2\5\1\0\1\5\2\0\1\5"+
- "\6\0\4\5\1\0\7\5\1\0\3\5\1\0\1\5\1\0\1\5"+
- "\2\0\2\5\1\0\4\5\1\6\2\5\6\6\1\0\2\6\1\5"+
- "\2\0\5\5\1\0\1\5\1\0\6\6\2\0\12\6\2\0\4\5"+
- "\40\0\1\5\27\0\2\6\6\0\12\6\13\0\1\6\1\0\1\6"+
- "\1\0\1\6\4\0\2\6\10\5\1\0\44\5\4\0\24\6\1\0"+
- "\2\6\5\5\13\6\1\0\44\6\11\0\1\6\71\0\53\5\24\6"+
- "\1\5\12\6\6\0\6\5\4\6\4\5\3\6\1\5\3\6\2\5"+
- "\7\6\3\5\4\6\15\5\14\6\1\5\17\6\2\0\46\5\1\0"+
- "\1\5\5\0\1\5\2\0\53\5\1\0\u014d\5\1\0\4\5\2\0"+
- "\7\5\1\0\1\5\1\0\4\5\2\0\51\5\1\0\4\5\2\0"+
- "\41\5\1\0\4\5\2\0\7\5\1\0\1\5\1\0\4\5\2\0"+
- "\17\5\1\0\71\5\1\0\4\5\2\0\103\5\2\0\3\6\40\0"+
- "\20\5\20\0\125\5\14\0\u026c\5\2\0\21\5\1\0\32\5\5\0"+
- "\113\5\3\0\3\5\17\0\15\5\1\0\4\5\3\6\13\0\22\5"+
- "\3\6\13\0\22\5\2\6\14\0\15\5\1\0\3\5\1\0\2\6"+
- "\14\0\64\5\40\6\3\0\1\5\3\0\2\5\1\6\2\0\12\6"+
- "\41\0\3\6\2\0\12\6\6\0\130\5\10\0\51\5\1\6\1\5"+
- "\5\0\106\5\12\0\35\5\3\0\14\6\4\0\14\6\12\0\12\6"+
- "\36\5\2\0\5\5\13\0\54\5\4\0\21\6\7\5\2\6\6\0"+
- "\12\6\46\0\27\5\5\6\4\0\65\5\12\6\1\0\35\6\2\0"+
- "\13\6\6\0\12\6\15\0\1\5\130\0\5\6\57\5\21\6\7\5"+
- "\4\0\12\6\21\0\11\6\14\0\3\6\36\5\15\6\2\5\12\6"+
- "\54\5\16\6\14\0\44\5\24\6\10\0\12\6\3\0\3\5\12\6"+
- "\44\5\122\0\3\6\1\0\25\6\4\5\1\6\4\5\3\6\2\5"+
- "\11\0\300\5\47\6\25\0\4\6\u0116\5\2\0\6\5\2\0\46\5"+
- "\2\0\6\5\2\0\10\5\1\0\1\5\1\0\1\5\1\0\1\5"+
- "\1\0\37\5\2\0\65\5\1\0\7\5\1\0\1\5\3\0\3\5"+
- "\1\0\7\5\3\0\4\5\2\0\6\5\4\0\15\5\5\0\3\5"+
- "\1\0\7\5\16\0\5\6\30\0\1\51\1\51\5\6\20\0\2\5"+
- "\23\0\1\5\13\0\5\6\5\0\6\6\1\0\1\5\15\0\1\5"+
- "\20\0\15\5\3\0\33\5\25\0\15\6\4\0\1\6\3\0\14\6"+
- "\21\0\1\5\4\0\1\5\2\0\12\5\1\0\1\5\3\0\5\5"+
- "\6\0\1\5\1\0\1\5\1\0\1\5\1\0\4\5\1\0\13\5"+
- "\2\0\4\5\5\0\5\5\4\0\1\5\21\0\51\5\u0a77\0\57\5"+
- "\1\0\57\5\1\0\205\5\6\0\4\5\3\6\2\5\14\0\46\5"+
- "\1\0\1\5\5\0\1\5\2\0\70\5\7\0\1\5\17\0\1\6"+
- "\27\5\11\0\7\5\1\0\7\5\1\0\7\5\1\0\7\5\1\0"+
- "\7\5\1\0\7\5\1\0\7\5\1\0\7\5\1\0\40\6\57\0"+
- "\1\5\u01d5\0\3\5\31\0\11\5\6\6\1\0\5\5\2\0\5\5"+
- "\4\0\126\5\2\0\2\6\2\0\3\5\1\0\132\5\1\0\4\5"+
- "\5\0\51\5\3\0\136\5\21\0\33\5\65\0\20\5\u0200\0\u19b6\5"+
- "\112\0\u51cd\5\63\0\u048d\5\103\0\56\5\2\0\u010d\5\3\0\20\5"+
- "\12\6\2\5\24\0\57\5\1\6\4\0\12\6\1\0\31\5\7\0"+
- "\1\6\120\5\2\6\45\0\11\5\2\0\147\5\2\0\4\5\1\0"+
- "\4\5\14\0\13\5\115\0\12\5\1\6\3\5\1\6\4\5\1\6"+
- "\27\5\5\6\20\0\1\5\7\0\64\5\14\0\2\6\62\5\21\6"+
- "\13\0\12\6\6\0\22\6\6\5\3\0\1\5\4\0\12\6\34\5"+
- "\10\6\2\0\27\5\15\6\14\0\35\5\3\0\4\6\57\5\16\6"+
- "\16\0\1\5\12\6\46\0\51\5\16\6\11\0\3\5\1\6\10\5"+
- "\2\6\2\0\12\6\6\0\27\5\3\0\1\5\1\6\4\0\60\5"+
- "\1\6\1\5\3\6\2\5\2\6\5\5\2\6\1\5\1\6\1\5"+
- "\30\0\3\5\2\0\13\5\5\6\2\0\3\5\2\6\12\0\6\5"+
- "\2\0\6\5\2\0\6\5\11\0\7\5\1\0\7\5\221\0\43\5"+
- "\10\6\1\0\2\6\2\0\12\6\6\0\u2ba4\5\14\0\27\5\4\0"+
- "\61\5\u2104\0\u016e\5\2\0\152\5\46\0\7\5\14\0\5\5\5\0"+
- "\1\5\1\6\12\5\1\0\15\5\1\0\5\5\1\0\1\5\1\0"+
- "\2\5\1\0\2\5\1\0\154\5\41\0\u016b\5\22\0\100\5\2\0"+
- "\66\5\50\0\15\5\3\0\20\6\20\0\7\6\14\0\2\5\30\0"+
- "\3\5\31\0\1\5\6\0\5\5\1\0\207\5\2\0\1\6\4\0"+
- "\1\5\13\0\12\6\7\0\32\5\4\0\1\5\1\0\32\5\13\0"+
- "\131\5\3\0\6\5\2\0\6\5\2\0\6\5\2\0\3\5\3\0"+
- "\2\5\3\0\2\5\22\0\3\6\4\0\14\5\1\0\32\5\1\0"+
- "\23\5\1\0\2\5\1\0\17\5\2\0\16\5\42\0\173\5\105\0"+
- "\65\5\210\0\1\6\202\0\35\5\3\0\61\5\57\0\37\5\21\0"+
- "\33\5\65\0\36\5\2\0\44\5\4\0\10\5\1\0\5\5\52\0"+
- "\236\5\2\0\12\6\u0356\0\6\5\2\0\1\5\1\0\54\5\1\0"+
- "\2\5\3\0\1\5\2\0\27\5\252\0\26\5\12\0\32\5\106\0"+
- "\70\5\6\0\2\5\100\0\1\5\3\6\1\0\2\6\5\0\4\6"+
- "\4\5\1\0\3\5\1\0\33\5\4\0\3\6\4\0\1\6\40\0"+
- "\35\5\203\0\66\5\12\0\26\5\12\0\23\5\215\0\111\5\u03b7\0"+
- "\3\6\65\5\17\6\37\0\12\6\20\0\3\6\55\5\13\6\2\0"+
- "\1\6\22\0\31\5\7\0\12\6\6\0\3\6\44\5\16\6\1\0"+
- "\12\6\100\0\3\6\60\5\16\6\4\5\13\0\12\6\u04a6\0\53\5"+
- "\15\6\10\0\12\6\u0936\0\u036f\5\221\0\143\5\u0b9d\0\u042f\5\u33d1\0"+
- "\u0239\5\u04c7\0\105\5\13\0\1\5\56\6\20\0\4\6\15\5\u4060\0"+
- "\2\5\u2163\0\5\6\3\0\26\6\2\0\7\6\36\0\4\6\224\0"+
- "\3\6\u01bb\0\125\5\1\0\107\5\1\0\2\5\2\0\1\5\2\0"+
- "\2\5\2\0\4\5\1\0\14\5\1\0\1\5\1\0\7\5\1\0"+
- "\101\5\1\0\4\5\2\0\10\5\1\0\7\5\1\0\34\5\1\0"+
- "\4\5\1\0\5\5\1\0\1\5\3\0\7\5\1\0\u0154\5\2\0"+
- "\31\5\1\0\31\5\1\0\37\5\1\0\31\5\1\0\37\5\1\0"+
- "\31\5\1\0\37\5\1\0\31\5\1\0\37\5\1\0\31\5\1\0"+
- "\10\5\2\0\62\6\u1600\0\4\5\1\0\33\5\1\0\2\5\1\0"+
- "\1\5\2\0\1\5\1\0\12\5\1\0\4\5\1\0\1\5\1\0"+
- "\1\5\6\0\1\5\4\0\1\5\1\0\1\5\1\0\1\5\1\0"+
- "\3\5\1\0\2\5\1\0\1\5\2\0\1\5\1\0\1\5\1\0"+
- "\1\5\1\0\1\5\1\0\1\5\1\0\2\5\1\0\1\5\2\0"+
- "\4\5\1\0\7\5\1\0\4\5\1\0\4\5\1\0\1\5\1\0"+
- "\12\5\1\0\21\5\5\0\3\5\1\0\5\5\1\0\21\5\u1144\0"+
- "\ua6d7\5\51\0\u1035\5\13\0\336\5\u3fe2\0\u021e\5\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\u05ee\0"+
- "\1\6\36\0\140\6\200\0\360\6\uffff\0\uffff\0\ufe12\0";
+ /**
+ * Translates characters to character classes
+ */
+ private static final String ZZ_CMAP_PACKED
+ = "\11\6\1\4\1\2\1\51\1\52\1\1\16\6\4\0\1\4\1\0"
+ + "\1\45\1\0\1\5\2\0\1\47\3\0\1\37\1\0\1\30\1\35"
+ + "\1\0\1\33\11\11\1\12\1\3\5\0\4\40\1\36\1\40\2\7"
+ + "\1\31\4\7\1\34\14\7\1\0\1\41\2\0\1\10\1\0\1\22"
+ + "\1\46\1\43\1\26\1\20\1\21\1\42\1\7\1\27\2\7\1\23"
+ + "\1\7\1\25\1\44\2\7\1\16\1\24\1\15\1\17\2\7\1\50"
+ + "\1\32\1\7\1\13\1\0\1\14\1\0\6\6\1\53\32\6\2\0"
+ + "\4\5\4\0\1\5\2\0\1\6\7\0\1\5\4\0\1\5\5\0"
+ + "\27\5\1\0\37\5\1\0\u01ca\5\4\0\14\5\16\0\5\5\7\0"
+ + "\1\5\1\0\1\5\21\0\160\6\5\5\1\0\2\5\2\0\4\5"
+ + "\10\0\1\5\1\0\3\5\1\0\1\5\1\0\24\5\1\0\123\5"
+ + "\1\0\213\5\1\0\5\6\2\0\236\5\11\0\46\5\2\0\1\5"
+ + "\7\0\47\5\7\0\1\5\1\0\55\6\1\0\1\6\1\0\2\6"
+ + "\1\0\2\6\1\0\1\6\10\0\33\5\5\0\3\5\15\0\5\6"
+ + "\6\0\1\5\4\0\13\6\5\0\53\5\37\6\4\0\2\5\1\6"
+ + "\143\5\1\0\1\5\10\6\1\0\6\6\2\5\2\6\1\0\4\6"
+ + "\2\5\12\6\3\5\2\0\1\5\17\0\1\6\1\5\1\6\36\5"
+ + "\33\6\2\0\131\5\13\6\1\5\16\0\12\6\41\5\11\6\2\5"
+ + "\4\0\1\5\5\0\26\5\4\6\1\5\11\6\1\5\3\6\1\5"
+ + "\5\6\22\0\31\5\3\6\104\0\1\5\1\0\13\5\67\0\33\6"
+ + "\1\0\4\6\66\5\3\6\1\5\22\6\1\5\7\6\12\5\2\6"
+ + "\2\0\12\6\1\0\7\5\1\0\7\5\1\0\3\6\1\0\10\5"
+ + "\2\0\2\5\2\0\26\5\1\0\7\5\1\0\1\5\3\0\4\5"
+ + "\2\0\1\6\1\5\7\6\2\0\2\6\2\0\3\6\1\5\10\0"
+ + "\1\6\4\0\2\5\1\0\3\5\2\6\2\0\12\6\4\5\7\0"
+ + "\1\5\5\0\3\6\1\0\6\5\4\0\2\5\2\0\26\5\1\0"
+ + "\7\5\1\0\2\5\1\0\2\5\1\0\2\5\2\0\1\6\1\0"
+ + "\5\6\4\0\2\6\2\0\3\6\3\0\1\6\7\0\4\5\1\0"
+ + "\1\5\7\0\14\6\3\5\1\6\13\0\3\6\1\0\11\5\1\0"
+ + "\3\5\1\0\26\5\1\0\7\5\1\0\2\5\1\0\5\5\2\0"
+ + "\1\6\1\5\10\6\1\0\3\6\1\0\3\6\2\0\1\5\17\0"
+ + "\2\5\2\6\2\0\12\6\1\0\1\5\17\0\3\6\1\0\10\5"
+ + "\2\0\2\5\2\0\26\5\1\0\7\5\1\0\2\5\1\0\5\5"
+ + "\2\0\1\6\1\5\7\6\2\0\2\6\2\0\3\6\10\0\2\6"
+ + "\4\0\2\5\1\0\3\5\2\6\2\0\12\6\1\0\1\5\20\0"
+ + "\1\6\1\5\1\0\6\5\3\0\3\5\1\0\4\5\3\0\2\5"
+ + "\1\0\1\5\1\0\2\5\3\0\2\5\3\0\3\5\3\0\14\5"
+ + "\4\0\5\6\3\0\3\6\1\0\4\6\2\0\1\5\6\0\1\6"
+ + "\16\0\12\6\11\0\1\5\7\0\3\6\1\0\10\5\1\0\3\5"
+ + "\1\0\27\5\1\0\12\5\1\0\5\5\3\0\1\5\7\6\1\0"
+ + "\3\6\1\0\4\6\7\0\2\6\1\0\2\5\6\0\2\5\2\6"
+ + "\2\0\12\6\22\0\2\6\1\0\10\5\1\0\3\5\1\0\27\5"
+ + "\1\0\12\5\1\0\5\5\2\0\1\6\1\5\7\6\1\0\3\6"
+ + "\1\0\4\6\7\0\2\6\7\0\1\5\1\0\2\5\2\6\2\0"
+ + "\12\6\1\0\2\5\17\0\2\6\1\0\10\5\1\0\3\5\1\0"
+ + "\51\5\2\0\1\5\7\6\1\0\3\6\1\0\4\6\1\5\10\0"
+ + "\1\6\10\0\2\5\2\6\2\0\12\6\12\0\6\5\2\0\2\6"
+ + "\1\0\22\5\3\0\30\5\1\0\11\5\1\0\1\5\2\0\7\5"
+ + "\3\0\1\6\4\0\6\6\1\0\1\6\1\0\10\6\22\0\2\6"
+ + "\15\0\60\5\1\6\2\5\7\6\4\0\10\5\10\6\1\0\12\6"
+ + "\47\0\2\5\1\0\1\5\2\0\2\5\1\0\1\5\2\0\1\5"
+ + "\6\0\4\5\1\0\7\5\1\0\3\5\1\0\1\5\1\0\1\5"
+ + "\2\0\2\5\1\0\4\5\1\6\2\5\6\6\1\0\2\6\1\5"
+ + "\2\0\5\5\1\0\1\5\1\0\6\6\2\0\12\6\2\0\4\5"
+ + "\40\0\1\5\27\0\2\6\6\0\12\6\13\0\1\6\1\0\1\6"
+ + "\1\0\1\6\4\0\2\6\10\5\1\0\44\5\4\0\24\6\1\0"
+ + "\2\6\5\5\13\6\1\0\44\6\11\0\1\6\71\0\53\5\24\6"
+ + "\1\5\12\6\6\0\6\5\4\6\4\5\3\6\1\5\3\6\2\5"
+ + "\7\6\3\5\4\6\15\5\14\6\1\5\17\6\2\0\46\5\1\0"
+ + "\1\5\5\0\1\5\2\0\53\5\1\0\u014d\5\1\0\4\5\2\0"
+ + "\7\5\1\0\1\5\1\0\4\5\2\0\51\5\1\0\4\5\2\0"
+ + "\41\5\1\0\4\5\2\0\7\5\1\0\1\5\1\0\4\5\2\0"
+ + "\17\5\1\0\71\5\1\0\4\5\2\0\103\5\2\0\3\6\40\0"
+ + "\20\5\20\0\125\5\14\0\u026c\5\2\0\21\5\1\0\32\5\5\0"
+ + "\113\5\3\0\3\5\17\0\15\5\1\0\4\5\3\6\13\0\22\5"
+ + "\3\6\13\0\22\5\2\6\14\0\15\5\1\0\3\5\1\0\2\6"
+ + "\14\0\64\5\40\6\3\0\1\5\3\0\2\5\1\6\2\0\12\6"
+ + "\41\0\3\6\2\0\12\6\6\0\130\5\10\0\51\5\1\6\1\5"
+ + "\5\0\106\5\12\0\35\5\3\0\14\6\4\0\14\6\12\0\12\6"
+ + "\36\5\2\0\5\5\13\0\54\5\4\0\21\6\7\5\2\6\6\0"
+ + "\12\6\46\0\27\5\5\6\4\0\65\5\12\6\1\0\35\6\2\0"
+ + "\13\6\6\0\12\6\15\0\1\5\130\0\5\6\57\5\21\6\7\5"
+ + "\4\0\12\6\21\0\11\6\14\0\3\6\36\5\15\6\2\5\12\6"
+ + "\54\5\16\6\14\0\44\5\24\6\10\0\12\6\3\0\3\5\12\6"
+ + "\44\5\122\0\3\6\1\0\25\6\4\5\1\6\4\5\3\6\2\5"
+ + "\11\0\300\5\47\6\25\0\4\6\u0116\5\2\0\6\5\2\0\46\5"
+ + "\2\0\6\5\2\0\10\5\1\0\1\5\1\0\1\5\1\0\1\5"
+ + "\1\0\37\5\2\0\65\5\1\0\7\5\1\0\1\5\3\0\3\5"
+ + "\1\0\7\5\3\0\4\5\2\0\6\5\4\0\15\5\5\0\3\5"
+ + "\1\0\7\5\16\0\5\6\30\0\1\51\1\51\5\6\20\0\2\5"
+ + "\23\0\1\5\13\0\5\6\5\0\6\6\1\0\1\5\15\0\1\5"
+ + "\20\0\15\5\3\0\33\5\25\0\15\6\4\0\1\6\3\0\14\6"
+ + "\21\0\1\5\4\0\1\5\2\0\12\5\1\0\1\5\3\0\5\5"
+ + "\6\0\1\5\1\0\1\5\1\0\1\5\1\0\4\5\1\0\13\5"
+ + "\2\0\4\5\5\0\5\5\4\0\1\5\21\0\51\5\u0a77\0\57\5"
+ + "\1\0\57\5\1\0\205\5\6\0\4\5\3\6\2\5\14\0\46\5"
+ + "\1\0\1\5\5\0\1\5\2\0\70\5\7\0\1\5\17\0\1\6"
+ + "\27\5\11\0\7\5\1\0\7\5\1\0\7\5\1\0\7\5\1\0"
+ + "\7\5\1\0\7\5\1\0\7\5\1\0\7\5\1\0\40\6\57\0"
+ + "\1\5\u01d5\0\3\5\31\0\11\5\6\6\1\0\5\5\2\0\5\5"
+ + "\4\0\126\5\2\0\2\6\2\0\3\5\1\0\132\5\1\0\4\5"
+ + "\5\0\51\5\3\0\136\5\21\0\33\5\65\0\20\5\u0200\0\u19b6\5"
+ + "\112\0\u51cd\5\63\0\u048d\5\103\0\56\5\2\0\u010d\5\3\0\20\5"
+ + "\12\6\2\5\24\0\57\5\1\6\4\0\12\6\1\0\31\5\7\0"
+ + "\1\6\120\5\2\6\45\0\11\5\2\0\147\5\2\0\4\5\1\0"
+ + "\4\5\14\0\13\5\115\0\12\5\1\6\3\5\1\6\4\5\1\6"
+ + "\27\5\5\6\20\0\1\5\7\0\64\5\14\0\2\6\62\5\21\6"
+ + "\13\0\12\6\6\0\22\6\6\5\3\0\1\5\4\0\12\6\34\5"
+ + "\10\6\2\0\27\5\15\6\14\0\35\5\3\0\4\6\57\5\16\6"
+ + "\16\0\1\5\12\6\46\0\51\5\16\6\11\0\3\5\1\6\10\5"
+ + "\2\6\2\0\12\6\6\0\27\5\3\0\1\5\1\6\4\0\60\5"
+ + "\1\6\1\5\3\6\2\5\2\6\5\5\2\6\1\5\1\6\1\5"
+ + "\30\0\3\5\2\0\13\5\5\6\2\0\3\5\2\6\12\0\6\5"
+ + "\2\0\6\5\2\0\6\5\11\0\7\5\1\0\7\5\221\0\43\5"
+ + "\10\6\1\0\2\6\2\0\12\6\6\0\u2ba4\5\14\0\27\5\4\0"
+ + "\61\5\u2104\0\u016e\5\2\0\152\5\46\0\7\5\14\0\5\5\5\0"
+ + "\1\5\1\6\12\5\1\0\15\5\1\0\5\5\1\0\1\5\1\0"
+ + "\2\5\1\0\2\5\1\0\154\5\41\0\u016b\5\22\0\100\5\2\0"
+ + "\66\5\50\0\15\5\3\0\20\6\20\0\7\6\14\0\2\5\30\0"
+ + "\3\5\31\0\1\5\6\0\5\5\1\0\207\5\2\0\1\6\4\0"
+ + "\1\5\13\0\12\6\7\0\32\5\4\0\1\5\1\0\32\5\13\0"
+ + "\131\5\3\0\6\5\2\0\6\5\2\0\6\5\2\0\3\5\3\0"
+ + "\2\5\3\0\2\5\22\0\3\6\4\0\14\5\1\0\32\5\1\0"
+ + "\23\5\1\0\2\5\1\0\17\5\2\0\16\5\42\0\173\5\105\0"
+ + "\65\5\210\0\1\6\202\0\35\5\3\0\61\5\57\0\37\5\21\0"
+ + "\33\5\65\0\36\5\2\0\44\5\4\0\10\5\1\0\5\5\52\0"
+ + "\236\5\2\0\12\6\u0356\0\6\5\2\0\1\5\1\0\54\5\1\0"
+ + "\2\5\3\0\1\5\2\0\27\5\252\0\26\5\12\0\32\5\106\0"
+ + "\70\5\6\0\2\5\100\0\1\5\3\6\1\0\2\6\5\0\4\6"
+ + "\4\5\1\0\3\5\1\0\33\5\4\0\3\6\4\0\1\6\40\0"
+ + "\35\5\203\0\66\5\12\0\26\5\12\0\23\5\215\0\111\5\u03b7\0"
+ + "\3\6\65\5\17\6\37\0\12\6\20\0\3\6\55\5\13\6\2\0"
+ + "\1\6\22\0\31\5\7\0\12\6\6\0\3\6\44\5\16\6\1\0"
+ + "\12\6\100\0\3\6\60\5\16\6\4\5\13\0\12\6\u04a6\0\53\5"
+ + "\15\6\10\0\12\6\u0936\0\u036f\5\221\0\143\5\u0b9d\0\u042f\5\u33d1\0"
+ + "\u0239\5\u04c7\0\105\5\13\0\1\5\56\6\20\0\4\6\15\5\u4060\0"
+ + "\2\5\u2163\0\5\6\3\0\26\6\2\0\7\6\36\0\4\6\224\0"
+ + "\3\6\u01bb\0\125\5\1\0\107\5\1\0\2\5\2\0\1\5\2\0"
+ + "\2\5\2\0\4\5\1\0\14\5\1\0\1\5\1\0\7\5\1\0"
+ + "\101\5\1\0\4\5\2\0\10\5\1\0\7\5\1\0\34\5\1\0"
+ + "\4\5\1\0\5\5\1\0\1\5\3\0\7\5\1\0\u0154\5\2\0"
+ + "\31\5\1\0\31\5\1\0\37\5\1\0\31\5\1\0\37\5\1\0"
+ + "\31\5\1\0\37\5\1\0\31\5\1\0\37\5\1\0\31\5\1\0"
+ + "\10\5\2\0\62\6\u1600\0\4\5\1\0\33\5\1\0\2\5\1\0"
+ + "\1\5\2\0\1\5\1\0\12\5\1\0\4\5\1\0\1\5\1\0"
+ + "\1\5\6\0\1\5\4\0\1\5\1\0\1\5\1\0\1\5\1\0"
+ + "\3\5\1\0\2\5\1\0\1\5\2\0\1\5\1\0\1\5\1\0"
+ + "\1\5\1\0\1\5\1\0\1\5\1\0\2\5\1\0\1\5\2\0"
+ + "\4\5\1\0\7\5\1\0\4\5\1\0\4\5\1\0\1\5\1\0"
+ + "\12\5\1\0\21\5\5\0\3\5\1\0\5\5\1\0\21\5\u1144\0"
+ + "\ua6d7\5\51\0\u1035\5\13\0\336\5\u3fe2\0\u021e\5\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\u05ee\0"
+ + "\1\6\36\0\140\6\200\0\360\6\uffff\0\uffff\0\ufe12\0";
- /**
- * Translates characters to character classes
- */
- private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
+ /**
+ * Translates characters to character classes
+ */
+ private static final char[] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
- /**
- * Translates DFA states to action switch labels.
- */
- private static final int [] ZZ_ACTION = zzUnpackAction();
+ /**
+ * Translates DFA states to action switch labels.
+ */
+ private static final int[] ZZ_ACTION = zzUnpackAction();
- private static final String ZZ_ACTION_PACKED_0 =
- "\3\0\3\1\1\2\1\3\1\4\2\5\1\1\1\6"+
- "\2\7\1\10\1\11\1\12\1\13\5\11\1\1\1\11"+
- "\1\12\1\11\1\1\1\11\1\14\1\0\1\15\1\16"+
- "\1\17\1\20\1\16\1\21\1\22\1\23\1\24\1\25"+
- "\1\26\1\16\1\0\1\27\5\11\1\12\1\0\1\12"+
- "\1\11\1\27\2\11\2\0\1\27\1\0\5\11\1\0"+
- "\1\11\1\27\1\11\1\0\1\30\1\31\3\11\1\32"+
- "\1\0\4\11\1\33\1\0\4\11\1\0\4\11\1\0"+
- "\4\11\1\0\1\11\2\34\1\35\1\27\2\36";
+ private static final String ZZ_ACTION_PACKED_0
+ = "\3\0\3\1\1\2\1\3\1\4\2\5\1\1\1\6"
+ + "\2\7\1\10\1\11\1\12\1\13\5\11\1\1\1\11"
+ + "\1\12\1\11\1\1\1\11\1\14\1\0\1\15\1\16"
+ + "\1\17\1\20\1\16\1\21\1\22\1\23\1\24\1\25"
+ + "\1\26\1\16\1\0\1\27\5\11\1\12\1\0\1\12"
+ + "\1\11\1\27\2\11\2\0\1\27\1\0\5\11\1\0"
+ + "\1\11\1\27\1\11\1\0\1\30\1\31\3\11\1\32"
+ + "\1\0\4\11\1\33\1\0\4\11\1\0\4\11\1\0"
+ + "\4\11\1\0\1\11\2\34\1\35\1\27\2\36";
- private static int [] zzUnpackAction() {
- int [] result = new int[107];
- 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);
+ private static int[] zzUnpackAction() {
+ int[] result = new int[107];
+ int offset = 0;
+ offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
+ return result;
}
- return j;
- }
+ private static int zzUnpackAction(String packed, int offset, int[] result) {
+ int i = 0; /* index in packed string */
- /**
- * Translates a state to a row index in the transition table
- */
- private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
+ int j = offset; /* index in unpacked array */
- private static final String ZZ_ROWMAP_PACKED_0 =
- "\0\0\0\54\0\130\0\204\0\260\0\334\0\u0108\0\204"+
- "\0\u0134\0\u0160\0\204\0\u018c\0\204\0\u01b8\0\204\0\u01e4"+
- "\0\u0210\0\u023c\0\204\0\u0268\0\u0294\0\u02c0\0\u02ec\0\u0318"+
- "\0\u0344\0\u0370\0\u039c\0\u03c8\0\u03f4\0\u0420\0\204\0\334"+
- "\0\204\0\204\0\204\0\204\0\u044c\0\204\0\204\0\204"+
- "\0\204\0\204\0\204\0\u0478\0\u04a4\0\u04d0\0\u04fc\0\u0528"+
- "\0\u0554\0\u0580\0\u05ac\0\u05d8\0\u0604\0\204\0\u0630\0\u039c"+
- "\0\u065c\0\u0688\0\u06b4\0\u06e0\0\u070c\0\u070c\0\u0738\0\u0764"+
- "\0\u0790\0\u07bc\0\u07e8\0\u0814\0\u0840\0\u0210\0\u086c\0\u0478"+
- "\0\204\0\u0210\0\u0898\0\u08c4\0\u08f0\0\u0210\0\u091c\0\u0948"+
- "\0\u0974\0\u09a0\0\u09cc\0\u0210\0\u09f8\0\u0a24\0\u0a50\0\u0a7c"+
- "\0\u0aa8\0\u0ad4\0\u0b00\0\u0b2c\0\u0b58\0\u0b84\0\u0bb0\0\u0bdc"+
- "\0\u0c08\0\u0c34\0\u0c60\0\u0c8c\0\u0cb8\0\u0ce4\0\u0210\0\u0210"+
- "\0\204\0\u0d10\0\u0210";
-
- private static int [] zzUnpackRowMap() {
- int [] result = new int[107];
- 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++);
+ 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;
}
- return j;
- }
- /**
- * The transition table of the DFA
- */
- private static final int [] ZZ_TRANS = zzUnpackTrans();
+ /**
+ * Translates a state to a row index in the transition table
+ */
+ private static final int[] ZZ_ROWMAP = zzUnpackRowMap();
- private static final String ZZ_TRANS_PACKED_0 =
- "\4\4\1\5\1\6\1\4\1\7\1\6\3\4\1\10"+
- "\13\7\1\4\2\7\1\4\1\7\1\4\1\7\1\4"+
- "\1\7\1\4\3\7\1\4\1\7\1\4\1\7\1\4"+
- "\1\5\1\4\1\11\1\12\1\13\36\11\1\14\3\11"+
- "\1\15\6\11\1\4\1\16\1\17\1\20\1\4\1\21"+
- "\1\4\2\21\1\22\1\4\1\23\1\4\1\24\1\25"+
- "\1\26\1\21\1\27\3\21\1\30\2\21\1\31\1\32"+
- "\1\21\1\33\1\34\1\35\1\21\1\4\1\21\1\4"+
- "\1\21\1\36\1\21\1\37\1\21\1\4\1\21\3\4"+
- "\60\0\1\5\45\0\1\5\6\0\5\40\1\41\2\0"+
- "\13\40\1\0\4\40\1\0\1\40\1\0\1\40\1\0"+
- "\3\40\1\0\1\40\1\0\1\40\2\0\1\40\5\0"+
- "\2\40\3\7\1\41\2\0\13\7\1\0\4\7\1\0"+
- "\1\7\1\0\1\7\1\0\3\7\1\0\1\7\1\0"+
- "\1\7\2\0\1\40\1\11\2\0\36\11\1\0\3\11"+
- "\1\0\6\11\2\0\1\13\51\0\1\42\2\0\12\42"+
- "\1\43\1\44\1\45\1\42\1\46\3\42\1\47\13\42"+
- "\1\50\3\42\1\51\1\52\1\53\1\54\5\0\1\17"+
- "\51\0\1\20\2\0\51\20\5\0\5\21\3\0\13\21"+
- "\1\0\4\21\1\0\1\21\1\0\1\21\1\0\3\21"+
- "\1\0\1\21\1\0\1\21\2\0\1\21\11\0\1\22"+
- "\6\0\1\55\12\0\1\22\1\0\1\56\1\55\22\0"+
- "\5\21\3\0\1\21\1\57\11\21\1\0\4\21\1\0"+
- "\1\21\1\0\1\21\1\0\3\21\1\0\1\21\1\0"+
- "\1\21\2\0\1\21\5\0\5\21\3\0\3\21\1\60"+
- "\7\21\1\0\4\21\1\0\1\21\1\0\1\21\1\0"+
- "\3\21\1\0\1\21\1\0\1\21\2\0\1\21\5\0"+
- "\5\21\3\0\10\21\1\61\2\21\1\0\4\21\1\0"+
- "\1\21\1\0\1\21\1\0\3\21\1\0\1\21\1\0"+
- "\1\21\2\0\1\21\5\0\5\21\3\0\5\21\1\62"+
- "\5\21\1\0\4\21\1\0\1\21\1\0\1\21\1\0"+
- "\3\21\1\0\1\21\1\0\1\21\2\0\1\21\5\0"+
- "\5\21\3\0\2\21\1\63\10\21\1\0\4\21\1\0"+
- "\1\21\1\0\1\21\1\0\3\21\1\0\1\21\1\0"+
- "\1\21\2\0\1\21\11\0\1\64\17\0\1\65\1\0"+
- "\1\66\25\0\5\21\3\0\10\21\1\67\2\21\1\0"+
- "\4\21\1\0\1\21\1\0\1\21\1\0\3\21\1\0"+
- "\1\21\1\0\1\21\2\0\1\21\11\0\1\70\6\0"+
- "\1\55\12\0\1\70\1\0\1\56\1\55\22\0\5\21"+
- "\3\0\5\21\1\71\5\21\1\0\4\21\1\0\1\21"+
- "\1\0\1\21\1\0\3\21\1\0\1\21\1\0\1\21"+
- "\2\0\1\21\11\0\1\56\21\0\1\56\25\0\5\21"+
- "\3\0\13\21\1\0\4\21\1\0\1\21\1\0\1\21"+
- "\1\0\2\21\1\72\1\0\1\21\1\0\1\21\2\0"+
- "\1\21\11\0\1\73\6\0\3\73\3\0\1\73\4\0"+
- "\1\73\2\0\1\73\1\0\1\73\2\0\1\73\2\0"+
- "\1\73\16\0\1\74\6\0\3\74\3\0\1\74\4\0"+
- "\1\74\2\0\1\74\1\0\1\74\2\0\1\74\2\0"+
- "\1\74\16\0\1\75\16\0\1\76\2\0\1\75\3\0"+
- "\1\76\25\0\1\56\6\0\1\55\12\0\1\56\2\0"+
- "\1\55\22\0\5\21\3\0\2\21\1\77\10\21\1\0"+
- "\4\21\1\0\1\21\1\0\1\21\1\0\3\21\1\0"+
- "\1\21\1\0\1\21\2\0\1\21\5\0\5\21\3\0"+
- "\13\21\1\0\4\21\1\0\1\21\1\0\1\21\1\0"+
- "\1\100\2\21\1\0\1\21\1\0\1\21\2\0\1\21"+
- "\5\0\5\21\3\0\11\21\1\101\1\21\1\0\4\21"+
- "\1\0\1\21\1\0\1\21\1\0\3\21\1\0\1\21"+
- "\1\0\1\21\2\0\1\21\5\0\5\21\3\0\6\21"+
- "\1\102\4\21\1\0\4\21\1\0\1\21\1\0\1\21"+
- "\1\0\3\21\1\0\1\21\1\0\1\21\2\0\1\21"+
- "\5\0\5\21\3\0\6\21\1\103\4\21\1\0\4\21"+
- "\1\0\1\21\1\0\1\21\1\0\3\21\1\0\1\21"+
- "\1\0\1\21\2\0\1\21\11\0\1\64\21\0\1\64"+
- "\45\0\1\104\33\0\5\21\3\0\4\21\1\105\6\21"+
- "\1\0\4\21\1\0\1\21\1\0\1\21\1\0\3\21"+
- "\1\0\1\21\1\0\1\21\2\0\1\21\5\0\5\21"+
- "\3\0\13\21\1\0\3\21\1\106\1\0\1\21\1\0"+
- "\1\21\1\0\3\21\1\0\1\21\1\0\1\21\2\0"+
- "\1\21\5\0\5\21\3\0\10\21\1\107\2\21\1\0"+
- "\4\21\1\0\1\21\1\0\1\21\1\0\3\21\1\0"+
- "\1\21\1\0\1\21\2\0\1\21\11\0\1\110\6\0"+
- "\3\110\3\0\1\110\4\0\1\110\2\0\1\110\1\0"+
- "\1\110\2\0\1\110\2\0\1\110\16\0\1\111\6\0"+
- "\3\111\3\0\1\111\4\0\1\111\2\0\1\111\1\0"+
- "\1\111\2\0\1\111\2\0\1\111\16\0\1\75\21\0"+
- "\1\75\25\0\5\21\3\0\3\21\1\112\7\21\1\0"+
- "\4\21\1\0\1\21\1\0\1\21\1\0\3\21\1\0"+
- "\1\21\1\0\1\21\2\0\1\21\5\0\5\21\3\0"+
- "\12\21\1\113\1\0\4\21\1\0\1\21\1\0\1\21"+
- "\1\0\3\21\1\0\1\21\1\0\1\21\2\0\1\21"+
- "\5\0\5\21\3\0\3\21\1\114\7\21\1\0\4\21"+
- "\1\0\1\21\1\0\1\21\1\0\3\21\1\0\1\21"+
- "\1\0\1\21\2\0\1\21\5\0\5\21\3\0\7\21"+
- "\1\115\3\21\1\0\4\21\1\0\1\21\1\0\1\21"+
- "\1\0\3\21\1\0\1\21\1\0\1\21\2\0\1\21"+
- "\5\0\5\21\3\0\6\21\1\116\4\21\1\0\4\21"+
- "\1\0\1\21\1\0\1\21\1\0\3\21\1\0\1\21"+
- "\1\0\1\21\2\0\1\21\21\0\1\117\37\0\5\21"+
- "\3\0\12\21\1\120\1\0\4\21\1\0\1\21\1\0"+
- "\1\21\1\0\3\21\1\0\1\21\1\0\1\21\2\0"+
- "\1\21\5\0\5\21\3\0\7\21\1\121\3\21\1\0"+
- "\4\21\1\0\1\21\1\0\1\21\1\0\3\21\1\0"+
- "\1\21\1\0\1\21\2\0\1\21\5\0\5\21\3\0"+
- "\7\21\1\122\3\21\1\0\4\21\1\0\1\21\1\0"+
- "\1\21\1\0\3\21\1\0\1\21\1\0\1\21\2\0"+
- "\1\21\5\0\5\21\3\0\4\21\1\123\6\21\1\0"+
- "\4\21\1\0\1\21\1\0\1\21\1\0\3\21\1\0"+
- "\1\21\1\0\1\21\2\0\1\21\5\0\5\21\3\0"+
- "\3\21\1\124\7\21\1\0\4\21\1\0\1\21\1\0"+
- "\1\21\1\0\3\21\1\0\1\21\1\0\1\21\2\0"+
- "\1\21\27\0\1\125\31\0\5\21\3\0\10\21\1\126"+
- "\2\21\1\0\4\21\1\0\1\21\1\0\1\21\1\0"+
- "\3\21\1\0\1\21\1\0\1\21\2\0\1\21\5\0"+
- "\5\21\3\0\1\127\12\21\1\0\4\21\1\0\1\21"+
- "\1\0\1\21\1\0\3\21\1\0\1\21\1\0\1\21"+
- "\2\0\1\21\5\0\5\21\3\0\1\130\12\21\1\0"+
- "\4\21\1\0\1\21\1\0\1\21\1\0\3\21\1\0"+
- "\1\21\1\0\1\21\2\0\1\21\5\0\5\21\3\0"+
- "\12\21\1\131\1\0\4\21\1\0\1\21\1\0\1\21"+
- "\1\0\3\21\1\0\1\21\1\0\1\21\2\0\1\21"+
- "\25\0\1\132\33\0\5\21\3\0\12\21\1\133\1\0"+
- "\4\21\1\0\1\21\1\0\1\21\1\0\3\21\1\0"+
- "\1\21\1\0\1\21\2\0\1\21\5\0\5\21\3\0"+
- "\5\21\1\134\5\21\1\0\4\21\1\0\1\21\1\0"+
- "\1\21\1\0\3\21\1\0\1\21\1\0\1\21\2\0"+
- "\1\21\5\0\5\21\3\0\3\21\1\135\7\21\1\0"+
- "\4\21\1\0\1\21\1\0\1\21\1\0\3\21\1\0"+
- "\1\21\1\0\1\21\2\0\1\21\5\0\5\21\3\0"+
- "\10\21\1\136\2\21\1\0\4\21\1\0\1\21\1\0"+
- "\1\21\1\0\3\21\1\0\1\21\1\0\1\21\2\0"+
- "\1\21\27\0\1\137\31\0\5\21\3\0\1\140\12\21"+
- "\1\0\4\21\1\0\1\21\1\0\1\21\1\0\3\21"+
- "\1\0\1\21\1\0\1\21\2\0\1\21\5\0\5\21"+
- "\3\0\10\21\1\141\2\21\1\0\4\21\1\0\1\21"+
- "\1\0\1\21\1\0\3\21\1\0\1\21\1\0\1\21"+
- "\2\0\1\21\5\0\5\21\3\0\1\21\1\142\11\21"+
- "\1\0\4\21\1\0\1\21\1\0\1\21\1\0\3\21"+
- "\1\0\1\21\1\0\1\21\2\0\1\21\5\0\5\21"+
- "\3\0\3\21\1\143\7\21\1\0\4\21\1\0\1\21"+
- "\1\0\1\21\1\0\3\21\1\0\1\21\1\0\1\21"+
- "\2\0\1\21\15\0\1\144\43\0\5\21\3\0\13\21"+
- "\1\0\1\21\1\106\2\21\1\0\1\21\1\0\1\21"+
- "\1\0\3\21\1\0\1\21\1\0\1\21\2\0\1\21"+
- "\5\0\5\21\3\0\1\145\12\21\1\0\4\21\1\0"+
- "\1\21\1\0\1\21\1\0\3\21\1\0\1\21\1\0"+
- "\1\21\2\0\1\21\5\0\4\21\1\146\3\0\13\21"+
- "\1\0\2\21\1\147\1\21\1\0\1\21\1\0\1\21"+
- "\1\0\3\21\1\0\1\21\1\0\1\21\2\0\1\21"+
- "\5\0\5\21\3\0\11\21\1\150\1\21\1\0\4\21"+
- "\1\0\1\21\1\0\1\21\1\0\3\21\1\0\1\21"+
- "\1\0\1\21\2\0\1\21\32\0\1\151\26\0\4\21"+
- "\1\152\3\0\13\21\1\0\2\21\1\153\1\21\1\0"+
- "\1\21\1\0\1\21\1\0\3\21\1\0\1\21\1\0"+
- "\1\21\2\0\1\21\5\0\4\21\1\146\3\0\13\21"+
- "\1\0\2\21\1\146\1\21\1\0\1\21\1\0\1\21"+
- "\1\0\3\21\1\0\1\21\1\0\1\21\2\0\1\21"+
- "\5\0\4\21\1\152\3\0\13\21\1\0\2\21\1\152"+
- "\1\21\1\0\1\21\1\0\1\21\1\0\3\21\1\0"+
- "\1\21\1\0\1\21\2\0\1\21";
+ private static final String ZZ_ROWMAP_PACKED_0
+ = "\0\0\0\54\0\130\0\204\0\260\0\334\0\u0108\0\204"
+ + "\0\u0134\0\u0160\0\204\0\u018c\0\204\0\u01b8\0\204\0\u01e4"
+ + "\0\u0210\0\u023c\0\204\0\u0268\0\u0294\0\u02c0\0\u02ec\0\u0318"
+ + "\0\u0344\0\u0370\0\u039c\0\u03c8\0\u03f4\0\u0420\0\204\0\334"
+ + "\0\204\0\204\0\204\0\204\0\u044c\0\204\0\204\0\204"
+ + "\0\204\0\204\0\204\0\u0478\0\u04a4\0\u04d0\0\u04fc\0\u0528"
+ + "\0\u0554\0\u0580\0\u05ac\0\u05d8\0\u0604\0\204\0\u0630\0\u039c"
+ + "\0\u065c\0\u0688\0\u06b4\0\u06e0\0\u070c\0\u070c\0\u0738\0\u0764"
+ + "\0\u0790\0\u07bc\0\u07e8\0\u0814\0\u0840\0\u0210\0\u086c\0\u0478"
+ + "\0\204\0\u0210\0\u0898\0\u08c4\0\u08f0\0\u0210\0\u091c\0\u0948"
+ + "\0\u0974\0\u09a0\0\u09cc\0\u0210\0\u09f8\0\u0a24\0\u0a50\0\u0a7c"
+ + "\0\u0aa8\0\u0ad4\0\u0b00\0\u0b2c\0\u0b58\0\u0b84\0\u0bb0\0\u0bdc"
+ + "\0\u0c08\0\u0c34\0\u0c60\0\u0c8c\0\u0cb8\0\u0ce4\0\u0210\0\u0210"
+ + "\0\204\0\u0d10\0\u0210";
- private static int [] zzUnpackTrans() {
- int [] result = new int[3388];
- 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);
+ private static int[] zzUnpackRowMap() {
+ int[] result = new int[107];
+ int offset = 0;
+ offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
+ return result;
}
- return j;
- }
+ private static int zzUnpackRowMap(String packed, int offset, int[] result) {
+ int i = 0; /* index in packed string */
- /* 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;
+ int j = offset; /* index in unpacked array */
- /* 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 aState
- */
- private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
-
- private static final String ZZ_ATTRIBUTE_PACKED_0 =
- "\3\0\1\11\3\1\1\11\2\1\1\11\1\1\1\11"+
- "\1\1\1\11\3\1\1\11\13\1\1\11\1\0\4\11"+
- "\1\1\6\11\1\1\1\0\7\1\1\0\1\11\4\1"+
- "\2\0\1\1\1\0\5\1\1\0\3\1\1\0\1\11"+
- "\5\1\1\0\5\1\1\0\4\1\1\0\4\1\1\0"+
- "\4\1\1\0\4\1\1\11\2\1";
-
- private static int [] zzUnpackAttribute() {
- int [] result = new int[107];
- 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);
+ int l = packed.length();
+ while (i < l) {
+ int high = packed.charAt(i++) << 16;
+ result[j++] = high | packed.charAt(i++);
+ }
+ return j;
}
- return j;
- }
- /** the input device */
- private java.io.Reader zzReader;
+ /**
+ * The transition table of the DFA
+ */
+ private static final int[] ZZ_TRANS = zzUnpackTrans();
- /** the current state of the DFA */
- private int zzState;
+ private static final String ZZ_TRANS_PACKED_0
+ = "\4\4\1\5\1\6\1\4\1\7\1\6\3\4\1\10"
+ + "\13\7\1\4\2\7\1\4\1\7\1\4\1\7\1\4"
+ + "\1\7\1\4\3\7\1\4\1\7\1\4\1\7\1\4"
+ + "\1\5\1\4\1\11\1\12\1\13\36\11\1\14\3\11"
+ + "\1\15\6\11\1\4\1\16\1\17\1\20\1\4\1\21"
+ + "\1\4\2\21\1\22\1\4\1\23\1\4\1\24\1\25"
+ + "\1\26\1\21\1\27\3\21\1\30\2\21\1\31\1\32"
+ + "\1\21\1\33\1\34\1\35\1\21\1\4\1\21\1\4"
+ + "\1\21\1\36\1\21\1\37\1\21\1\4\1\21\3\4"
+ + "\60\0\1\5\45\0\1\5\6\0\5\40\1\41\2\0"
+ + "\13\40\1\0\4\40\1\0\1\40\1\0\1\40\1\0"
+ + "\3\40\1\0\1\40\1\0\1\40\2\0\1\40\5\0"
+ + "\2\40\3\7\1\41\2\0\13\7\1\0\4\7\1\0"
+ + "\1\7\1\0\1\7\1\0\3\7\1\0\1\7\1\0"
+ + "\1\7\2\0\1\40\1\11\2\0\36\11\1\0\3\11"
+ + "\1\0\6\11\2\0\1\13\51\0\1\42\2\0\12\42"
+ + "\1\43\1\44\1\45\1\42\1\46\3\42\1\47\13\42"
+ + "\1\50\3\42\1\51\1\52\1\53\1\54\5\0\1\17"
+ + "\51\0\1\20\2\0\51\20\5\0\5\21\3\0\13\21"
+ + "\1\0\4\21\1\0\1\21\1\0\1\21\1\0\3\21"
+ + "\1\0\1\21\1\0\1\21\2\0\1\21\11\0\1\22"
+ + "\6\0\1\55\12\0\1\22\1\0\1\56\1\55\22\0"
+ + "\5\21\3\0\1\21\1\57\11\21\1\0\4\21\1\0"
+ + "\1\21\1\0\1\21\1\0\3\21\1\0\1\21\1\0"
+ + "\1\21\2\0\1\21\5\0\5\21\3\0\3\21\1\60"
+ + "\7\21\1\0\4\21\1\0\1\21\1\0\1\21\1\0"
+ + "\3\21\1\0\1\21\1\0\1\21\2\0\1\21\5\0"
+ + "\5\21\3\0\10\21\1\61\2\21\1\0\4\21\1\0"
+ + "\1\21\1\0\1\21\1\0\3\21\1\0\1\21\1\0"
+ + "\1\21\2\0\1\21\5\0\5\21\3\0\5\21\1\62"
+ + "\5\21\1\0\4\21\1\0\1\21\1\0\1\21\1\0"
+ + "\3\21\1\0\1\21\1\0\1\21\2\0\1\21\5\0"
+ + "\5\21\3\0\2\21\1\63\10\21\1\0\4\21\1\0"
+ + "\1\21\1\0\1\21\1\0\3\21\1\0\1\21\1\0"
+ + "\1\21\2\0\1\21\11\0\1\64\17\0\1\65\1\0"
+ + "\1\66\25\0\5\21\3\0\10\21\1\67\2\21\1\0"
+ + "\4\21\1\0\1\21\1\0\1\21\1\0\3\21\1\0"
+ + "\1\21\1\0\1\21\2\0\1\21\11\0\1\70\6\0"
+ + "\1\55\12\0\1\70\1\0\1\56\1\55\22\0\5\21"
+ + "\3\0\5\21\1\71\5\21\1\0\4\21\1\0\1\21"
+ + "\1\0\1\21\1\0\3\21\1\0\1\21\1\0\1\21"
+ + "\2\0\1\21\11\0\1\56\21\0\1\56\25\0\5\21"
+ + "\3\0\13\21\1\0\4\21\1\0\1\21\1\0\1\21"
+ + "\1\0\2\21\1\72\1\0\1\21\1\0\1\21\2\0"
+ + "\1\21\11\0\1\73\6\0\3\73\3\0\1\73\4\0"
+ + "\1\73\2\0\1\73\1\0\1\73\2\0\1\73\2\0"
+ + "\1\73\16\0\1\74\6\0\3\74\3\0\1\74\4\0"
+ + "\1\74\2\0\1\74\1\0\1\74\2\0\1\74\2\0"
+ + "\1\74\16\0\1\75\16\0\1\76\2\0\1\75\3\0"
+ + "\1\76\25\0\1\56\6\0\1\55\12\0\1\56\2\0"
+ + "\1\55\22\0\5\21\3\0\2\21\1\77\10\21\1\0"
+ + "\4\21\1\0\1\21\1\0\1\21\1\0\3\21\1\0"
+ + "\1\21\1\0\1\21\2\0\1\21\5\0\5\21\3\0"
+ + "\13\21\1\0\4\21\1\0\1\21\1\0\1\21\1\0"
+ + "\1\100\2\21\1\0\1\21\1\0\1\21\2\0\1\21"
+ + "\5\0\5\21\3\0\11\21\1\101\1\21\1\0\4\21"
+ + "\1\0\1\21\1\0\1\21\1\0\3\21\1\0\1\21"
+ + "\1\0\1\21\2\0\1\21\5\0\5\21\3\0\6\21"
+ + "\1\102\4\21\1\0\4\21\1\0\1\21\1\0\1\21"
+ + "\1\0\3\21\1\0\1\21\1\0\1\21\2\0\1\21"
+ + "\5\0\5\21\3\0\6\21\1\103\4\21\1\0\4\21"
+ + "\1\0\1\21\1\0\1\21\1\0\3\21\1\0\1\21"
+ + "\1\0\1\21\2\0\1\21\11\0\1\64\21\0\1\64"
+ + "\45\0\1\104\33\0\5\21\3\0\4\21\1\105\6\21"
+ + "\1\0\4\21\1\0\1\21\1\0\1\21\1\0\3\21"
+ + "\1\0\1\21\1\0\1\21\2\0\1\21\5\0\5\21"
+ + "\3\0\13\21\1\0\3\21\1\106\1\0\1\21\1\0"
+ + "\1\21\1\0\3\21\1\0\1\21\1\0\1\21\2\0"
+ + "\1\21\5\0\5\21\3\0\10\21\1\107\2\21\1\0"
+ + "\4\21\1\0\1\21\1\0\1\21\1\0\3\21\1\0"
+ + "\1\21\1\0\1\21\2\0\1\21\11\0\1\110\6\0"
+ + "\3\110\3\0\1\110\4\0\1\110\2\0\1\110\1\0"
+ + "\1\110\2\0\1\110\2\0\1\110\16\0\1\111\6\0"
+ + "\3\111\3\0\1\111\4\0\1\111\2\0\1\111\1\0"
+ + "\1\111\2\0\1\111\2\0\1\111\16\0\1\75\21\0"
+ + "\1\75\25\0\5\21\3\0\3\21\1\112\7\21\1\0"
+ + "\4\21\1\0\1\21\1\0\1\21\1\0\3\21\1\0"
+ + "\1\21\1\0\1\21\2\0\1\21\5\0\5\21\3\0"
+ + "\12\21\1\113\1\0\4\21\1\0\1\21\1\0\1\21"
+ + "\1\0\3\21\1\0\1\21\1\0\1\21\2\0\1\21"
+ + "\5\0\5\21\3\0\3\21\1\114\7\21\1\0\4\21"
+ + "\1\0\1\21\1\0\1\21\1\0\3\21\1\0\1\21"
+ + "\1\0\1\21\2\0\1\21\5\0\5\21\3\0\7\21"
+ + "\1\115\3\21\1\0\4\21\1\0\1\21\1\0\1\21"
+ + "\1\0\3\21\1\0\1\21\1\0\1\21\2\0\1\21"
+ + "\5\0\5\21\3\0\6\21\1\116\4\21\1\0\4\21"
+ + "\1\0\1\21\1\0\1\21\1\0\3\21\1\0\1\21"
+ + "\1\0\1\21\2\0\1\21\21\0\1\117\37\0\5\21"
+ + "\3\0\12\21\1\120\1\0\4\21\1\0\1\21\1\0"
+ + "\1\21\1\0\3\21\1\0\1\21\1\0\1\21\2\0"
+ + "\1\21\5\0\5\21\3\0\7\21\1\121\3\21\1\0"
+ + "\4\21\1\0\1\21\1\0\1\21\1\0\3\21\1\0"
+ + "\1\21\1\0\1\21\2\0\1\21\5\0\5\21\3\0"
+ + "\7\21\1\122\3\21\1\0\4\21\1\0\1\21\1\0"
+ + "\1\21\1\0\3\21\1\0\1\21\1\0\1\21\2\0"
+ + "\1\21\5\0\5\21\3\0\4\21\1\123\6\21\1\0"
+ + "\4\21\1\0\1\21\1\0\1\21\1\0\3\21\1\0"
+ + "\1\21\1\0\1\21\2\0\1\21\5\0\5\21\3\0"
+ + "\3\21\1\124\7\21\1\0\4\21\1\0\1\21\1\0"
+ + "\1\21\1\0\3\21\1\0\1\21\1\0\1\21\2\0"
+ + "\1\21\27\0\1\125\31\0\5\21\3\0\10\21\1\126"
+ + "\2\21\1\0\4\21\1\0\1\21\1\0\1\21\1\0"
+ + "\3\21\1\0\1\21\1\0\1\21\2\0\1\21\5\0"
+ + "\5\21\3\0\1\127\12\21\1\0\4\21\1\0\1\21"
+ + "\1\0\1\21\1\0\3\21\1\0\1\21\1\0\1\21"
+ + "\2\0\1\21\5\0\5\21\3\0\1\130\12\21\1\0"
+ + "\4\21\1\0\1\21\1\0\1\21\1\0\3\21\1\0"
+ + "\1\21\1\0\1\21\2\0\1\21\5\0\5\21\3\0"
+ + "\12\21\1\131\1\0\4\21\1\0\1\21\1\0\1\21"
+ + "\1\0\3\21\1\0\1\21\1\0\1\21\2\0\1\21"
+ + "\25\0\1\132\33\0\5\21\3\0\12\21\1\133\1\0"
+ + "\4\21\1\0\1\21\1\0\1\21\1\0\3\21\1\0"
+ + "\1\21\1\0\1\21\2\0\1\21\5\0\5\21\3\0"
+ + "\5\21\1\134\5\21\1\0\4\21\1\0\1\21\1\0"
+ + "\1\21\1\0\3\21\1\0\1\21\1\0\1\21\2\0"
+ + "\1\21\5\0\5\21\3\0\3\21\1\135\7\21\1\0"
+ + "\4\21\1\0\1\21\1\0\1\21\1\0\3\21\1\0"
+ + "\1\21\1\0\1\21\2\0\1\21\5\0\5\21\3\0"
+ + "\10\21\1\136\2\21\1\0\4\21\1\0\1\21\1\0"
+ + "\1\21\1\0\3\21\1\0\1\21\1\0\1\21\2\0"
+ + "\1\21\27\0\1\137\31\0\5\21\3\0\1\140\12\21"
+ + "\1\0\4\21\1\0\1\21\1\0\1\21\1\0\3\21"
+ + "\1\0\1\21\1\0\1\21\2\0\1\21\5\0\5\21"
+ + "\3\0\10\21\1\141\2\21\1\0\4\21\1\0\1\21"
+ + "\1\0\1\21\1\0\3\21\1\0\1\21\1\0\1\21"
+ + "\2\0\1\21\5\0\5\21\3\0\1\21\1\142\11\21"
+ + "\1\0\4\21\1\0\1\21\1\0\1\21\1\0\3\21"
+ + "\1\0\1\21\1\0\1\21\2\0\1\21\5\0\5\21"
+ + "\3\0\3\21\1\143\7\21\1\0\4\21\1\0\1\21"
+ + "\1\0\1\21\1\0\3\21\1\0\1\21\1\0\1\21"
+ + "\2\0\1\21\15\0\1\144\43\0\5\21\3\0\13\21"
+ + "\1\0\1\21\1\106\2\21\1\0\1\21\1\0\1\21"
+ + "\1\0\3\21\1\0\1\21\1\0\1\21\2\0\1\21"
+ + "\5\0\5\21\3\0\1\145\12\21\1\0\4\21\1\0"
+ + "\1\21\1\0\1\21\1\0\3\21\1\0\1\21\1\0"
+ + "\1\21\2\0\1\21\5\0\4\21\1\146\3\0\13\21"
+ + "\1\0\2\21\1\147\1\21\1\0\1\21\1\0\1\21"
+ + "\1\0\3\21\1\0\1\21\1\0\1\21\2\0\1\21"
+ + "\5\0\5\21\3\0\11\21\1\150\1\21\1\0\4\21"
+ + "\1\0\1\21\1\0\1\21\1\0\3\21\1\0\1\21"
+ + "\1\0\1\21\2\0\1\21\32\0\1\151\26\0\4\21"
+ + "\1\152\3\0\13\21\1\0\2\21\1\153\1\21\1\0"
+ + "\1\21\1\0\1\21\1\0\3\21\1\0\1\21\1\0"
+ + "\1\21\2\0\1\21\5\0\4\21\1\146\3\0\13\21"
+ + "\1\0\2\21\1\146\1\21\1\0\1\21\1\0\1\21"
+ + "\1\0\3\21\1\0\1\21\1\0\1\21\2\0\1\21"
+ + "\5\0\4\21\1\152\3\0\13\21\1\0\2\21\1\152"
+ + "\1\21\1\0\1\21\1\0\1\21\1\0\3\21\1\0"
+ + "\1\21\1\0\1\21\2\0\1\21";
- /** the current lexical state */
- private int zzLexicalState = YYINITIAL;
+ private static int[] zzUnpackTrans() {
+ int[] result = new int[3388];
+ int offset = 0;
+ offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
+ return result;
+ }
- /** this buffer contains the current text to be matched and is
- the source of the yytext() string */
- private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
+ private static int zzUnpackTrans(String packed, int offset, int[] result) {
+ int i = 0; /* index in packed string */
- /** the textposition at the last accepting state */
- private int zzMarkedPos;
+ int j = offset; /* index in unpacked array */
- /** the current text position in the buffer */
- private int zzCurrentPos;
+ 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;
+ }
- /** 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;
+ /* 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;
- /** number of newlines encountered up to the start of the matched text */
- private int yyline;
+ /* 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"
+ };
- /** the number of characters up to the start of the matched text */
- private int yychar;
+ /**
+ * ZZ_ATTRIBUTE[aState] contains the attributes of state aState
+ */
+ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute();
- /**
- * the number of characters from the last newline up to the start of the
- * matched text
- */
- private int yycolumn;
+ private static final String ZZ_ATTRIBUTE_PACKED_0
+ = "\3\0\1\11\3\1\1\11\2\1\1\11\1\1\1\11"
+ + "\1\1\1\11\3\1\1\11\13\1\1\11\1\0\4\11"
+ + "\1\1\6\11\1\1\1\0\7\1\1\0\1\11\4\1"
+ + "\2\0\1\1\1\0\5\1\1\0\3\1\1\0\1\11"
+ + "\5\1\1\0\5\1\1\0\4\1\1\0\4\1\1\0"
+ + "\4\1\1\0\4\1\1\11\2\1";
- /**
- * zzAtBOL == true <=> the scanner is currently at the beginning of a line
- */
- private boolean zzAtBOL = true;
+ private static int[] zzUnpackAttribute() {
+ int[] result = new int[107];
+ int offset = 0;
+ offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
+ return result;
+ }
- /** zzAtEOF == true <=> the scanner is at the EOF */
- private boolean zzAtEOF;
+ private static int zzUnpackAttribute(String packed, int offset, int[] result) {
+ int i = 0; /* index in packed string */
- /** denotes if the user-EOF-code has already been executed */
- private boolean zzEOFDone;
-
- /**
- * The number of occupied positions in zzBuffer beyond zzEndRead.
- * When a lead/high surrogate has been read from the input stream
- * into the final zzBuffer position, this will have a value of 1;
- * otherwise, it will have a value of 0.
- */
- private int zzFinalHighSurrogate = 0;
+ int j = offset; /* index in unpacked array */
- /* user code: */
+ 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 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;
+
+ /**
+ * denotes if the user-EOF-code has already been executed
+ */
+ private boolean zzEOFDone;
+
+ /**
+ * The number of occupied positions in zzBuffer beyond zzEndRead. When a
+ * lead/high surrogate has been read from the input stream into the final
+ * zzBuffer position, this will have a value of 1; otherwise, it will have a
+ * value of 0.
+ */
+ private int zzFinalHighSurrogate = 0;
+
+ /* user code: */
StringBuffer string = new StringBuffer();
/**
@@ -579,513 +619,548 @@ public final class FlasmLexer {
return yyline + 1;
}
-
-
- /**
- * Creates a new scanner
- *
- * @param in the java.io.Reader to read input from.
- */
- public FlasmLexer(java.io.Reader in) {
- this.zzReader = in;
- }
-
-
- /**
- * Unpacks the compressed character translation table.
- *
- * @param packed the packed character translation table
- * @return the unpacked character translation table
- */
- private static char [] zzUnpackCMap(String packed) {
- char [] map = new char[0x110000];
- int i = 0; /* index in packed string */
- int j = 0; /* index in unpacked array */
- while (i < 2854) {
- int count = packed.charAt(i++);
- char value = packed.charAt(i++);
- do map[j++] = value; while (--count > 0);
- }
- return map;
- }
-
-
- /**
- * Refills the input buffer.
- *
- * @return false, 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) {
- zzEndRead += zzFinalHighSurrogate;
- zzFinalHighSurrogate = 0;
- System.arraycopy(zzBuffer, zzStartRead,
- zzBuffer, 0,
- zzEndRead-zzStartRead);
-
- /* translate stored positions */
- zzEndRead-= zzStartRead;
- zzCurrentPos-= zzStartRead;
- zzMarkedPos-= zzStartRead;
- zzStartRead = 0;
+ /**
+ * Creates a new scanner
+ *
+ * @param in the java.io.Reader to read input from.
+ */
+ public FlasmLexer(java.io.Reader in) {
+ this.zzReader = in;
}
- /* is the buffer big enough? */
- if (zzCurrentPos >= zzBuffer.length - zzFinalHighSurrogate) {
- /* if not: blow it up */
- char newBuffer[] = new char[zzBuffer.length*2];
- System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
- zzBuffer = newBuffer;
- zzEndRead += zzFinalHighSurrogate;
- zzFinalHighSurrogate = 0;
- }
+ /**
+ * Unpacks the compressed character translation table.
+ *
+ * @param packed the packed character translation table
+ * @return the unpacked character translation table
+ */
+ private static char[] zzUnpackCMap(String packed) {
+ char[] map = new char[0x110000];
+ int i = 0; /* index in packed string */
- /* fill the buffer with new input */
- int requested = zzBuffer.length - zzEndRead;
- int totalRead = 0;
- while (totalRead < requested) {
- int numRead = zzReader.read(zzBuffer, zzEndRead + totalRead, requested - totalRead);
- if (numRead == -1) {
- break;
- }
- totalRead += numRead;
- }
+ int j = 0; /* index in unpacked array */
- if (totalRead > 0) {
- zzEndRead += totalRead;
- if (totalRead == requested) { /* possibly more input available */
- if (Character.isHighSurrogate(zzBuffer[zzEndRead - 1])) {
- --zzEndRead;
- zzFinalHighSurrogate = 1;
+ while (i < 2854) {
+ int count = packed.charAt(i++);
+ char value = packed.charAt(i++);
+ do {
+ map[j++] = value;
+ } while (--count > 0);
}
- }
- return false;
+ return map;
}
- // totalRead = 0: End of stream
- return true;
- }
+ /**
+ * Refills the input buffer.
+ *
+ * @return false, iff there was new input.
+ *
+ * @exception java.io.IOException if any I/O-Error occurs
+ */
+ private boolean zzRefill() throws java.io.IOException {
-
- /**
- * Closes the input stream.
- */
- public final void yyclose() throws java.io.IOException {
- zzAtEOF = true; /* indicate end of file */
- zzEndRead = zzStartRead; /* invalidate buffer */
+ /* first: make room (if you can) */
+ if (zzStartRead > 0) {
+ zzEndRead += zzFinalHighSurrogate;
+ zzFinalHighSurrogate = 0;
+ System.arraycopy(zzBuffer, zzStartRead,
+ zzBuffer, 0,
+ zzEndRead - zzStartRead);
- 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
- * cannot be reused (internal buffer is discarded and lost).
- * Lexical state is set to ZZ_INITIAL.
- *
- * Internal scan buffer is resized down to its initial length, if it has grown.
- *
- * @param reader the new input stream
- */
- public final void yyreset(java.io.Reader reader) {
- zzReader = reader;
- zzAtBOL = true;
- zzAtEOF = false;
- zzEOFDone = false;
- zzEndRead = zzStartRead = 0;
- zzCurrentPos = zzMarkedPos = 0;
- zzFinalHighSurrogate = 0;
- yyline = yychar = yycolumn = 0;
- zzLexicalState = YYINITIAL;
- if (zzBuffer.length > ZZ_BUFFERSIZE)
- zzBuffer = new char[ZZ_BUFFERSIZE];
- }
-
-
- /**
- * 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 pos 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 ASMParsedSymbol yylex() throws java.io.IOException, ActionParseException {
- 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;
-
- while (true) {
- zzMarkedPosL = zzMarkedPos;
-
- yychar+= zzMarkedPosL-zzStartRead;
-
- boolean zzR = false;
- int zzCh;
- int zzCharCount;
- for (zzCurrentPosL = zzStartRead ;
- zzCurrentPosL < zzMarkedPosL ;
- zzCurrentPosL += zzCharCount ) {
- zzCh = Character.codePointAt(zzBufferL, zzCurrentPosL, zzMarkedPosL);
- zzCharCount = Character.charCount(zzCh);
- switch (zzCh) {
- 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 += zzCharCount;
+ /* translate stored positions */
+ zzEndRead -= zzStartRead;
+ zzCurrentPos -= zzStartRead;
+ zzMarkedPos -= zzStartRead;
+ zzStartRead = 0;
}
- }
- 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';
+ /* is the buffer big enough? */
+ if (zzCurrentPos >= zzBuffer.length - zzFinalHighSurrogate) {
+ /* if not: blow it up */
+ char newBuffer[] = new char[zzBuffer.length * 2];
+ System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
+ zzBuffer = newBuffer;
+ zzEndRead += zzFinalHighSurrogate;
+ zzFinalHighSurrogate = 0;
}
- if (zzPeek) yyline--;
- }
- zzAction = -1;
- zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
-
- zzState = ZZ_LEXSTATE[zzLexicalState];
+ /* fill the buffer with new input */
+ int requested = zzBuffer.length - zzEndRead;
+ int totalRead = 0;
+ while (totalRead < requested) {
+ int numRead = zzReader.read(zzBuffer, zzEndRead + totalRead, requested - totalRead);
+ if (numRead == -1) {
+ break;
+ }
+ totalRead += numRead;
+ }
- // set up zzAction for empty match case:
- int zzAttributes = zzAttrL[zzState];
- if ( (zzAttributes & 1) == 1 ) {
- zzAction = zzState;
- }
+ if (totalRead > 0) {
+ zzEndRead += totalRead;
+ if (totalRead == requested) { /* possibly more input available */
+ if (Character.isHighSurrogate(zzBuffer[zzEndRead - 1])) {
+ --zzEndRead;
+ zzFinalHighSurrogate = 1;
+ }
+ }
+ return false;
+ }
+
+ // totalRead = 0: End of stream
+ return true;
+ }
+
+ /**
+ * Closes the input stream.
+ *
+ * @throws java.io.IOException
+ */
+ 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
+ * cannot be reused (internal buffer is discarded and lost). Lexical
+ * state is set to ZZ_INITIAL.
+ *
+ * Internal scan buffer is resized down to its initial length, if it has
+ * grown.
+ *
+ * @param reader the new input stream
+ */
+ public final void yyreset(java.io.Reader reader) {
+ zzReader = reader;
+ zzAtBOL = true;
+ zzAtEOF = false;
+ zzEOFDone = false;
+ zzEndRead = zzStartRead = 0;
+ zzCurrentPos = zzMarkedPos = 0;
+ zzFinalHighSurrogate = 0;
+ yyline = yychar = yycolumn = 0;
+ zzLexicalState = YYINITIAL;
+ if (zzBuffer.length > ZZ_BUFFERSIZE) {
+ zzBuffer = new char[ZZ_BUFFERSIZE];
+ }
+ }
+
+ /**
+ * Returns the current lexical state.
+ *
+ * @return
+ */
+ 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.
+ *
+ * @return
+ */
+ public final String yytext() {
+ return new String(zzBuffer, zzStartRead, zzMarkedPos - zzStartRead);
+ }
+
+ /**
+ * Returns the character at position pos 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.
+ *
+ * @return
+ */
+ 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
+ * @throws com.jpexs.decompiler.flash.action.parser.ActionParseException
+ */
+ public ASMParsedSymbol yylex() throws java.io.IOException, ActionParseException {
+ 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;
- zzForAction: {
while (true) {
-
- if (zzCurrentPosL < zzEndReadL) {
- zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
- zzCurrentPosL += Character.charCount(zzInput);
- }
- else if (zzAtEOF) {
- zzInput = YYEOF;
- break zzForAction;
- }
- else {
- // store back cached positions
- zzCurrentPos = zzCurrentPosL;
- zzMarkedPos = zzMarkedPosL;
- boolean eof = zzRefill();
- // get translated positions and possibly new buffer
- zzCurrentPosL = zzCurrentPos;
- zzMarkedPosL = zzMarkedPos;
- zzBufferL = zzBuffer;
- zzEndReadL = zzEndRead;
- if (eof) {
- zzInput = YYEOF;
- break zzForAction;
- }
- else {
- zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
- zzCurrentPosL += Character.charCount(zzInput);
- }
- }
- int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
- if (zzNext == -1) break zzForAction;
- zzState = zzNext;
+ zzMarkedPosL = zzMarkedPos;
- zzAttributes = zzAttrL[zzState];
- if ( (zzAttributes & 1) == 1 ) {
- zzAction = zzState;
- zzMarkedPosL = zzCurrentPosL;
- if ( (zzAttributes & 8) == 8 ) break zzForAction;
- }
+ yychar += zzMarkedPosL - zzStartRead;
+ boolean zzR = false;
+ int zzCh;
+ int zzCharCount;
+ for (zzCurrentPosL = zzStartRead;
+ zzCurrentPosL < zzMarkedPosL;
+ zzCurrentPosL += zzCharCount) {
+ zzCh = Character.codePointAt(zzBufferL, zzCurrentPosL, zzMarkedPosL);
+ zzCharCount = Character.charCount(zzCh);
+ switch (zzCh) {
+ 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 += zzCharCount;
+ }
+ }
+
+ 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 = ZZ_LEXSTATE[zzLexicalState];
+
+ // set up zzAction for empty match case:
+ int zzAttributes = zzAttrL[zzState];
+ if ((zzAttributes & 1) == 1) {
+ zzAction = zzState;
+ }
+
+ zzForAction:
+ {
+ while (true) {
+
+ if (zzCurrentPosL < zzEndReadL) {
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
+ zzCurrentPosL += Character.charCount(zzInput);
+ } else if (zzAtEOF) {
+ zzInput = YYEOF;
+ break zzForAction;
+ } else {
+ // store back cached positions
+ zzCurrentPos = zzCurrentPosL;
+ zzMarkedPos = zzMarkedPosL;
+ boolean eof = zzRefill();
+ // get translated positions and possibly new buffer
+ zzCurrentPosL = zzCurrentPos;
+ zzMarkedPosL = zzMarkedPos;
+ zzBufferL = zzBuffer;
+ zzEndReadL = zzEndRead;
+ if (eof) {
+ zzInput = YYEOF;
+ break zzForAction;
+ } else {
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
+ zzCurrentPosL += Character.charCount(zzInput);
+ }
+ }
+ int zzNext = zzTransL[zzRowMapL[zzState] + zzCMapL[zzInput]];
+ if (zzNext == -1) {
+ break zzForAction;
+ }
+ zzState = zzNext;
+
+ zzAttributes = zzAttrL[zzState];
+ if ((zzAttributes & 1) == 1) {
+ zzAction = zzState;
+ zzMarkedPosL = zzCurrentPosL;
+ if ((zzAttributes & 8) == 8) {
+ break zzForAction;
+ }
+ }
+
+ }
+ }
+
+ // store back cached position
+ zzMarkedPos = zzMarkedPosL;
+
+ switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
+ case 1: {
+ }
+ case 31:
+ break;
+ case 2: {
+ yybegin(PARAMETERS);
+ return new ASMParsedSymbol(ASMParsedSymbol.TYPE_INSTRUCTION_NAME, yytext());
+ }
+ case 32:
+ break;
+ case 3: {
+ return new ASMParsedSymbol(ASMParsedSymbol.TYPE_BLOCK_END);
+ }
+ case 33:
+ break;
+ case 4: {
+ string.append(yytext());
+ }
+ case 34:
+ break;
+ case 5: {
+ throw new ActionParseException("Unterminated string at end of line", yyline + 1);
+ }
+ case 35:
+ break;
+ case 6: {
+ yybegin(PARAMETERS);
+ // length also includes the trailing quote
+ return new ASMParsedSymbol(ASMParsedSymbol.TYPE_STRING, string.toString());
+ }
+ case 36:
+ break;
+ case 7: {
+ yybegin(YYINITIAL);
+ return new ASMParsedSymbol(ASMParsedSymbol.TYPE_EOL);
+ }
+ case 37:
+ break;
+ case 8: {
+ return new ASMParsedSymbol(ASMParsedSymbol.TYPE_COMMENT, yytext().substring(1));
+ }
+ case 38:
+ break;
+ case 9: {
+ return new ASMParsedSymbol(ASMParsedSymbol.TYPE_IDENTIFIER, yytext());
+ }
+ case 39:
+ break;
+ case 10: {
+ return new ASMParsedSymbol(ASMParsedSymbol.TYPE_INTEGER, Long.parseLong((yytext())));
+ }
+ case 40:
+ break;
+ case 11: {
+ yybegin(YYINITIAL);
+ return new ASMParsedSymbol(ASMParsedSymbol.TYPE_BLOCK_START);
+ }
+ case 41:
+ break;
+ case 12: {
+ yybegin(STRING);
+ string.setLength(0);
+ }
+ case 42:
+ break;
+ case 13: {
+ String s = yytext();
+ return new ASMParsedSymbol(ASMParsedSymbol.TYPE_LABEL, s.substring(0, s.length() - 1));
+ }
+ case 43:
+ break;
+ case 14: {
+ throw new ActionParseException("Illegal escape sequence \"" + yytext() + "\"", yyline + 1);
+ }
+ case 44:
+ break;
+ case 15: {
+ string.append('\t');
+ }
+ case 45:
+ break;
+ case 16: {
+ string.append('\r');
+ }
+ case 46:
+ break;
+ case 17: {
+ string.append('\f');
+ }
+ case 47:
+ break;
+ case 18: {
+ string.append('\n');
+ }
+ case 48:
+ break;
+ case 19: {
+ string.append('\\');
+ }
+ case 49:
+ break;
+ case 20: {
+ string.append('\"');
+ }
+ case 50:
+ break;
+ case 21: {
+ string.append('\b');
+ }
+ case 51:
+ break;
+ case 22: {
+ string.append('\'');
+ }
+ case 52:
+ break;
+ case 23: {
+ return new ASMParsedSymbol(ASMParsedSymbol.TYPE_FLOAT, Double.parseDouble((yytext())));
+ }
+ case 53:
+ break;
+ case 24: {
+ char val = (char) Integer.parseInt(yytext().substring(2), 16);
+ string.append(val);
+ }
+ case 54:
+ break;
+ case 25: {
+ return new ASMParsedSymbol(ASMParsedSymbol.TYPE_BOOLEAN, Boolean.TRUE);
+ }
+ case 55:
+ break;
+ case 26: {
+ return new ASMParsedSymbol(ASMParsedSymbol.TYPE_NULL, new Null());
+ }
+ case 56:
+ break;
+ case 27: {
+ return new ASMParsedSymbol(ASMParsedSymbol.TYPE_BOOLEAN, Boolean.FALSE);
+ }
+ case 57:
+ break;
+ case 28: {
+ return new ASMParsedSymbol(ASMParsedSymbol.TYPE_REGISTER, new RegisterNumber(Integer.parseInt(yytext().substring(8))));
+ }
+ case 58:
+ break;
+ case 29: {
+ return new ASMParsedSymbol(ASMParsedSymbol.TYPE_UNDEFINED, new Undefined());
+ }
+ case 59:
+ break;
+ case 30: {
+ return new ASMParsedSymbol(ASMParsedSymbol.TYPE_CONSTANT, new ConstantIndex(Integer.parseInt(yytext().substring(8))));
+ }
+ case 60:
+ break;
+ default:
+ if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
+ zzAtEOF = true;
+ {
+ return new ASMParsedSymbol(ASMParsedSymbol.TYPE_EOF);
+ }
+ } else {
+ zzScanError(ZZ_NO_MATCH);
+ }
+ }
}
- }
-
- // store back cached position
- zzMarkedPos = zzMarkedPosL;
-
- switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
- case 1:
- {
- }
- case 31: break;
- case 2:
- { yybegin(PARAMETERS);
- return new ASMParsedSymbol(ASMParsedSymbol.TYPE_INSTRUCTION_NAME, yytext());
- }
- case 32: break;
- case 3:
- { return new ASMParsedSymbol(ASMParsedSymbol.TYPE_BLOCK_END);
- }
- case 33: break;
- case 4:
- { string.append(yytext());
- }
- case 34: break;
- case 5:
- { throw new ActionParseException("Unterminated string at end of line", yyline + 1);
- }
- case 35: break;
- case 6:
- { yybegin(PARAMETERS);
- // length also includes the trailing quote
- return new ASMParsedSymbol(ASMParsedSymbol.TYPE_STRING, string.toString());
- }
- case 36: break;
- case 7:
- { yybegin(YYINITIAL); return new ASMParsedSymbol(ASMParsedSymbol.TYPE_EOL);
- }
- case 37: break;
- case 8:
- { return new ASMParsedSymbol(ASMParsedSymbol.TYPE_COMMENT, yytext().substring(1));
- }
- case 38: break;
- case 9:
- { return new ASMParsedSymbol(ASMParsedSymbol.TYPE_IDENTIFIER, yytext());
- }
- case 39: break;
- case 10:
- { return new ASMParsedSymbol(ASMParsedSymbol.TYPE_INTEGER, Long.parseLong((yytext())));
- }
- case 40: break;
- case 11:
- { yybegin(YYINITIAL); return new ASMParsedSymbol(ASMParsedSymbol.TYPE_BLOCK_START);
- }
- case 41: break;
- case 12:
- { yybegin(STRING);
- string.setLength(0);
- }
- case 42: break;
- case 13:
- { String s=yytext();
- return new ASMParsedSymbol(ASMParsedSymbol.TYPE_LABEL, s.substring(0, s.length() - 1));
- }
- case 43: break;
- case 14:
- { throw new ActionParseException("Illegal escape sequence \"" + yytext() + "\"", yyline + 1);
- }
- case 44: break;
- case 15:
- { string.append('\t');
- }
- case 45: break;
- case 16:
- { string.append('\r');
- }
- case 46: break;
- case 17:
- { string.append('\f');
- }
- case 47: break;
- case 18:
- { string.append('\n');
- }
- case 48: break;
- case 19:
- { string.append('\\');
- }
- case 49: break;
- case 20:
- { string.append('\"');
- }
- case 50: break;
- case 21:
- { string.append('\b');
- }
- case 51: break;
- case 22:
- { string.append('\'');
- }
- case 52: break;
- case 23:
- { return new ASMParsedSymbol(ASMParsedSymbol.TYPE_FLOAT, Double.parseDouble((yytext())));
- }
- case 53: break;
- case 24:
- { char val = (char) Integer.parseInt(yytext().substring(2), 16);
- string.append(val);
- }
- case 54: break;
- case 25:
- { return new ASMParsedSymbol(ASMParsedSymbol.TYPE_BOOLEAN,Boolean.TRUE);
- }
- case 55: break;
- case 26:
- { return new ASMParsedSymbol(ASMParsedSymbol.TYPE_NULL, new Null());
- }
- case 56: break;
- case 27:
- { return new ASMParsedSymbol(ASMParsedSymbol.TYPE_BOOLEAN,Boolean.FALSE);
- }
- case 57: break;
- case 28:
- { return new ASMParsedSymbol(ASMParsedSymbol.TYPE_REGISTER, new RegisterNumber(Integer.parseInt(yytext().substring(8))));
- }
- case 58: break;
- case 29:
- { return new ASMParsedSymbol(ASMParsedSymbol.TYPE_UNDEFINED, new Undefined());
- }
- case 59: break;
- case 30:
- { return new ASMParsedSymbol(ASMParsedSymbol.TYPE_CONSTANT, new ConstantIndex(Integer.parseInt(yytext().substring(8))));
- }
- case 60: break;
- default:
- if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
- zzAtEOF = true;
- {
- return new ASMParsedSymbol(ASMParsedSymbol.TYPE_EOF);
- }
- }
- else {
- zzScanError(ZZ_NO_MATCH);
- }
- }
}
- }
-
}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ActionScriptLexer.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ActionScriptLexer.java
index 930415c7f..72a5730c5 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ActionScriptLexer.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ActionScriptLexer.java
@@ -17,1205 +17,1246 @@
* License along with this library.
*/
package com.jpexs.decompiler.flash.action.parser.script;
+
import com.jpexs.decompiler.flash.action.parser.ActionParseException;
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
-
/**
- * This class is a scanner generated by
- * JFlex 1.6.0
- * from the specification file D:/Dropbox/Programovani/JavaSE/FFDec/libsrc/ffdec_lib/lexers/actionscript_script.flex
+ * This class is a scanner generated by
+ * JFlex 1.6.0 from the specification file
+ * D:/Dropbox/Programovani/JavaSE/FFDec/libsrc/ffdec_lib/lexers/actionscript_script.flex
*/
public final class ActionScriptLexer {
- /** This character denotes the end of file */
- public static final int YYEOF = -1;
+ /**
+ * 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;
+ /**
+ * initial size of the lookahead buffer
+ */
+ private static final int ZZ_BUFFERSIZE = 16384;
- /** lexical states */
- public static final int YYINITIAL = 0;
- public static final int STRING = 2;
- public static final int CHARLITERAL = 4;
- public static final int XMLSTARTTAG = 6;
- public static final int XML = 8;
- public static final int OIDENTIFIER = 10;
+ /**
+ * lexical states
+ */
+ public static final int YYINITIAL = 0;
+ public static final int STRING = 2;
+ public static final int CHARLITERAL = 4;
+ public static final int XMLSTARTTAG = 6;
+ public static final int XML = 8;
+ public static final int OIDENTIFIER = 10;
- /**
- * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
- * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l
- * at the beginning of a line
- * l is of the form l = 2*k, k a non negative integer
- */
- private static final int ZZ_LEXSTATE[] = {
- 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5
- };
+ /**
+ * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
+ * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l at the
+ * beginning of a line l is of the form l = 2*k, k a non negative integer
+ */
+ private static final int ZZ_LEXSTATE[] = {
+ 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5
+ };
- /**
- * Translates characters to character classes
- */
- private static final String ZZ_CMAP_PACKED =
- "\11\7\1\3\1\2\1\121\1\122\1\1\16\7\4\0\1\14\1\110"+
- "\1\16\1\0\1\6\1\117\1\113\1\30\1\100\1\101\1\5\1\115"+
- "\1\107\1\26\1\11\1\4\1\17\3\23\4\24\2\20\1\10\1\106"+
- "\1\12\1\15\1\13\1\112\1\120\1\62\1\22\1\72\1\73\1\25"+
- "\1\64\1\6\1\66\1\77\2\6\1\70\1\71\1\76\1\6\1\75"+
- "\1\67\1\6\1\63\1\65\1\61\1\74\1\6\1\21\2\6\1\104"+
- "\1\27\1\105\1\116\1\6\1\0\1\35\1\32\1\37\1\46\1\34"+
- "\1\47\1\60\1\52\1\44\1\6\1\36\1\50\1\55\1\42\1\41"+
- "\1\53\1\6\1\33\1\40\1\43\1\45\1\56\1\51\1\57\1\54"+
- "\1\6\1\102\1\114\1\103\1\111\6\7\1\123\32\7\2\0\4\6"+
- "\1\0\1\31\2\0\1\6\2\0\1\7\7\0\1\6\4\0\1\6"+
- "\5\0\27\6\1\0\37\6\1\0\u01ca\6\4\0\14\6\16\0\5\6"+
- "\7\0\1\6\1\0\1\6\21\0\160\7\5\6\1\0\2\6\2\0"+
- "\4\6\10\0\1\6\1\0\3\6\1\0\1\6\1\0\24\6\1\0"+
- "\123\6\1\0\213\6\1\0\5\7\2\0\236\6\11\0\46\6\2\0"+
- "\1\6\7\0\47\6\7\0\1\6\1\0\55\7\1\0\1\7\1\0"+
- "\2\7\1\0\2\7\1\0\1\7\10\0\33\6\5\0\3\6\15\0"+
- "\5\7\6\0\1\6\4\0\13\7\5\0\53\6\37\7\4\0\2\6"+
- "\1\7\143\6\1\0\1\6\10\7\1\0\6\7\2\6\2\7\1\0"+
- "\4\7\2\6\12\7\3\6\2\0\1\6\17\0\1\7\1\6\1\7"+
- "\36\6\33\7\2\0\131\6\13\7\1\6\16\0\12\7\41\6\11\7"+
- "\2\6\4\0\1\6\5\0\26\6\4\7\1\6\11\7\1\6\3\7"+
- "\1\6\5\7\22\0\31\6\3\7\104\0\1\6\1\0\13\6\67\0"+
- "\33\7\1\0\4\7\66\6\3\7\1\6\22\7\1\6\7\7\12\6"+
- "\2\7\2\0\12\7\1\0\7\6\1\0\7\6\1\0\3\7\1\0"+
- "\10\6\2\0\2\6\2\0\26\6\1\0\7\6\1\0\1\6\3\0"+
- "\4\6\2\0\1\7\1\6\7\7\2\0\2\7\2\0\3\7\1\6"+
- "\10\0\1\7\4\0\2\6\1\0\3\6\2\7\2\0\12\7\4\6"+
- "\7\0\1\6\5\0\3\7\1\0\6\6\4\0\2\6\2\0\26\6"+
- "\1\0\7\6\1\0\2\6\1\0\2\6\1\0\2\6\2\0\1\7"+
- "\1\0\5\7\4\0\2\7\2\0\3\7\3\0\1\7\7\0\4\6"+
- "\1\0\1\6\7\0\14\7\3\6\1\7\13\0\3\7\1\0\11\6"+
- "\1\0\3\6\1\0\26\6\1\0\7\6\1\0\2\6\1\0\5\6"+
- "\2\0\1\7\1\6\10\7\1\0\3\7\1\0\3\7\2\0\1\6"+
- "\17\0\2\6\2\7\2\0\12\7\1\0\1\6\17\0\3\7\1\0"+
- "\10\6\2\0\2\6\2\0\26\6\1\0\7\6\1\0\2\6\1\0"+
- "\5\6\2\0\1\7\1\6\7\7\2\0\2\7\2\0\3\7\10\0"+
- "\2\7\4\0\2\6\1\0\3\6\2\7\2\0\12\7\1\0\1\6"+
- "\20\0\1\7\1\6\1\0\6\6\3\0\3\6\1\0\4\6\3\0"+
- "\2\6\1\0\1\6\1\0\2\6\3\0\2\6\3\0\3\6\3\0"+
- "\14\6\4\0\5\7\3\0\3\7\1\0\4\7\2\0\1\6\6\0"+
- "\1\7\16\0\12\7\11\0\1\6\7\0\3\7\1\0\10\6\1\0"+
- "\3\6\1\0\27\6\1\0\12\6\1\0\5\6\3\0\1\6\7\7"+
- "\1\0\3\7\1\0\4\7\7\0\2\7\1\0\2\6\6\0\2\6"+
- "\2\7\2\0\12\7\22\0\2\7\1\0\10\6\1\0\3\6\1\0"+
- "\27\6\1\0\12\6\1\0\5\6\2\0\1\7\1\6\7\7\1\0"+
- "\3\7\1\0\4\7\7\0\2\7\7\0\1\6\1\0\2\6\2\7"+
- "\2\0\12\7\1\0\2\6\17\0\2\7\1\0\10\6\1\0\3\6"+
- "\1\0\51\6\2\0\1\6\7\7\1\0\3\7\1\0\4\7\1\6"+
- "\10\0\1\7\10\0\2\6\2\7\2\0\12\7\12\0\6\6\2\0"+
- "\2\7\1\0\22\6\3\0\30\6\1\0\11\6\1\0\1\6\2\0"+
- "\7\6\3\0\1\7\4\0\6\7\1\0\1\7\1\0\10\7\22\0"+
- "\2\7\15\0\60\6\1\7\2\6\7\7\4\0\10\6\10\7\1\0"+
- "\12\7\47\0\2\6\1\0\1\6\2\0\2\6\1\0\1\6\2\0"+
- "\1\6\6\0\4\6\1\0\7\6\1\0\3\6\1\0\1\6\1\0"+
- "\1\6\2\0\2\6\1\0\4\6\1\7\2\6\6\7\1\0\2\7"+
- "\1\6\2\0\5\6\1\0\1\6\1\0\6\7\2\0\12\7\2\0"+
- "\4\6\40\0\1\6\27\0\2\7\6\0\12\7\13\0\1\7\1\0"+
- "\1\7\1\0\1\7\4\0\2\7\10\6\1\0\44\6\4\0\24\7"+
- "\1\0\2\7\5\6\13\7\1\0\44\7\11\0\1\7\71\0\53\6"+
- "\24\7\1\6\12\7\6\0\6\6\4\7\4\6\3\7\1\6\3\7"+
- "\2\6\7\7\3\6\4\7\15\6\14\7\1\6\17\7\2\0\46\6"+
- "\1\0\1\6\5\0\1\6\2\0\53\6\1\0\u014d\6\1\0\4\6"+
- "\2\0\7\6\1\0\1\6\1\0\4\6\2\0\51\6\1\0\4\6"+
- "\2\0\41\6\1\0\4\6\2\0\7\6\1\0\1\6\1\0\4\6"+
- "\2\0\17\6\1\0\71\6\1\0\4\6\2\0\103\6\2\0\3\7"+
- "\40\0\20\6\20\0\125\6\14\0\u026c\6\2\0\21\6\1\0\32\6"+
- "\5\0\113\6\3\0\3\6\17\0\15\6\1\0\4\6\3\7\13\0"+
- "\22\6\3\7\13\0\22\6\2\7\14\0\15\6\1\0\3\6\1\0"+
- "\2\7\14\0\64\6\40\7\3\0\1\6\3\0\2\6\1\7\2\0"+
- "\12\7\41\0\3\7\2\0\12\7\6\0\130\6\10\0\51\6\1\7"+
- "\1\6\5\0\106\6\12\0\35\6\3\0\14\7\4\0\14\7\12\0"+
- "\12\7\36\6\2\0\5\6\13\0\54\6\4\0\21\7\7\6\2\7"+
- "\6\0\12\7\46\0\27\6\5\7\4\0\65\6\12\7\1\0\35\7"+
- "\2\0\13\7\6\0\12\7\15\0\1\6\130\0\5\7\57\6\21\7"+
- "\7\6\4\0\12\7\21\0\11\7\14\0\3\7\36\6\15\7\2\6"+
- "\12\7\54\6\16\7\14\0\44\6\24\7\10\0\12\7\3\0\3\6"+
- "\12\7\44\6\122\0\3\7\1\0\25\7\4\6\1\7\4\6\3\7"+
- "\2\6\11\0\300\6\47\7\25\0\4\7\u0116\6\2\0\6\6\2\0"+
- "\46\6\2\0\6\6\2\0\10\6\1\0\1\6\1\0\1\6\1\0"+
- "\1\6\1\0\37\6\2\0\65\6\1\0\7\6\1\0\1\6\3\0"+
- "\3\6\1\0\7\6\3\0\4\6\2\0\6\6\4\0\15\6\5\0"+
- "\3\6\1\0\7\6\16\0\5\7\30\0\1\121\1\121\5\7\20\0"+
- "\2\6\23\0\1\6\13\0\5\7\5\0\6\7\1\0\1\6\15\0"+
- "\1\6\20\0\15\6\3\0\33\6\25\0\15\7\4\0\1\7\3\0"+
- "\14\7\21\0\1\6\4\0\1\6\2\0\12\6\1\0\1\6\3\0"+
- "\5\6\6\0\1\6\1\0\1\6\1\0\1\6\1\0\4\6\1\0"+
- "\13\6\2\0\4\6\5\0\5\6\4\0\1\6\21\0\51\6\u0a77\0"+
- "\57\6\1\0\57\6\1\0\205\6\6\0\4\6\3\7\2\6\14\0"+
- "\46\6\1\0\1\6\5\0\1\6\2\0\70\6\7\0\1\6\17\0"+
- "\1\7\27\6\11\0\7\6\1\0\7\6\1\0\7\6\1\0\7\6"+
- "\1\0\7\6\1\0\7\6\1\0\7\6\1\0\7\6\1\0\40\7"+
- "\57\0\1\6\u01d5\0\3\6\31\0\11\6\6\7\1\0\5\6\2\0"+
- "\5\6\4\0\126\6\2\0\2\7\2\0\3\6\1\0\132\6\1\0"+
- "\4\6\5\0\51\6\3\0\136\6\21\0\33\6\65\0\20\6\u0200\0"+
- "\u19b6\6\112\0\u51cd\6\63\0\u048d\6\103\0\56\6\2\0\u010d\6\3\0"+
- "\20\6\12\7\2\6\24\0\57\6\1\7\4\0\12\7\1\0\31\6"+
- "\7\0\1\7\120\6\2\7\45\0\11\6\2\0\147\6\2\0\4\6"+
- "\1\0\4\6\14\0\13\6\115\0\12\6\1\7\3\6\1\7\4\6"+
- "\1\7\27\6\5\7\20\0\1\6\7\0\64\6\14\0\2\7\62\6"+
- "\21\7\13\0\12\7\6\0\22\7\6\6\3\0\1\6\4\0\12\7"+
- "\34\6\10\7\2\0\27\6\15\7\14\0\35\6\3\0\4\7\57\6"+
- "\16\7\16\0\1\6\12\7\46\0\51\6\16\7\11\0\3\6\1\7"+
- "\10\6\2\7\2\0\12\7\6\0\27\6\3\0\1\6\1\7\4\0"+
- "\60\6\1\7\1\6\3\7\2\6\2\7\5\6\2\7\1\6\1\7"+
- "\1\6\30\0\3\6\2\0\13\6\5\7\2\0\3\6\2\7\12\0"+
- "\6\6\2\0\6\6\2\0\6\6\11\0\7\6\1\0\7\6\221\0"+
- "\43\6\10\7\1\0\2\7\2\0\12\7\6\0\u2ba4\6\14\0\27\6"+
- "\4\0\61\6\u2104\0\u016e\6\2\0\152\6\46\0\7\6\14\0\5\6"+
- "\5\0\1\6\1\7\12\6\1\0\15\6\1\0\5\6\1\0\1\6"+
- "\1\0\2\6\1\0\2\6\1\0\154\6\41\0\u016b\6\22\0\100\6"+
- "\2\0\66\6\50\0\15\6\3\0\20\7\20\0\7\7\14\0\2\6"+
- "\30\0\3\6\31\0\1\6\6\0\5\6\1\0\207\6\2\0\1\7"+
- "\4\0\1\6\13\0\12\7\7\0\32\6\4\0\1\6\1\0\32\6"+
- "\13\0\131\6\3\0\6\6\2\0\6\6\2\0\6\6\2\0\3\6"+
- "\3\0\2\6\3\0\2\6\22\0\3\7\4\0\14\6\1\0\32\6"+
- "\1\0\23\6\1\0\2\6\1\0\17\6\2\0\16\6\42\0\173\6"+
- "\105\0\65\6\210\0\1\7\202\0\35\6\3\0\61\6\57\0\37\6"+
- "\21\0\33\6\65\0\36\6\2\0\44\6\4\0\10\6\1\0\5\6"+
- "\52\0\236\6\2\0\12\7\u0356\0\6\6\2\0\1\6\1\0\54\6"+
- "\1\0\2\6\3\0\1\6\2\0\27\6\252\0\26\6\12\0\32\6"+
- "\106\0\70\6\6\0\2\6\100\0\1\6\3\7\1\0\2\7\5\0"+
- "\4\7\4\6\1\0\3\6\1\0\33\6\4\0\3\7\4\0\1\7"+
- "\40\0\35\6\203\0\66\6\12\0\26\6\12\0\23\6\215\0\111\6"+
- "\u03b7\0\3\7\65\6\17\7\37\0\12\7\20\0\3\7\55\6\13\7"+
- "\2\0\1\7\22\0\31\6\7\0\12\7\6\0\3\7\44\6\16\7"+
- "\1\0\12\7\100\0\3\7\60\6\16\7\4\6\13\0\12\7\u04a6\0"+
- "\53\6\15\7\10\0\12\7\u0936\0\u036f\6\221\0\143\6\u0b9d\0\u042f\6"+
- "\u33d1\0\u0239\6\u04c7\0\105\6\13\0\1\6\56\7\20\0\4\7\15\6"+
- "\u4060\0\2\6\u2163\0\5\7\3\0\26\7\2\0\7\7\36\0\4\7"+
- "\224\0\3\7\u01bb\0\125\6\1\0\107\6\1\0\2\6\2\0\1\6"+
- "\2\0\2\6\2\0\4\6\1\0\14\6\1\0\1\6\1\0\7\6"+
- "\1\0\101\6\1\0\4\6\2\0\10\6\1\0\7\6\1\0\34\6"+
- "\1\0\4\6\1\0\5\6\1\0\1\6\3\0\7\6\1\0\u0154\6"+
- "\2\0\31\6\1\0\31\6\1\0\37\6\1\0\31\6\1\0\37\6"+
- "\1\0\31\6\1\0\37\6\1\0\31\6\1\0\37\6\1\0\31\6"+
- "\1\0\10\6\2\0\62\7\u1600\0\4\6\1\0\33\6\1\0\2\6"+
- "\1\0\1\6\2\0\1\6\1\0\12\6\1\0\4\6\1\0\1\6"+
- "\1\0\1\6\6\0\1\6\4\0\1\6\1\0\1\6\1\0\1\6"+
- "\1\0\3\6\1\0\2\6\1\0\1\6\2\0\1\6\1\0\1\6"+
- "\1\0\1\6\1\0\1\6\1\0\1\6\1\0\2\6\1\0\1\6"+
- "\2\0\4\6\1\0\7\6\1\0\4\6\1\0\4\6\1\0\1\6"+
- "\1\0\12\6\1\0\21\6\5\0\3\6\1\0\5\6\1\0\21\6"+
- "\u1144\0\ua6d7\6\51\0\u1035\6\13\0\336\6\u3fe2\0\u021e\6\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\u05ee\0"+
- "\1\7\36\0\140\7\200\0\360\7\uffff\0\uffff\0\ufe12\0";
+ /**
+ * Translates characters to character classes
+ */
+ private static final String ZZ_CMAP_PACKED
+ = "\11\7\1\3\1\2\1\121\1\122\1\1\16\7\4\0\1\14\1\110"
+ + "\1\16\1\0\1\6\1\117\1\113\1\30\1\100\1\101\1\5\1\115"
+ + "\1\107\1\26\1\11\1\4\1\17\3\23\4\24\2\20\1\10\1\106"
+ + "\1\12\1\15\1\13\1\112\1\120\1\62\1\22\1\72\1\73\1\25"
+ + "\1\64\1\6\1\66\1\77\2\6\1\70\1\71\1\76\1\6\1\75"
+ + "\1\67\1\6\1\63\1\65\1\61\1\74\1\6\1\21\2\6\1\104"
+ + "\1\27\1\105\1\116\1\6\1\0\1\35\1\32\1\37\1\46\1\34"
+ + "\1\47\1\60\1\52\1\44\1\6\1\36\1\50\1\55\1\42\1\41"
+ + "\1\53\1\6\1\33\1\40\1\43\1\45\1\56\1\51\1\57\1\54"
+ + "\1\6\1\102\1\114\1\103\1\111\6\7\1\123\32\7\2\0\4\6"
+ + "\1\0\1\31\2\0\1\6\2\0\1\7\7\0\1\6\4\0\1\6"
+ + "\5\0\27\6\1\0\37\6\1\0\u01ca\6\4\0\14\6\16\0\5\6"
+ + "\7\0\1\6\1\0\1\6\21\0\160\7\5\6\1\0\2\6\2\0"
+ + "\4\6\10\0\1\6\1\0\3\6\1\0\1\6\1\0\24\6\1\0"
+ + "\123\6\1\0\213\6\1\0\5\7\2\0\236\6\11\0\46\6\2\0"
+ + "\1\6\7\0\47\6\7\0\1\6\1\0\55\7\1\0\1\7\1\0"
+ + "\2\7\1\0\2\7\1\0\1\7\10\0\33\6\5\0\3\6\15\0"
+ + "\5\7\6\0\1\6\4\0\13\7\5\0\53\6\37\7\4\0\2\6"
+ + "\1\7\143\6\1\0\1\6\10\7\1\0\6\7\2\6\2\7\1\0"
+ + "\4\7\2\6\12\7\3\6\2\0\1\6\17\0\1\7\1\6\1\7"
+ + "\36\6\33\7\2\0\131\6\13\7\1\6\16\0\12\7\41\6\11\7"
+ + "\2\6\4\0\1\6\5\0\26\6\4\7\1\6\11\7\1\6\3\7"
+ + "\1\6\5\7\22\0\31\6\3\7\104\0\1\6\1\0\13\6\67\0"
+ + "\33\7\1\0\4\7\66\6\3\7\1\6\22\7\1\6\7\7\12\6"
+ + "\2\7\2\0\12\7\1\0\7\6\1\0\7\6\1\0\3\7\1\0"
+ + "\10\6\2\0\2\6\2\0\26\6\1\0\7\6\1\0\1\6\3\0"
+ + "\4\6\2\0\1\7\1\6\7\7\2\0\2\7\2\0\3\7\1\6"
+ + "\10\0\1\7\4\0\2\6\1\0\3\6\2\7\2\0\12\7\4\6"
+ + "\7\0\1\6\5\0\3\7\1\0\6\6\4\0\2\6\2\0\26\6"
+ + "\1\0\7\6\1\0\2\6\1\0\2\6\1\0\2\6\2\0\1\7"
+ + "\1\0\5\7\4\0\2\7\2\0\3\7\3\0\1\7\7\0\4\6"
+ + "\1\0\1\6\7\0\14\7\3\6\1\7\13\0\3\7\1\0\11\6"
+ + "\1\0\3\6\1\0\26\6\1\0\7\6\1\0\2\6\1\0\5\6"
+ + "\2\0\1\7\1\6\10\7\1\0\3\7\1\0\3\7\2\0\1\6"
+ + "\17\0\2\6\2\7\2\0\12\7\1\0\1\6\17\0\3\7\1\0"
+ + "\10\6\2\0\2\6\2\0\26\6\1\0\7\6\1\0\2\6\1\0"
+ + "\5\6\2\0\1\7\1\6\7\7\2\0\2\7\2\0\3\7\10\0"
+ + "\2\7\4\0\2\6\1\0\3\6\2\7\2\0\12\7\1\0\1\6"
+ + "\20\0\1\7\1\6\1\0\6\6\3\0\3\6\1\0\4\6\3\0"
+ + "\2\6\1\0\1\6\1\0\2\6\3\0\2\6\3\0\3\6\3\0"
+ + "\14\6\4\0\5\7\3\0\3\7\1\0\4\7\2\0\1\6\6\0"
+ + "\1\7\16\0\12\7\11\0\1\6\7\0\3\7\1\0\10\6\1\0"
+ + "\3\6\1\0\27\6\1\0\12\6\1\0\5\6\3\0\1\6\7\7"
+ + "\1\0\3\7\1\0\4\7\7\0\2\7\1\0\2\6\6\0\2\6"
+ + "\2\7\2\0\12\7\22\0\2\7\1\0\10\6\1\0\3\6\1\0"
+ + "\27\6\1\0\12\6\1\0\5\6\2\0\1\7\1\6\7\7\1\0"
+ + "\3\7\1\0\4\7\7\0\2\7\7\0\1\6\1\0\2\6\2\7"
+ + "\2\0\12\7\1\0\2\6\17\0\2\7\1\0\10\6\1\0\3\6"
+ + "\1\0\51\6\2\0\1\6\7\7\1\0\3\7\1\0\4\7\1\6"
+ + "\10\0\1\7\10\0\2\6\2\7\2\0\12\7\12\0\6\6\2\0"
+ + "\2\7\1\0\22\6\3\0\30\6\1\0\11\6\1\0\1\6\2\0"
+ + "\7\6\3\0\1\7\4\0\6\7\1\0\1\7\1\0\10\7\22\0"
+ + "\2\7\15\0\60\6\1\7\2\6\7\7\4\0\10\6\10\7\1\0"
+ + "\12\7\47\0\2\6\1\0\1\6\2\0\2\6\1\0\1\6\2\0"
+ + "\1\6\6\0\4\6\1\0\7\6\1\0\3\6\1\0\1\6\1\0"
+ + "\1\6\2\0\2\6\1\0\4\6\1\7\2\6\6\7\1\0\2\7"
+ + "\1\6\2\0\5\6\1\0\1\6\1\0\6\7\2\0\12\7\2\0"
+ + "\4\6\40\0\1\6\27\0\2\7\6\0\12\7\13\0\1\7\1\0"
+ + "\1\7\1\0\1\7\4\0\2\7\10\6\1\0\44\6\4\0\24\7"
+ + "\1\0\2\7\5\6\13\7\1\0\44\7\11\0\1\7\71\0\53\6"
+ + "\24\7\1\6\12\7\6\0\6\6\4\7\4\6\3\7\1\6\3\7"
+ + "\2\6\7\7\3\6\4\7\15\6\14\7\1\6\17\7\2\0\46\6"
+ + "\1\0\1\6\5\0\1\6\2\0\53\6\1\0\u014d\6\1\0\4\6"
+ + "\2\0\7\6\1\0\1\6\1\0\4\6\2\0\51\6\1\0\4\6"
+ + "\2\0\41\6\1\0\4\6\2\0\7\6\1\0\1\6\1\0\4\6"
+ + "\2\0\17\6\1\0\71\6\1\0\4\6\2\0\103\6\2\0\3\7"
+ + "\40\0\20\6\20\0\125\6\14\0\u026c\6\2\0\21\6\1\0\32\6"
+ + "\5\0\113\6\3\0\3\6\17\0\15\6\1\0\4\6\3\7\13\0"
+ + "\22\6\3\7\13\0\22\6\2\7\14\0\15\6\1\0\3\6\1\0"
+ + "\2\7\14\0\64\6\40\7\3\0\1\6\3\0\2\6\1\7\2\0"
+ + "\12\7\41\0\3\7\2\0\12\7\6\0\130\6\10\0\51\6\1\7"
+ + "\1\6\5\0\106\6\12\0\35\6\3\0\14\7\4\0\14\7\12\0"
+ + "\12\7\36\6\2\0\5\6\13\0\54\6\4\0\21\7\7\6\2\7"
+ + "\6\0\12\7\46\0\27\6\5\7\4\0\65\6\12\7\1\0\35\7"
+ + "\2\0\13\7\6\0\12\7\15\0\1\6\130\0\5\7\57\6\21\7"
+ + "\7\6\4\0\12\7\21\0\11\7\14\0\3\7\36\6\15\7\2\6"
+ + "\12\7\54\6\16\7\14\0\44\6\24\7\10\0\12\7\3\0\3\6"
+ + "\12\7\44\6\122\0\3\7\1\0\25\7\4\6\1\7\4\6\3\7"
+ + "\2\6\11\0\300\6\47\7\25\0\4\7\u0116\6\2\0\6\6\2\0"
+ + "\46\6\2\0\6\6\2\0\10\6\1\0\1\6\1\0\1\6\1\0"
+ + "\1\6\1\0\37\6\2\0\65\6\1\0\7\6\1\0\1\6\3\0"
+ + "\3\6\1\0\7\6\3\0\4\6\2\0\6\6\4\0\15\6\5\0"
+ + "\3\6\1\0\7\6\16\0\5\7\30\0\1\121\1\121\5\7\20\0"
+ + "\2\6\23\0\1\6\13\0\5\7\5\0\6\7\1\0\1\6\15\0"
+ + "\1\6\20\0\15\6\3\0\33\6\25\0\15\7\4\0\1\7\3\0"
+ + "\14\7\21\0\1\6\4\0\1\6\2\0\12\6\1\0\1\6\3\0"
+ + "\5\6\6\0\1\6\1\0\1\6\1\0\1\6\1\0\4\6\1\0"
+ + "\13\6\2\0\4\6\5\0\5\6\4\0\1\6\21\0\51\6\u0a77\0"
+ + "\57\6\1\0\57\6\1\0\205\6\6\0\4\6\3\7\2\6\14\0"
+ + "\46\6\1\0\1\6\5\0\1\6\2\0\70\6\7\0\1\6\17\0"
+ + "\1\7\27\6\11\0\7\6\1\0\7\6\1\0\7\6\1\0\7\6"
+ + "\1\0\7\6\1\0\7\6\1\0\7\6\1\0\7\6\1\0\40\7"
+ + "\57\0\1\6\u01d5\0\3\6\31\0\11\6\6\7\1\0\5\6\2\0"
+ + "\5\6\4\0\126\6\2\0\2\7\2\0\3\6\1\0\132\6\1\0"
+ + "\4\6\5\0\51\6\3\0\136\6\21\0\33\6\65\0\20\6\u0200\0"
+ + "\u19b6\6\112\0\u51cd\6\63\0\u048d\6\103\0\56\6\2\0\u010d\6\3\0"
+ + "\20\6\12\7\2\6\24\0\57\6\1\7\4\0\12\7\1\0\31\6"
+ + "\7\0\1\7\120\6\2\7\45\0\11\6\2\0\147\6\2\0\4\6"
+ + "\1\0\4\6\14\0\13\6\115\0\12\6\1\7\3\6\1\7\4\6"
+ + "\1\7\27\6\5\7\20\0\1\6\7\0\64\6\14\0\2\7\62\6"
+ + "\21\7\13\0\12\7\6\0\22\7\6\6\3\0\1\6\4\0\12\7"
+ + "\34\6\10\7\2\0\27\6\15\7\14\0\35\6\3\0\4\7\57\6"
+ + "\16\7\16\0\1\6\12\7\46\0\51\6\16\7\11\0\3\6\1\7"
+ + "\10\6\2\7\2\0\12\7\6\0\27\6\3\0\1\6\1\7\4\0"
+ + "\60\6\1\7\1\6\3\7\2\6\2\7\5\6\2\7\1\6\1\7"
+ + "\1\6\30\0\3\6\2\0\13\6\5\7\2\0\3\6\2\7\12\0"
+ + "\6\6\2\0\6\6\2\0\6\6\11\0\7\6\1\0\7\6\221\0"
+ + "\43\6\10\7\1\0\2\7\2\0\12\7\6\0\u2ba4\6\14\0\27\6"
+ + "\4\0\61\6\u2104\0\u016e\6\2\0\152\6\46\0\7\6\14\0\5\6"
+ + "\5\0\1\6\1\7\12\6\1\0\15\6\1\0\5\6\1\0\1\6"
+ + "\1\0\2\6\1\0\2\6\1\0\154\6\41\0\u016b\6\22\0\100\6"
+ + "\2\0\66\6\50\0\15\6\3\0\20\7\20\0\7\7\14\0\2\6"
+ + "\30\0\3\6\31\0\1\6\6\0\5\6\1\0\207\6\2\0\1\7"
+ + "\4\0\1\6\13\0\12\7\7\0\32\6\4\0\1\6\1\0\32\6"
+ + "\13\0\131\6\3\0\6\6\2\0\6\6\2\0\6\6\2\0\3\6"
+ + "\3\0\2\6\3\0\2\6\22\0\3\7\4\0\14\6\1\0\32\6"
+ + "\1\0\23\6\1\0\2\6\1\0\17\6\2\0\16\6\42\0\173\6"
+ + "\105\0\65\6\210\0\1\7\202\0\35\6\3\0\61\6\57\0\37\6"
+ + "\21\0\33\6\65\0\36\6\2\0\44\6\4\0\10\6\1\0\5\6"
+ + "\52\0\236\6\2\0\12\7\u0356\0\6\6\2\0\1\6\1\0\54\6"
+ + "\1\0\2\6\3\0\1\6\2\0\27\6\252\0\26\6\12\0\32\6"
+ + "\106\0\70\6\6\0\2\6\100\0\1\6\3\7\1\0\2\7\5\0"
+ + "\4\7\4\6\1\0\3\6\1\0\33\6\4\0\3\7\4\0\1\7"
+ + "\40\0\35\6\203\0\66\6\12\0\26\6\12\0\23\6\215\0\111\6"
+ + "\u03b7\0\3\7\65\6\17\7\37\0\12\7\20\0\3\7\55\6\13\7"
+ + "\2\0\1\7\22\0\31\6\7\0\12\7\6\0\3\7\44\6\16\7"
+ + "\1\0\12\7\100\0\3\7\60\6\16\7\4\6\13\0\12\7\u04a6\0"
+ + "\53\6\15\7\10\0\12\7\u0936\0\u036f\6\221\0\143\6\u0b9d\0\u042f\6"
+ + "\u33d1\0\u0239\6\u04c7\0\105\6\13\0\1\6\56\7\20\0\4\7\15\6"
+ + "\u4060\0\2\6\u2163\0\5\7\3\0\26\7\2\0\7\7\36\0\4\7"
+ + "\224\0\3\7\u01bb\0\125\6\1\0\107\6\1\0\2\6\2\0\1\6"
+ + "\2\0\2\6\2\0\4\6\1\0\14\6\1\0\1\6\1\0\7\6"
+ + "\1\0\101\6\1\0\4\6\2\0\10\6\1\0\7\6\1\0\34\6"
+ + "\1\0\4\6\1\0\5\6\1\0\1\6\3\0\7\6\1\0\u0154\6"
+ + "\2\0\31\6\1\0\31\6\1\0\37\6\1\0\31\6\1\0\37\6"
+ + "\1\0\31\6\1\0\37\6\1\0\31\6\1\0\37\6\1\0\31\6"
+ + "\1\0\10\6\2\0\62\7\u1600\0\4\6\1\0\33\6\1\0\2\6"
+ + "\1\0\1\6\2\0\1\6\1\0\12\6\1\0\4\6\1\0\1\6"
+ + "\1\0\1\6\6\0\1\6\4\0\1\6\1\0\1\6\1\0\1\6"
+ + "\1\0\3\6\1\0\2\6\1\0\1\6\2\0\1\6\1\0\1\6"
+ + "\1\0\1\6\1\0\1\6\1\0\1\6\1\0\2\6\1\0\1\6"
+ + "\2\0\4\6\1\0\7\6\1\0\4\6\1\0\4\6\1\0\1\6"
+ + "\1\0\12\6\1\0\21\6\5\0\3\6\1\0\5\6\1\0\21\6"
+ + "\u1144\0\ua6d7\6\51\0\u1035\6\13\0\336\6\u3fe2\0\u021e\6\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\u05ee\0"
+ + "\1\7\36\0\140\7\200\0\360\7\uffff\0\uffff\0\ufe12\0";
- /**
- * Translates characters to character classes
- */
- private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
+ /**
+ * Translates characters to character classes
+ */
+ private static final char[] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
- /**
- * Translates DFA states to action switch labels.
- */
- private static final int [] ZZ_ACTION = zzUnpackAction();
+ /**
+ * Translates DFA states to action switch labels.
+ */
+ private static final int[] ZZ_ACTION = zzUnpackAction();
- private static final String ZZ_ACTION_PACKED_0 =
- "\6\0\1\1\2\2\1\3\1\4\1\5\1\6\1\7"+
- "\1\10\1\11\1\12\1\13\1\14\2\15\1\16\1\17"+
- "\1\20\26\6\1\21\1\22\1\23\1\24\1\25\1\26"+
- "\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36"+
- "\1\37\1\40\1\41\1\42\2\43\1\44\1\1\1\42"+
- "\1\1\2\45\1\42\1\1\1\46\2\42\2\47\2\42"+
- "\1\1\1\50\1\3\1\0\1\51\1\52\1\53\2\0"+
- "\1\54\1\0\1\55\1\56\1\57\1\60\1\61\1\62"+
- "\1\63\1\54\1\0\2\63\1\0\1\64\1\65\7\6"+
- "\1\66\11\6\1\67\12\6\1\70\1\71\1\72\4\6"+
- "\1\73\30\6\1\56\1\74\1\75\1\76\1\77\1\100"+
- "\1\101\1\102\1\103\1\104\1\105\1\104\1\106\1\107"+
- "\1\110\1\111\1\112\1\113\1\104\1\114\1\104\6\0"+
- "\1\115\1\116\2\115\2\3\2\0\1\117\3\0\1\120"+
- "\1\0\1\121\1\122\1\123\1\124\2\125\1\63\1\54"+
- "\1\0\10\6\1\126\5\6\1\127\1\130\5\6\1\131"+
- "\1\6\1\132\5\6\1\133\7\6\1\134\2\6\1\135"+
- "\10\6\1\136\20\6\1\137\1\6\1\140\2\6\1\141"+
- "\2\6\1\142\12\0\1\143\5\0\1\144\1\125\1\63"+
- "\4\6\1\145\1\146\1\147\1\6\1\150\1\6\1\151"+
- "\5\6\1\152\7\6\1\153\1\6\1\154\4\6\1\155"+
- "\22\6\1\156\7\6\1\157\4\6\1\160\7\6\1\161"+
- "\1\0\1\162\1\42\1\0\1\163\12\0\1\125\1\63"+
- "\1\164\4\6\1\165\1\166\1\6\1\167\5\6\1\170"+
- "\5\6\1\171\3\6\1\172\14\6\1\173\6\6\1\174"+
- "\2\6\1\175\3\6\1\176\1\6\1\177\10\6\10\0"+
- "\1\125\1\63\1\200\1\6\1\201\3\6\1\202\2\6"+
- "\1\203\1\204\7\6\1\205\4\6\1\206\4\6\1\207"+
- "\5\6\1\210\10\6\1\211\2\6\1\212\3\6\1\213"+
- "\1\214\1\6\2\0\1\120\1\125\1\63\1\6\1\215"+
- "\5\6\1\216\14\6\1\217\1\6\1\220\1\6\1\221"+
- "\7\6\1\222\1\223\6\6\1\42\1\125\1\63\1\6"+
- "\1\224\2\6\1\225\1\226\6\6\1\227\7\6\1\230"+
- "\5\6\1\231\1\6\1\232\1\233\3\6\1\234\1\125"+
- "\1\63\1\6\1\235\1\6\1\236\1\237\4\6\1\240"+
- "\2\6\1\241\2\6\1\242\1\243\1\6\1\244\1\245"+
- "\5\6\1\125\1\63\2\6\1\246\1\247\1\6\1\250"+
- "\1\6\1\251\6\6\1\252\2\6\1\63\4\6\1\253"+
- "\4\6\1\254\1\255\1\256\1\63\6\6\1\257\2\6"+
- "\1\63\1\6\1\260\1\6\1\261\2\6\1\262\1\263"+
- "\1\63\2\6\1\264\3\6\1\63\1\265\4\6\1\63"+
- "\2\6\1\266\1\267\1\270\1\6\1\271";
+ private static final String ZZ_ACTION_PACKED_0
+ = "\6\0\1\1\2\2\1\3\1\4\1\5\1\6\1\7"
+ + "\1\10\1\11\1\12\1\13\1\14\2\15\1\16\1\17"
+ + "\1\20\26\6\1\21\1\22\1\23\1\24\1\25\1\26"
+ + "\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36"
+ + "\1\37\1\40\1\41\1\42\2\43\1\44\1\1\1\42"
+ + "\1\1\2\45\1\42\1\1\1\46\2\42\2\47\2\42"
+ + "\1\1\1\50\1\3\1\0\1\51\1\52\1\53\2\0"
+ + "\1\54\1\0\1\55\1\56\1\57\1\60\1\61\1\62"
+ + "\1\63\1\54\1\0\2\63\1\0\1\64\1\65\7\6"
+ + "\1\66\11\6\1\67\12\6\1\70\1\71\1\72\4\6"
+ + "\1\73\30\6\1\56\1\74\1\75\1\76\1\77\1\100"
+ + "\1\101\1\102\1\103\1\104\1\105\1\104\1\106\1\107"
+ + "\1\110\1\111\1\112\1\113\1\104\1\114\1\104\6\0"
+ + "\1\115\1\116\2\115\2\3\2\0\1\117\3\0\1\120"
+ + "\1\0\1\121\1\122\1\123\1\124\2\125\1\63\1\54"
+ + "\1\0\10\6\1\126\5\6\1\127\1\130\5\6\1\131"
+ + "\1\6\1\132\5\6\1\133\7\6\1\134\2\6\1\135"
+ + "\10\6\1\136\20\6\1\137\1\6\1\140\2\6\1\141"
+ + "\2\6\1\142\12\0\1\143\5\0\1\144\1\125\1\63"
+ + "\4\6\1\145\1\146\1\147\1\6\1\150\1\6\1\151"
+ + "\5\6\1\152\7\6\1\153\1\6\1\154\4\6\1\155"
+ + "\22\6\1\156\7\6\1\157\4\6\1\160\7\6\1\161"
+ + "\1\0\1\162\1\42\1\0\1\163\12\0\1\125\1\63"
+ + "\1\164\4\6\1\165\1\166\1\6\1\167\5\6\1\170"
+ + "\5\6\1\171\3\6\1\172\14\6\1\173\6\6\1\174"
+ + "\2\6\1\175\3\6\1\176\1\6\1\177\10\6\10\0"
+ + "\1\125\1\63\1\200\1\6\1\201\3\6\1\202\2\6"
+ + "\1\203\1\204\7\6\1\205\4\6\1\206\4\6\1\207"
+ + "\5\6\1\210\10\6\1\211\2\6\1\212\3\6\1\213"
+ + "\1\214\1\6\2\0\1\120\1\125\1\63\1\6\1\215"
+ + "\5\6\1\216\14\6\1\217\1\6\1\220\1\6\1\221"
+ + "\7\6\1\222\1\223\6\6\1\42\1\125\1\63\1\6"
+ + "\1\224\2\6\1\225\1\226\6\6\1\227\7\6\1\230"
+ + "\5\6\1\231\1\6\1\232\1\233\3\6\1\234\1\125"
+ + "\1\63\1\6\1\235\1\6\1\236\1\237\4\6\1\240"
+ + "\2\6\1\241\2\6\1\242\1\243\1\6\1\244\1\245"
+ + "\5\6\1\125\1\63\2\6\1\246\1\247\1\6\1\250"
+ + "\1\6\1\251\6\6\1\252\2\6\1\63\4\6\1\253"
+ + "\4\6\1\254\1\255\1\256\1\63\6\6\1\257\2\6"
+ + "\1\63\1\6\1\260\1\6\1\261\2\6\1\262\1\263"
+ + "\1\63\2\6\1\264\3\6\1\63\1\265\4\6\1\63"
+ + "\2\6\1\266\1\267\1\270\1\6\1\271";
- private static int [] zzUnpackAction() {
- int [] result = new int[705];
- 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);
+ private static int[] zzUnpackAction() {
+ int[] result = new int[705];
+ int offset = 0;
+ offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
+ return result;
}
- return j;
- }
+ private static int zzUnpackAction(String packed, int offset, int[] result) {
+ int i = 0; /* index in packed string */
- /**
- * Translates a state to a row index in the transition table
- */
- private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
+ int j = offset; /* index in unpacked array */
- private static final String ZZ_ROWMAP_PACKED_0 =
- "\0\0\0\124\0\250\0\374\0\u0150\0\u01a4\0\u01f8\0\u024c"+
- "\0\u01f8\0\u02a0\0\u02f4\0\u0348\0\u039c\0\u03f0\0\u0444\0\u0498"+
- "\0\u04ec\0\u0540\0\u01f8\0\u0594\0\u05e8\0\u063c\0\u01f8\0\u01f8"+
- "\0\u0690\0\u06e4\0\u0738\0\u078c\0\u07e0\0\u0834\0\u0888\0\u08dc"+
- "\0\u0930\0\u0984\0\u09d8\0\u0a2c\0\u0a80\0\u0ad4\0\u0b28\0\u0b7c"+
- "\0\u0bd0\0\u0c24\0\u0c78\0\u0ccc\0\u0d20\0\u0d74\0\u01f8\0\u01f8"+
- "\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u0dc8\0\u01f8"+
- "\0\u01f8\0\u0e1c\0\u0e70\0\u0ec4\0\u0f18\0\u0f6c\0\u01f8\0\u0fc0"+
- "\0\u1014\0\u01f8\0\u01f8\0\u1068\0\u10bc\0\u1110\0\u1164\0\u01f8"+
- "\0\u11b8\0\u120c\0\u01f8\0\u1260\0\u01f8\0\u12b4\0\u01f8\0\u1308"+
- "\0\u135c\0\u13b0\0\u01f8\0\u1404\0\u1458\0\u01f8\0\u01f8\0\u01f8"+
- "\0\u14ac\0\u1500\0\u1554\0\u15a8\0\u15fc\0\u01f8\0\u01f8\0\u1650"+
- "\0\u01f8\0\u16a4\0\u16f8\0\u174c\0\u17a0\0\u17f4\0\u1848\0\u189c"+
- "\0\u01f8\0\u01f8\0\u18f0\0\u1944\0\u1998\0\u19ec\0\u1a40\0\u1a94"+
- "\0\u1ae8\0\u039c\0\u1b3c\0\u1b90\0\u1be4\0\u1c38\0\u1c8c\0\u1ce0"+
- "\0\u1d34\0\u1d88\0\u1ddc\0\u1e30\0\u1e84\0\u1ed8\0\u1f2c\0\u1f80"+
- "\0\u1fd4\0\u2028\0\u207c\0\u20d0\0\u2124\0\u2178\0\u039c\0\u21cc"+
- "\0\u2220\0\u2274\0\u22c8\0\u231c\0\u2370\0\u039c\0\u23c4\0\u2418"+
- "\0\u246c\0\u24c0\0\u2514\0\u2568\0\u25bc\0\u2610\0\u2664\0\u26b8"+
- "\0\u270c\0\u2760\0\u27b4\0\u2808\0\u285c\0\u28b0\0\u2904\0\u2958"+
- "\0\u29ac\0\u2a00\0\u2a54\0\u2aa8\0\u2afc\0\u2b50\0\u2ba4\0\u01f8"+
- "\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8"+
- "\0\u01f8\0\u2bf8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8"+
- "\0\u2c4c\0\u01f8\0\u2ca0\0\u120c\0\u2cf4\0\u2d48\0\u2d9c\0\u2df0"+
- "\0\u2e44\0\u01f8\0\u01f8\0\u2c4c\0\u2ca0\0\u2e98\0\u01f8\0\u2eec"+
- "\0\u2f40\0\u01f8\0\u2f94\0\u2fe8\0\u303c\0\u01f8\0\u3090\0\u01f8"+
- "\0\u30e4\0\u01f8\0\u01f8\0\u17a0\0\u3138\0\u318c\0\u31e0\0\u31e0"+
- "\0\u3234\0\u3288\0\u32dc\0\u3330\0\u3384\0\u33d8\0\u342c\0\u3480"+
- "\0\u039c\0\u34d4\0\u3528\0\u357c\0\u35d0\0\u3624\0\u039c\0\u039c"+
- "\0\u3678\0\u36cc\0\u3720\0\u3774\0\u37c8\0\u039c\0\u381c\0\u3870"+
- "\0\u38c4\0\u3918\0\u396c\0\u39c0\0\u3a14\0\u039c\0\u3a68\0\u3abc"+
- "\0\u3b10\0\u3b64\0\u3bb8\0\u3c0c\0\u3c60\0\u3cb4\0\u3d08\0\u3d5c"+
- "\0\u039c\0\u3db0\0\u3e04\0\u3e58\0\u3eac\0\u3f00\0\u3f54\0\u3fa8"+
- "\0\u3ffc\0\u039c\0\u4050\0\u40a4\0\u40f8\0\u414c\0\u41a0\0\u41f4"+
- "\0\u4248\0\u429c\0\u42f0\0\u4344\0\u4398\0\u43ec\0\u4440\0\u4494"+
- "\0\u44e8\0\u453c\0\u039c\0\u4590\0\u45e4\0\u4638\0\u468c\0\u039c"+
- "\0\u46e0\0\u4734\0\u01f8\0\u4788\0\u47dc\0\u4830\0\u4884\0\u48d8"+
- "\0\u492c\0\u4980\0\u49d4\0\u4a28\0\u4a7c\0\u01f8\0\u4ad0\0\u4b24"+
- "\0\u4b78\0\u4bcc\0\u4c20\0\u01f8\0\u4c74\0\u4cc8\0\u4d1c\0\u4d70"+
- "\0\u4dc4\0\u4e18\0\u039c\0\u039c\0\u039c\0\u4e6c\0\u039c\0\u4ec0"+
- "\0\u039c\0\u4f14\0\u4f68\0\u4fbc\0\u5010\0\u5064\0\u50b8\0\u510c"+
- "\0\u5160\0\u51b4\0\u5208\0\u525c\0\u52b0\0\u5304\0\u039c\0\u5358"+
- "\0\u039c\0\u53ac\0\u5400\0\u5454\0\u54a8\0\u039c\0\u54fc\0\u5550"+
- "\0\u55a4\0\u55f8\0\u564c\0\u56a0\0\u56f4\0\u5748\0\u579c\0\u57f0"+
- "\0\u5844\0\u5898\0\u58ec\0\u5940\0\u5994\0\u59e8\0\u5a3c\0\u5a90"+
- "\0\u039c\0\u5ae4\0\u5b38\0\u5b8c\0\u5be0\0\u5c34\0\u5c88\0\u5cdc"+
- "\0\u039c\0\u5d30\0\u5d84\0\u5dd8\0\u5e2c\0\u039c\0\u5e80\0\u5ed4"+
- "\0\u5f28\0\u5f7c\0\u5fd0\0\u6024\0\u6078\0\u01f8\0\u2ca0\0\u01f8"+
- "\0\u60cc\0\u6120\0\u01f8\0\u6174\0\u61c8\0\u621c\0\u6270\0\u62c4"+
- "\0\u6318\0\u636c\0\u63c0\0\u6414\0\u6468\0\u64bc\0\u6510\0\u039c"+
- "\0\u6564\0\u65b8\0\u660c\0\u6660\0\u039c\0\u039c\0\u66b4\0\u039c"+
- "\0\u6708\0\u675c\0\u67b0\0\u6804\0\u6858\0\u039c\0\u68ac\0\u6900"+
- "\0\u6954\0\u69a8\0\u69fc\0\u039c\0\u6a50\0\u6aa4\0\u6af8\0\u039c"+
- "\0\u6b4c\0\u6ba0\0\u6bf4\0\u6c48\0\u6c9c\0\u6cf0\0\u6d44\0\u6d98"+
- "\0\u6dec\0\u6e40\0\u6e94\0\u6ee8\0\u039c\0\u6f3c\0\u6f90\0\u6fe4"+
- "\0\u7038\0\u708c\0\u70e0\0\u039c\0\u7134\0\u7188\0\u71dc\0\u7230"+
- "\0\u7284\0\u72d8\0\u039c\0\u732c\0\u039c\0\u7380\0\u73d4\0\u7428"+
- "\0\u747c\0\u74d0\0\u7524\0\u7578\0\u75cc\0\u7620\0\u7674\0\u76c8"+
- "\0\u771c\0\u7770\0\u77c4\0\u7818\0\u786c\0\u78c0\0\u7914\0\u039c"+
- "\0\u7968\0\u039c\0\u79bc\0\u7a10\0\u7a64\0\u039c\0\u7ab8\0\u7b0c"+
- "\0\u039c\0\u039c\0\u7b60\0\u7bb4\0\u7c08\0\u7c5c\0\u7cb0\0\u7d04"+
- "\0\u7d58\0\u039c\0\u7dac\0\u7e00\0\u7e54\0\u7ea8\0\u039c\0\u7efc"+
- "\0\u7f50\0\u7fa4\0\u7ff8\0\u039c\0\u804c\0\u80a0\0\u80f4\0\u8148"+
- "\0\u819c\0\u039c\0\u81f0\0\u8244\0\u8298\0\u82ec\0\u8340\0\u8394"+
- "\0\u83e8\0\u843c\0\u039c\0\u8490\0\u84e4\0\u039c\0\u8538\0\u858c"+
- "\0\u85e0\0\u039c\0\u039c\0\u8634\0\u8688\0\u86dc\0\u636c\0\u8730"+
- "\0\u8784\0\u87d8\0\u039c\0\u882c\0\u8880\0\u88d4\0\u8928\0\u897c"+
- "\0\u039c\0\u89d0\0\u8a24\0\u8a78\0\u8acc\0\u8b20\0\u8b74\0\u8bc8"+
- "\0\u8c1c\0\u8c70\0\u8cc4\0\u8d18\0\u8d6c\0\u039c\0\u8dc0\0\u039c"+
- "\0\u8e14\0\u039c\0\u8e68\0\u8ebc\0\u8f10\0\u8f64\0\u8fb8\0\u900c"+
- "\0\u9060\0\u039c\0\u039c\0\u90b4\0\u9108\0\u915c\0\u91b0\0\u9204"+
- "\0\u9258\0\u76c8\0\u92ac\0\u9300\0\u9354\0\u039c\0\u93a8\0\u93fc"+
- "\0\u039c\0\u039c\0\u9450\0\u94a4\0\u94f8\0\u954c\0\u95a0\0\u95f4"+
- "\0\u039c\0\u9648\0\u969c\0\u96f0\0\u9744\0\u9798\0\u97ec\0\u9840"+
- "\0\u039c\0\u9894\0\u98e8\0\u993c\0\u9990\0\u99e4\0\u039c\0\u9a38"+
- "\0\u039c\0\u039c\0\u9a8c\0\u9ae0\0\u9b34\0\u039c\0\u9b88\0\u9bdc"+
- "\0\u9c30\0\u039c\0\u9c84\0\u039c\0\u039c\0\u9cd8\0\u9d2c\0\u9d80"+
- "\0\u9dd4\0\u039c\0\u9e28\0\u9e7c\0\u039c\0\u9ed0\0\u9f24\0\u039c"+
- "\0\u9f78\0\u9fcc\0\u039c\0\u039c\0\ua020\0\ua074\0\ua0c8\0\ua11c"+
- "\0\ua170\0\u01f8\0\ua1c4\0\ua218\0\ua26c\0\u039c\0\u039c\0\ua2c0"+
- "\0\u039c\0\ua314\0\u039c\0\ua368\0\ua3bc\0\ua410\0\ua464\0\ua4b8"+
- "\0\ua50c\0\u039c\0\ua560\0\ua5b4\0\ua608\0\ua65c\0\ua6b0\0\ua704"+
- "\0\ua758\0\ua7ac\0\ua800\0\ua854\0\ua8a8\0\ua8fc\0\u039c\0\u039c"+
- "\0\u039c\0\ua950\0\ua9a4\0\ua9f8\0\uaa4c\0\uaaa0\0\uaaf4\0\uab48"+
- "\0\u039c\0\uab9c\0\uabf0\0\uac44\0\uac98\0\u039c\0\uacec\0\u039c"+
- "\0\uad40\0\uad94\0\uade8\0\uae3c\0\uae90\0\uaee4\0\uaf38\0\u039c"+
- "\0\uaf8c\0\uafe0\0\ub034\0\ub088\0\u039c\0\ub0dc\0\ub130\0\ub184"+
- "\0\ub1d8\0\u174c\0\ub22c\0\ub280\0\u039c\0\u039c\0\u039c\0\ub2d4"+
- "\0\u039c";
-
- private static int [] zzUnpackRowMap() {
- int [] result = new int[705];
- 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++);
+ 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;
}
- return j;
- }
- /**
- * The transition table of the DFA
- */
- private static final int [] ZZ_TRANS = zzUnpackTrans();
+ /**
+ * Translates a state to a row index in the transition table
+ */
+ private static final int[] ZZ_ROWMAP = zzUnpackRowMap();
- private static final String ZZ_TRANS_PACKED_0 =
- "\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\7"+
- "\1\16\1\17\1\20\1\21\1\12\1\22\1\23\1\24"+
- "\1\25\2\15\2\25\1\15\1\26\1\7\1\27\1\30"+
- "\1\31\1\32\1\33\1\34\1\15\1\35\1\36\1\37"+
- "\1\40\1\41\1\42\1\43\1\44\1\45\1\46\1\47"+
- "\1\15\1\50\1\15\1\51\1\52\1\15\1\53\2\15"+
- "\1\54\12\15\1\55\1\56\1\57\1\60\1\61\1\62"+
- "\1\63\1\64\1\65\1\66\1\67\1\70\1\71\1\72"+
- "\1\73\1\74\1\75\1\76\1\77\1\7\1\12\1\7"+
- "\1\100\1\101\1\102\13\100\1\103\10\100\1\104\74\100"+
- "\1\105\1\101\1\102\24\105\1\106\1\103\73\105\1\7"+
- "\1\107\1\110\1\111\2\7\1\112\4\7\1\113\1\114"+
- "\4\7\2\112\2\7\1\112\4\7\46\112\22\7\1\111"+
- "\1\7\1\115\1\116\1\117\7\115\1\120\111\115\1\121"+
- "\1\101\1\102\24\121\1\122\1\121\1\123\72\121\126\0"+
- "\1\11\124\0\1\12\10\0\1\12\105\0\1\12\5\0"+
- "\1\124\1\125\7\0\1\126\123\0\1\127\114\0\2\15"+
- "\7\0\7\15\4\0\46\15\23\0\1\15\10\0\1\130"+
- "\124\0\1\131\1\132\4\0\2\133\2\0\2\133\105\0"+
- "\1\134\3\0\1\135\1\136\1\0\1\137\3\0\2\134"+
- "\2\0\1\134\4\0\46\134\37\0\1\140\1\0\1\141"+
- "\123\0\1\142\117\0\1\133\5\0\1\143\1\144\1\145"+
- "\1\0\1\146\1\147\1\150\6\0\1\150\22\0\1\145"+
- "\55\0\1\133\5\0\2\25\2\0\2\25\1\150\6\0"+
- "\1\150\104\0\1\151\10\0\1\152\103\0\2\15\7\0"+
- "\7\15\4\0\1\15\1\153\44\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\2\15\1\154\1\155\42\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\3\15"+
- "\1\156\12\15\1\157\5\15\1\160\1\161\20\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\6\15\1\162"+
- "\1\15\1\163\35\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\3\15\1\164\3\15\1\165\6\15\1\166"+
- "\1\15\1\167\25\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\2\15\1\170\6\15\1\171\1\15\1\172"+
- "\3\15\1\173\26\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\1\15\1\174\22\15\1\175\21\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\176"+
- "\1\177\7\15\1\200\32\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\1\15\1\201\1\202\1\203\3\15"+
- "\1\204\10\15\1\205\1\15\1\206\23\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\6\15\1\207\1\15"+
- "\1\210\4\15\1\211\5\15\1\212\22\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\6\15\1\213\1\15"+
- "\1\214\35\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\2\15\1\215\4\15\1\216\3\15\1\217\6\15"+
- "\1\220\23\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\3\15\1\221\2\15\1\222\1\223\2\15\1\224"+
- "\1\225\32\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\2\15\1\226\4\15\1\227\36\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\12\15\1\230\5\15"+
- "\1\231\25\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\1\15\1\232\1\15\1\233\7\15\1\234\2\15"+
- "\1\235\27\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\1\236\45\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\3\15\1\237\3\15\1\240\36\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\241"+
- "\4\15\1\242\36\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\11\15\1\243\34\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\3\15\1\244\7\15\1\245"+
- "\32\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\10\15\1\246\35\15\23\0\1\15\15\0\1\247\123\0"+
- "\1\250\75\0\1\251\25\0\1\252\76\0\1\253\24\0"+
- "\1\254\77\0\1\255\23\0\1\256\123\0\1\257\106\0"+
- "\1\100\2\0\13\100\1\0\10\100\1\0\74\100\2\0"+
- "\1\102\121\0\1\260\2\0\13\260\1\261\1\262\3\260"+
- "\2\262\2\260\1\263\1\264\1\260\1\265\1\266\6\260"+
- "\1\267\1\270\1\260\1\271\1\260\1\272\7\260\1\273"+
- "\41\260\3\0\1\105\2\0\24\105\2\0\73\105\1\260"+
- "\2\0\13\260\1\261\10\260\1\263\1\264\1\260\1\265"+
- "\1\266\6\260\1\267\1\270\1\260\1\271\1\260\1\272"+
- "\7\260\1\273\41\260\5\0\1\110\124\0\1\111\10\0"+
- "\1\111\105\0\1\111\7\0\2\274\1\275\3\0\1\276"+
- "\1\277\1\0\7\274\4\0\46\274\23\0\1\274\3\0"+
- "\1\111\2\0\1\274\5\0\1\114\4\0\2\274\2\0"+
- "\1\274\4\0\46\274\22\0\1\111\3\0\1\117\125\0"+
- "\1\300\1\0\1\301\12\0\2\301\2\0\1\301\4\0"+
- "\46\301\24\0\1\121\2\0\24\121\1\0\1\121\1\0"+
- "\72\121\1\302\2\0\24\302\1\263\1\302\1\303\1\265"+
- "\1\266\6\302\1\267\1\270\1\302\1\304\1\302\1\272"+
- "\7\302\1\305\41\302\3\0\1\124\1\306\1\307\121\124"+
- "\5\310\1\311\116\310\11\0\1\312\120\0\1\313\12\0"+
- "\2\313\2\0\1\313\4\0\46\313\43\0\2\133\2\0"+
- "\2\133\1\150\6\0\1\150\75\0\1\314\1\134\1\315"+
- "\2\0\1\316\1\317\2\0\2\134\2\314\2\134\1\314"+
- "\4\0\46\314\23\0\1\134\15\0\1\320\121\0\1\321"+
- "\1\0\1\322\123\0\1\323\117\0\1\133\5\0\1\143"+
- "\1\144\2\0\1\146\1\147\1\150\6\0\1\150\100\0"+
- "\1\133\5\0\2\144\2\0\2\144\1\150\6\0\1\150"+
- "\106\0\1\324\1\325\1\0\4\325\4\0\1\325\1\0"+
- "\2\325\1\0\1\325\6\0\2\325\12\0\1\325\1\0"+
- "\1\325\5\0\2\325\41\0\1\133\5\0\1\147\1\144"+
- "\2\0\2\147\1\150\6\0\1\150\100\0\1\133\5\0"+
- "\1\326\1\144\2\0\2\326\1\150\6\0\1\150\106\0"+
- "\2\327\2\0\2\327\1\0\1\330\66\0\1\330\14\0"+
- "\2\15\7\0\7\15\4\0\2\15\1\331\43\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\332"+
- "\11\15\1\333\22\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\10\15\1\334\35\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\5\15\1\335\40\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\6\15\1\336"+
- "\37\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\3\15\1\337\42\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\11\15\1\340\34\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\14\15\1\341\31\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\6\15\1\342"+
- "\2\15\1\343\4\15\1\344\27\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\10\15\1\345\35\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\346"+
- "\42\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\1\15\1\347\44\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\11\15\1\350\34\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\3\15\1\351\3\15\1\352"+
- "\36\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\1\353\20\15\1\354\24\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\12\15\1\355\33\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\14\15\1\356\31\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15"+
- "\1\357\43\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\17\15\1\360\5\15\1\361\20\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\23\15\1\362\22\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\16\15"+
- "\1\363\27\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\3\15\1\364\7\15\1\365\6\15\1\366\23\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\16\15"+
- "\1\367\27\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\1\15\1\370\44\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\26\15\1\371\17\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\1\15\1\372\10\15"+
- "\1\373\33\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\21\15\1\374\24\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\6\15\1\375\2\15\1\376\34\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\32\15"+
- "\1\377\13\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\21\15\1\u0100\24\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\2\15\1\u0101\43\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\14\15\1\u0102\1\15"+
- "\1\u0103\27\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\15\15\1\u0104\1\u0105\27\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\21\15\1\u0106\24\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\10\15\1\u0107"+
- "\35\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\16\15\1\u0108\27\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\5\15\1\u0109\40\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\1\15\1\u010a\44\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\10\15\1\u010b"+
- "\35\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\10\15\1\u010c\35\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\10\15\1\u010d\35\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\3\15\1\u010e\42\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\u010f"+
- "\34\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\12\15\1\u0110\33\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\2\15\1\u0111\4\15\1\u0112\2\15\1\u0113"+
- "\33\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\5\15\1\u0114\40\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\1\u0115\45\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\3\15\1\u0116\42\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\5\15\1\u0117\1\u0118"+
- "\1\u0119\6\15\1\u011a\27\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\1\15\1\u011b\44\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\12\15\1\u011c\33\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\11\15"+
- "\1\u011d\34\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\11\15\1\u011e\34\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\1\15\1\u011f\44\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\44\15\1\u0120\1\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\23\15"+
- "\1\u0121\22\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\15\15\1\u0122\30\15\23\0\1\15\15\0\1\u0123"+
- "\125\0\1\u0124\3\0\2\u0124\116\0\2\u0125\1\0\4\u0125"+
- "\4\0\1\u0125\1\0\2\u0125\1\0\1\u0125\6\0\2\u0125"+
- "\12\0\1\u0125\1\0\1\u0125\5\0\2\u0125\47\0\2\u0126"+
- "\1\0\4\u0126\4\0\1\u0126\1\0\2\u0126\1\0\1\u0126"+
- "\6\0\2\u0126\12\0\1\u0126\1\0\1\u0126\5\0\2\u0126"+
- "\36\0\1\u0127\12\0\2\u0127\2\0\1\u0127\4\0\46\u0127"+
- "\40\0\1\276\1\277\122\0\1\277\1\0\1\u0128\113\0"+
- "\1\u0129\12\0\2\u0129\2\0\1\u0129\4\0\46\u0129\32\0"+
- "\1\u012a\1\301\1\u012b\2\0\1\115\1\u012c\2\0\2\301"+
- "\2\u012a\2\301\1\u012a\4\0\46\u012a\23\0\1\301\2\0"+
- "\1\307\121\0\5\310\1\u012d\116\310\4\0\1\307\1\311"+
- "\124\0\2\313\3\0\1\u012e\3\0\7\313\4\0\46\313"+
- "\23\0\1\313\6\0\2\314\1\u012f\2\0\1\316\1\u0130"+
- "\1\u0131\1\0\7\314\4\0\46\314\23\0\1\314\6\0"+
- "\1\u0132\12\0\2\u0132\2\0\1\u0132\4\0\46\u0132\32\0"+
- "\1\u0133\5\0\1\317\4\0\2\u0133\2\0\1\u0133\4\0"+
- "\46\u0133\41\0\1\u0134\125\0\2\u0135\1\0\4\u0135\4\0"+
- "\1\u0135\1\0\2\u0135\1\0\1\u0135\6\0\2\u0135\12\0"+
- "\1\u0135\1\0\1\u0135\5\0\2\u0135\41\0\1\133\5\0"+
- "\1\u0136\1\144\2\0\2\u0136\1\150\6\0\1\150\106\0"+
- "\2\327\2\0\2\327\105\0\2\15\7\0\7\15\4\0"+
- "\3\15\1\u0137\42\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\13\15\1\u0138\32\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\7\15\1\u0139\36\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\14\15\1\u013a"+
- "\31\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\20\15\1\u013b\25\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\2\15\1\u013c\43\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\16\15\1\u013d\27\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u013e"+
- "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\2\15\1\u013f\43\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\5\15\1\u0140\40\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\16\15\1\u0141\27\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\6\15\1\u0142"+
- "\2\15\1\u0143\34\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\6\15\1\u0144\37\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\1\15\1\u0145\7\15\1\u0146"+
- "\34\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\21\15\1\u0147\24\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\6\15\1\u0148\37\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\2\15\1\u0149\43\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\u014a"+
- "\34\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\1\15\1\u014b\44\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\16\15\1\u014c\27\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\11\15\1\u014d\34\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u014e"+
- "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\16\15\1\u014f\27\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\5\15\1\u0150\40\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\2\15\1\u0151\43\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\16\15\1\u0152"+
- "\27\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\26\15\1\u0153\17\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\26\15\1\u0154\17\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\7\15\1\u0155\36\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\6\15\1\u0156"+
- "\37\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\2\15\1\u0157\43\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\11\15\1\u0158\34\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\2\15\1\u0159\43\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\u015a"+
- "\44\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\7\15\1\u015b\6\15\1\u015c\27\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\2\15\1\u015d\43\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\7\15\1\u015e"+
- "\36\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\3\15\1\u015f\42\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\2\15\1\u0160\43\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\16\15\1\u0161\27\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\u0162"+
- "\42\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\6\15\1\u0163\37\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\7\15\1\u0164\36\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\3\15\1\u0165\42\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\5\15\1\u0166"+
- "\40\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\26\15\1\u0167\17\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\14\15\1\u0168\31\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\20\15\1\u0169\25\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\16\15\1\u016a"+
- "\27\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\24\15\1\u016b\21\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\11\15\1\u016c\34\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\10\15\1\u016d\13\15\1\u016e"+
- "\21\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\4\15\1\u016f\41\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\16\15\1\u0170\27\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\22\15\1\u0171\23\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\20\15\1\u0172"+
- "\25\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\13\15\1\u0173\32\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\1\15\1\u0174\44\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\2\15\1\u0175\43\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\14\15\1\u0176"+
- "\31\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\27\15\1\u0177\3\15\1\u0178\6\15\1\u0179\3\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\7\15\1\u017a"+
- "\36\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\12\15\1\u017b\33\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\1\u017c\45\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\12\15\1\u017d\33\15\23\0\1\15"+
- "\17\0\1\u017e\3\0\2\u017e\116\0\2\u017f\1\0\4\u017f"+
- "\4\0\1\u017f\1\0\2\u017f\1\0\1\u017f\6\0\2\u017f"+
- "\12\0\1\u017f\1\0\1\u017f\5\0\2\u017f\47\0\2\u0180"+
- "\1\0\4\u0180\4\0\1\u0180\1\0\2\u0180\1\0\1\u0180"+
- "\6\0\2\u0180\12\0\1\u0180\1\0\1\u0180\5\0\2\u0180"+
- "\36\0\2\u0127\4\0\1\276\1\277\1\0\7\u0127\4\0"+
- "\46\u0127\23\0\1\u0127\1\u0128\2\0\13\u0128\1\u0181\105\u0128"+
- "\6\0\2\u0129\1\u0182\2\0\1\u0183\3\0\7\u0129\4\0"+
- "\46\u0129\23\0\1\u0129\6\0\2\u012a\1\u0184\2\0\1\115"+
- "\1\u0185\1\u0186\1\0\7\u012a\4\0\46\u012a\23\0\1\u012a"+
- "\6\0\1\u0187\12\0\2\u0187\2\0\1\u0187\4\0\46\u0187"+
- "\32\0\1\u0188\5\0\1\u012c\4\0\2\u0188\2\0\1\u0188"+
- "\4\0\46\u0188\24\0\4\310\1\307\1\u012d\116\310\6\0"+
- "\1\u0189\12\0\2\u0189\2\0\1\u0189\4\0\46\u0189\32\0"+
- "\1\u0133\5\0\1\u0130\1\u0131\3\0\2\u0133\2\0\1\u0133"+
- "\4\0\46\u0133\40\0\1\u0131\1\0\1\u018a\113\0\1\u018b"+
- "\1\u0132\3\0\1\316\1\317\2\0\2\u0132\2\u018b\2\u0132"+
- "\1\u018b\4\0\46\u018b\23\0\1\u0132\6\0\2\u0133\1\u018c"+
- "\3\0\1\u018d\1\u0131\1\0\7\u0133\4\0\46\u0133\23\0"+
- "\1\u0133\17\0\2\u018e\1\0\4\u018e\4\0\1\u018e\1\0"+
- "\2\u018e\1\0\1\u018e\6\0\2\u018e\12\0\1\u018e\1\0"+
- "\1\u018e\5\0\2\u018e\41\0\1\133\5\0\1\u018f\1\144"+
- "\2\0\2\u018f\1\150\6\0\1\150\75\0\2\15\7\0"+
- "\7\15\4\0\4\15\1\u0190\41\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\1\15\1\u0191\44\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\24\15\1\u0192"+
- "\21\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\7\15\1\u0193\36\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\10\15\1\u0194\35\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\20\15\1\u0195\25\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\u0196"+
- "\34\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\12\15\1\u0197\33\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\6\15\1\u0198\37\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\11\15\1\u0199\34\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\12\15\1\u019a"+
- "\33\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\30\15\1\u019b\10\15\1\u019c\4\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\11\15\1\u019d\34\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\u019e"+
- "\44\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\5\15\1\u019f\40\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\1\15\1\u01a0\44\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\12\15\1\u01a1\33\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\32\15\1\u01a2"+
- "\13\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\6\15\1\u01a3\37\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\2\15\1\u01a4\43\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\33\15\1\u01a5\12\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u01a6"+
- "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\16\15\1\u01a7\27\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\17\15\1\u01a8\26\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\7\15\1\u01a9\36\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\u01aa"+
- "\42\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\1\15\1\u01ab\44\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\3\15\1\u01ac\42\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\1\15\1\u01ad\44\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u01ae"+
- "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\15\15\1\u01af\30\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\3\15\1\u01b0\42\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\13\15\1\u01b1\32\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\u01b2"+
- "\34\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\12\15\1\u01b3\33\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\23\15\1\u01b4\22\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\2\15\1\u01b5\43\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\23\15\1\u01b6"+
- "\22\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\16\15\1\u01b7\27\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\11\15\1\u01b8\34\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\11\15\1\u01b9\34\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\37\15\1\u01ba"+
- "\2\15\1\u01bb\3\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\2\15\1\u01bc\43\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\32\15\1\u01bd\13\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u01be"+
- "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\11\15\1\u01bf\34\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\3\15\1\u01c0\42\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\3\15\1\u01c1\42\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\12\15\1\u01c2"+
- "\33\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\1\15\1\u01c3\44\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\1\u01c4\45\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\14\15\1\u01c5\31\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\10\15\1\u01c6\35\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\1\15"+
- "\1\u01c7\44\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\12\15\1\u01c8\33\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\2\15\1\u01c9\43\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\30\15\1\u01ca\15\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\10\15"+
- "\1\u01cb\35\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\2\15\1\u01cc\43\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\10\15\1\u01cd\35\15\23\0\1\15"+
- "\1\u0128\2\0\11\u0128\1\u0181\1\u0128\1\u0181\105\u0128\6\0"+
- "\1\u01ce\12\0\2\u01ce\2\0\1\u01ce\4\0\46\u01ce\32\0"+
- "\1\u01cf\12\0\2\u01cf\2\0\1\u01cf\4\0\46\u01cf\32\0"+
- "\1\u0188\5\0\1\u0185\1\u0186\3\0\2\u0188\2\0\1\u0188"+
- "\4\0\46\u0188\40\0\1\u0186\1\0\1\u01d0\113\0\1\u01d1"+
- "\1\u0187\3\0\1\115\1\u012c\2\0\2\u0187\2\u01d1\2\u0187"+
- "\1\u01d1\4\0\46\u01d1\23\0\1\u0187\6\0\2\u0188\1\u01d2"+
- "\3\0\1\u01d3\1\u0186\1\0\7\u0188\4\0\46\u0188\23\0"+
- "\1\u0188\6\0\1\u018b\1\u0189\3\0\1\316\1\u0130\1\u0131"+
- "\1\0\2\u0189\2\u018b\2\u0189\1\u018b\4\0\46\u018b\23\0"+
- "\1\u0189\1\u018a\2\0\13\u018a\1\u01d4\105\u018a\6\0\2\u018b"+
- "\1\u018c\2\0\1\316\1\u0130\1\u0131\1\0\7\u018b\4\0"+
- "\46\u018b\23\0\1\u018b\6\0\1\u01d5\12\0\2\u01d5\2\0"+
- "\1\u01d5\4\0\46\u01d5\40\0\1\u018d\1\u0131\125\0\2\u01d6"+
- "\1\0\4\u01d6\4\0\1\u01d6\1\0\2\u01d6\1\0\1\u01d6"+
- "\6\0\2\u01d6\12\0\1\u01d6\1\0\1\u01d6\5\0\2\u01d6"+
- "\41\0\1\133\5\0\1\u01d7\1\144\2\0\2\u01d7\1\150"+
- "\6\0\1\150\75\0\2\15\7\0\7\15\4\0\10\15"+
- "\1\u01d8\35\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\2\15\1\u01d9\43\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\23\15\1\u01da\22\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\14\15\1\u01db\31\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\10\15"+
- "\1\u01dc\35\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\41\15\1\u01dd\4\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\5\15\1\u01de\40\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\16\15\1\u01df\27\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\1\15"+
- "\1\u01e0\44\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\1\15\1\u01e1\44\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\20\15\1\u01e2\25\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\12\15\1\u01e3\33\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\10\15"+
- "\1\u01e4\35\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\1\15\1\u01e5\44\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\21\15\1\u01e6\24\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\3\15\1\u01e7\42\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\11\15"+
- "\1\u01e8\34\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\2\15\1\u01e9\43\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\15\15\1\u01ea\30\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\10\15\1\u01eb\35\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\10\15"+
- "\1\u01ec\4\15\1\u01ed\30\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\23\15\1\u01ee\22\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\11\15\1\u01ef\34\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\23\15"+
- "\1\u01f0\22\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\12\15\1\u01f1\33\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\14\15\1\u01f2\31\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\16\15\1\u01f3\27\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15"+
- "\1\u01f4\43\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\5\15\1\u01f5\40\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\12\15\1\u01f6\33\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\23\15\1\u01f7\22\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\16\15"+
- "\1\u01f8\27\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\12\15\1\u01f9\33\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\20\15\1\u01fa\25\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\7\15\1\u01fb\36\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\3\15"+
- "\1\u01fc\42\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\1\15\1\u01fd\44\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\5\15\1\u01fe\40\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\30\15\1\u01ff\13\15"+
- "\1\u0200\1\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\11\15\1\u0201\34\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\26\15\1\u0202\17\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\5\15\1\u0203\40\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\6\15"+
- "\1\u0204\37\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\26\15\1\u0205\17\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\16\15\1\u0206\27\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\23\15\1\u0207\22\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\1\15"+
- "\1\u0208\44\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\10\15\1\u0209\35\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\26\15\1\u020a\17\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\1\15\1\u020b\44\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\12\15"+
- "\1\u020c\33\15\23\0\1\15\6\0\2\u01ce\3\0\1\u0183"+
- "\3\0\7\u01ce\4\0\46\u01ce\23\0\1\u01ce\6\0\1\u01d1"+
- "\1\u01cf\3\0\1\115\1\u0185\1\u0186\1\0\2\u01cf\2\u01d1"+
- "\2\u01cf\1\u01d1\4\0\46\u01d1\23\0\1\u01cf\1\u01d0\2\0"+
- "\13\u01d0\1\u020d\105\u01d0\6\0\2\u01d1\1\u01d2\2\0\1\115"+
- "\1\u0185\1\u0186\1\0\7\u01d1\4\0\46\u01d1\23\0\1\u01d1"+
- "\6\0\1\u020e\12\0\2\u020e\2\0\1\u020e\4\0\46\u020e"+
- "\40\0\1\u01d3\1\u0186\106\0\1\u018a\2\0\10\u018a\1\u020f"+
- "\1\u01d4\1\u018a\1\u01d4\105\u018a\6\0\2\u01d5\4\0\1\u018d"+
- "\1\u0131\1\0\7\u01d5\4\0\46\u01d5\23\0\1\u01d5\17\0"+
- "\2\u0210\1\0\4\u0210\4\0\1\u0210\1\0\2\u0210\1\0"+
- "\1\u0210\6\0\2\u0210\12\0\1\u0210\1\0\1\u0210\5\0"+
- "\2\u0210\41\0\1\133\5\0\1\u0211\1\144\2\0\2\u0211"+
- "\1\150\6\0\1\150\75\0\2\15\7\0\7\15\4\0"+
- "\37\15\1\u0212\6\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\6\15\1\u0213\37\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\13\15\1\u0214\32\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\u0215"+
- "\44\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\16\15\1\u0216\27\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\3\15\1\u0217\42\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\14\15\1\u0218\31\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u0219"+
- "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\3\15\1\u021a\42\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\3\15\1\u021b\42\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\1\15\1\u021c\44\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\43\15\1\u021d"+
- "\2\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\34\15\1\u021e\11\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\5\15\1\u021f\40\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\3\15\1\u0220\42\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\u0221"+
- "\42\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\2\15\1\u0222\43\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\2\15\1\u0223\43\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\10\15\1\u0224\35\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\37\15\1\u0225"+
- "\6\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\11\15\1\u0226\34\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\3\15\1\u0227\42\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\5\15\1\u0228\40\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\u0229"+
- "\42\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\22\15\1\u022a\23\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\7\15\1\u022b\36\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\24\15\1\u022c\21\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\u022d"+
- "\44\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\3\15\1\u022e\42\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\11\15\1\u022f\34\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\6\15\1\u0230\37\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\13\15\1\u0231"+
- "\32\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\2\15\1\u0232\43\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\2\15\1\u0233\43\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\11\15\1\u0234\34\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\u0235"+
- "\34\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\2\15\1\u0236\43\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\6\15\1\u0237\37\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\14\15\1\u0238\31\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\u0239"+
- "\34\15\23\0\1\15\1\u01d0\2\0\10\u01d0\1\u023a\1\u020d"+
- "\1\u01d0\1\u020d\105\u01d0\6\0\2\u020e\4\0\1\u01d3\1\u0186"+
- "\1\0\7\u020e\4\0\46\u020e\23\0\1\u020e\17\0\2\u023b"+
- "\1\0\4\u023b\4\0\1\u023b\1\0\2\u023b\1\0\1\u023b"+
- "\6\0\2\u023b\12\0\1\u023b\1\0\1\u023b\5\0\2\u023b"+
- "\41\0\1\133\5\0\1\u023c\1\144\2\0\2\u023c\1\150"+
- "\6\0\1\150\75\0\2\15\7\0\7\15\4\0\7\15"+
- "\1\u023d\36\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\2\15\1\u023e\43\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\3\15\1\u023f\42\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\31\15\1\u0240\14\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\26\15"+
- "\1\u0241\17\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\2\15\1\u0242\43\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\23\15\1\u0243\22\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\5\15\1\u0244\40\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\26\15"+
- "\1\u0245\17\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\3\15\1\u0246\42\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\12\15\1\u0247\33\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\2\15\1\u0248\43\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\16\15"+
- "\1\u0249\27\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\5\15\1\u024a\40\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\36\15\1\u024b\7\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\10\15\1\u024c\35\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15"+
- "\1\u024d\43\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\7\15\1\u024e\36\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\11\15\1\u024f\34\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\10\15\1\u0250\35\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\10\15"+
- "\1\u0251\35\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\12\15\1\u0252\33\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\12\15\1\u0253\33\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\23\15\1\u0254\22\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15"+
- "\1\u0255\43\15\23\0\1\15\6\0\2\15\7\0\3\15"+
- "\1\u0256\3\15\4\0\46\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\23\15\1\u0257\22\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\1\15\1\u0258\44\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\20\15"+
- "\1\u0259\25\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\1\15\1\u025a\44\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\12\15\1\u025b\33\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\31\15\1\u025c\11\15"+
- "\1\u025d\2\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\22\15\1\u025e\23\15\23\0\1\15\17\0\2\u025f"+
- "\1\0\4\u025f\4\0\1\u025f\1\0\2\u025f\1\0\1\u025f"+
- "\6\0\2\u025f\12\0\1\u025f\1\0\1\u025f\5\0\2\u025f"+
- "\41\0\1\133\5\0\1\u0260\1\144\2\0\2\u0260\1\150"+
- "\6\0\1\150\75\0\2\15\7\0\7\15\4\0\24\15"+
- "\1\u0261\21\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\26\15\1\u0262\17\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\7\15\1\u0263\36\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\2\15\1\u0264\43\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15"+
- "\1\u0265\43\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\2\15\1\u0266\43\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\11\15\1\u0267\34\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\26\15\1\u0268\17\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\7\15"+
- "\1\u0269\36\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\2\15\1\u026a\43\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\7\15\1\u026b\36\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\11\15\1\u026c\34\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\14\15"+
- "\1\u026d\31\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\24\15\1\u026e\21\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\2\15\1\u026f\43\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\14\15\1\u0270\31\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15"+
- "\1\u0271\43\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\3\15\1\u0272\42\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\2\15\1\u0273\43\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\14\15\1\u0274\31\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\12\15"+
- "\1\u0275\33\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\12\15\1\u0276\33\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\7\15\1\u0277\36\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\11\15\1\u0278\34\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\16\15"+
- "\1\u0279\27\15\23\0\1\15\17\0\2\u027a\1\0\4\u027a"+
- "\4\0\1\u027a\1\0\2\u027a\1\0\1\u027a\6\0\2\u027a"+
- "\12\0\1\u027a\1\0\1\u027a\5\0\2\u027a\41\0\1\133"+
- "\5\0\1\u027b\1\144\2\0\2\u027b\1\150\6\0\1\150"+
- "\75\0\2\15\7\0\7\15\4\0\12\15\1\u027c\33\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\13\15"+
- "\1\u027d\32\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\11\15\1\u027e\34\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\20\15\1\u027f\25\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\20\15\1\u0280\25\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\15\15"+
- "\1\u0281\30\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\3\15\1\u0282\42\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\6\15\1\u0283\37\15\23\0\1\15"+
- "\6\0\2\15\7\0\7\15\4\0\12\15\1\u0284\33\15"+
- "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\37\15"+
- "\1\u0285\6\15\23\0\1\15\6\0\2\15\7\0\7\15"+
- "\4\0\44\15\1\u0286\1\15\23\0\1\15\6\0\2\15"+
- "\7\0\7\15\4\0\1\u0287\45\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\11\15\1\u0288\34\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\10\15\1\u0289"+
- "\35\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\10\15\1\u028a\35\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\7\15\1\u028b\36\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\3\15\1\u028c\42\15\23\0"+
- "\1\15\11\0\1\133\5\0\1\u028d\1\144\2\0\2\u028d"+
- "\1\150\6\0\1\150\75\0\2\15\7\0\7\15\4\0"+
- "\2\15\1\u028e\43\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\10\15\1\u028f\35\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\35\15\1\u0290\10\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\14\15\1\u0291"+
- "\31\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\2\15\1\u0292\43\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\7\15\1\u0293\36\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\13\15\1\u0294\32\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\16\15\1\u0295"+
- "\27\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\23\15\1\u0296\22\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\26\15\1\u0297\17\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\21\15\1\u0298\24\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\22\15\1\u0299"+
- "\23\15\23\0\1\15\11\0\1\133\5\0\1\u029a\1\144"+
- "\2\0\2\u029a\1\150\6\0\1\150\75\0\2\15\7\0"+
- "\7\15\4\0\40\15\1\u029b\5\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\14\15\1\u029c\31\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\13\15\1\u029d"+
- "\32\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\2\15\1\u029e\43\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\44\15\1\u029f\1\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\24\15\1\u02a0\21\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\23\15\1\u02a1"+
- "\22\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\2\15\1\u02a2\43\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\3\15\1\u02a3\42\15\23\0\1\15\11\0"+
- "\1\133\5\0\1\u02a4\1\144\2\0\2\u02a4\1\150\6\0"+
- "\1\150\75\0\2\15\7\0\7\15\4\0\16\15\1\u02a5"+
- "\27\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\6\15\1\u02a6\37\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\3\15\1\u02a7\42\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\14\15\1\u02a8\31\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\13\15\1\u02a9"+
- "\32\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\12\15\1\u02aa\33\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\6\15\1\u02ab\37\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\21\15\1\u02ac\24\15\23\0"+
- "\1\15\11\0\1\133\5\0\1\u02ad\1\144\2\0\2\u02ad"+
- "\1\150\6\0\1\150\75\0\2\15\7\0\7\15\4\0"+
- "\12\15\1\u02ae\33\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\16\15\1\u02af\27\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\23\15\1\u02b0\22\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u02b1"+
- "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\44\15\1\u02b2\1\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\44\15\1\u02b3\1\15\23\0\1\15\11\0"+
- "\1\133\5\0\1\u02b4\1\144\2\0\2\u02b4\1\150\6\0"+
- "\1\150\75\0\2\15\7\0\7\15\4\0\21\15\1\u02b5"+
- "\24\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\12\15\1\u02b6\33\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\40\15\1\u02b7\5\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\13\15\1\u02b8\32\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\13\15\1\u02b9"+
- "\32\15\23\0\1\15\11\0\1\133\5\0\1\u02ba\1\144"+
- "\2\0\2\u02ba\1\150\6\0\1\150\75\0\2\15\7\0"+
- "\7\15\4\0\11\15\1\u02bb\34\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\16\15\1\u02bc\27\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\23\15\1\u02bd"+
- "\22\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+
- "\23\15\1\u02be\22\15\23\0\1\15\6\0\2\15\7\0"+
- "\7\15\4\0\22\15\1\u02bf\23\15\23\0\1\15\6\0"+
- "\2\15\7\0\7\15\4\0\12\15\1\u02c0\33\15\23\0"+
- "\1\15\6\0\2\15\7\0\7\15\4\0\21\15\1\u02c1"+
- "\24\15\23\0\1\15";
+ private static final String ZZ_ROWMAP_PACKED_0
+ = "\0\0\0\124\0\250\0\374\0\u0150\0\u01a4\0\u01f8\0\u024c"
+ + "\0\u01f8\0\u02a0\0\u02f4\0\u0348\0\u039c\0\u03f0\0\u0444\0\u0498"
+ + "\0\u04ec\0\u0540\0\u01f8\0\u0594\0\u05e8\0\u063c\0\u01f8\0\u01f8"
+ + "\0\u0690\0\u06e4\0\u0738\0\u078c\0\u07e0\0\u0834\0\u0888\0\u08dc"
+ + "\0\u0930\0\u0984\0\u09d8\0\u0a2c\0\u0a80\0\u0ad4\0\u0b28\0\u0b7c"
+ + "\0\u0bd0\0\u0c24\0\u0c78\0\u0ccc\0\u0d20\0\u0d74\0\u01f8\0\u01f8"
+ + "\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u0dc8\0\u01f8"
+ + "\0\u01f8\0\u0e1c\0\u0e70\0\u0ec4\0\u0f18\0\u0f6c\0\u01f8\0\u0fc0"
+ + "\0\u1014\0\u01f8\0\u01f8\0\u1068\0\u10bc\0\u1110\0\u1164\0\u01f8"
+ + "\0\u11b8\0\u120c\0\u01f8\0\u1260\0\u01f8\0\u12b4\0\u01f8\0\u1308"
+ + "\0\u135c\0\u13b0\0\u01f8\0\u1404\0\u1458\0\u01f8\0\u01f8\0\u01f8"
+ + "\0\u14ac\0\u1500\0\u1554\0\u15a8\0\u15fc\0\u01f8\0\u01f8\0\u1650"
+ + "\0\u01f8\0\u16a4\0\u16f8\0\u174c\0\u17a0\0\u17f4\0\u1848\0\u189c"
+ + "\0\u01f8\0\u01f8\0\u18f0\0\u1944\0\u1998\0\u19ec\0\u1a40\0\u1a94"
+ + "\0\u1ae8\0\u039c\0\u1b3c\0\u1b90\0\u1be4\0\u1c38\0\u1c8c\0\u1ce0"
+ + "\0\u1d34\0\u1d88\0\u1ddc\0\u1e30\0\u1e84\0\u1ed8\0\u1f2c\0\u1f80"
+ + "\0\u1fd4\0\u2028\0\u207c\0\u20d0\0\u2124\0\u2178\0\u039c\0\u21cc"
+ + "\0\u2220\0\u2274\0\u22c8\0\u231c\0\u2370\0\u039c\0\u23c4\0\u2418"
+ + "\0\u246c\0\u24c0\0\u2514\0\u2568\0\u25bc\0\u2610\0\u2664\0\u26b8"
+ + "\0\u270c\0\u2760\0\u27b4\0\u2808\0\u285c\0\u28b0\0\u2904\0\u2958"
+ + "\0\u29ac\0\u2a00\0\u2a54\0\u2aa8\0\u2afc\0\u2b50\0\u2ba4\0\u01f8"
+ + "\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8"
+ + "\0\u01f8\0\u2bf8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8"
+ + "\0\u2c4c\0\u01f8\0\u2ca0\0\u120c\0\u2cf4\0\u2d48\0\u2d9c\0\u2df0"
+ + "\0\u2e44\0\u01f8\0\u01f8\0\u2c4c\0\u2ca0\0\u2e98\0\u01f8\0\u2eec"
+ + "\0\u2f40\0\u01f8\0\u2f94\0\u2fe8\0\u303c\0\u01f8\0\u3090\0\u01f8"
+ + "\0\u30e4\0\u01f8\0\u01f8\0\u17a0\0\u3138\0\u318c\0\u31e0\0\u31e0"
+ + "\0\u3234\0\u3288\0\u32dc\0\u3330\0\u3384\0\u33d8\0\u342c\0\u3480"
+ + "\0\u039c\0\u34d4\0\u3528\0\u357c\0\u35d0\0\u3624\0\u039c\0\u039c"
+ + "\0\u3678\0\u36cc\0\u3720\0\u3774\0\u37c8\0\u039c\0\u381c\0\u3870"
+ + "\0\u38c4\0\u3918\0\u396c\0\u39c0\0\u3a14\0\u039c\0\u3a68\0\u3abc"
+ + "\0\u3b10\0\u3b64\0\u3bb8\0\u3c0c\0\u3c60\0\u3cb4\0\u3d08\0\u3d5c"
+ + "\0\u039c\0\u3db0\0\u3e04\0\u3e58\0\u3eac\0\u3f00\0\u3f54\0\u3fa8"
+ + "\0\u3ffc\0\u039c\0\u4050\0\u40a4\0\u40f8\0\u414c\0\u41a0\0\u41f4"
+ + "\0\u4248\0\u429c\0\u42f0\0\u4344\0\u4398\0\u43ec\0\u4440\0\u4494"
+ + "\0\u44e8\0\u453c\0\u039c\0\u4590\0\u45e4\0\u4638\0\u468c\0\u039c"
+ + "\0\u46e0\0\u4734\0\u01f8\0\u4788\0\u47dc\0\u4830\0\u4884\0\u48d8"
+ + "\0\u492c\0\u4980\0\u49d4\0\u4a28\0\u4a7c\0\u01f8\0\u4ad0\0\u4b24"
+ + "\0\u4b78\0\u4bcc\0\u4c20\0\u01f8\0\u4c74\0\u4cc8\0\u4d1c\0\u4d70"
+ + "\0\u4dc4\0\u4e18\0\u039c\0\u039c\0\u039c\0\u4e6c\0\u039c\0\u4ec0"
+ + "\0\u039c\0\u4f14\0\u4f68\0\u4fbc\0\u5010\0\u5064\0\u50b8\0\u510c"
+ + "\0\u5160\0\u51b4\0\u5208\0\u525c\0\u52b0\0\u5304\0\u039c\0\u5358"
+ + "\0\u039c\0\u53ac\0\u5400\0\u5454\0\u54a8\0\u039c\0\u54fc\0\u5550"
+ + "\0\u55a4\0\u55f8\0\u564c\0\u56a0\0\u56f4\0\u5748\0\u579c\0\u57f0"
+ + "\0\u5844\0\u5898\0\u58ec\0\u5940\0\u5994\0\u59e8\0\u5a3c\0\u5a90"
+ + "\0\u039c\0\u5ae4\0\u5b38\0\u5b8c\0\u5be0\0\u5c34\0\u5c88\0\u5cdc"
+ + "\0\u039c\0\u5d30\0\u5d84\0\u5dd8\0\u5e2c\0\u039c\0\u5e80\0\u5ed4"
+ + "\0\u5f28\0\u5f7c\0\u5fd0\0\u6024\0\u6078\0\u01f8\0\u2ca0\0\u01f8"
+ + "\0\u60cc\0\u6120\0\u01f8\0\u6174\0\u61c8\0\u621c\0\u6270\0\u62c4"
+ + "\0\u6318\0\u636c\0\u63c0\0\u6414\0\u6468\0\u64bc\0\u6510\0\u039c"
+ + "\0\u6564\0\u65b8\0\u660c\0\u6660\0\u039c\0\u039c\0\u66b4\0\u039c"
+ + "\0\u6708\0\u675c\0\u67b0\0\u6804\0\u6858\0\u039c\0\u68ac\0\u6900"
+ + "\0\u6954\0\u69a8\0\u69fc\0\u039c\0\u6a50\0\u6aa4\0\u6af8\0\u039c"
+ + "\0\u6b4c\0\u6ba0\0\u6bf4\0\u6c48\0\u6c9c\0\u6cf0\0\u6d44\0\u6d98"
+ + "\0\u6dec\0\u6e40\0\u6e94\0\u6ee8\0\u039c\0\u6f3c\0\u6f90\0\u6fe4"
+ + "\0\u7038\0\u708c\0\u70e0\0\u039c\0\u7134\0\u7188\0\u71dc\0\u7230"
+ + "\0\u7284\0\u72d8\0\u039c\0\u732c\0\u039c\0\u7380\0\u73d4\0\u7428"
+ + "\0\u747c\0\u74d0\0\u7524\0\u7578\0\u75cc\0\u7620\0\u7674\0\u76c8"
+ + "\0\u771c\0\u7770\0\u77c4\0\u7818\0\u786c\0\u78c0\0\u7914\0\u039c"
+ + "\0\u7968\0\u039c\0\u79bc\0\u7a10\0\u7a64\0\u039c\0\u7ab8\0\u7b0c"
+ + "\0\u039c\0\u039c\0\u7b60\0\u7bb4\0\u7c08\0\u7c5c\0\u7cb0\0\u7d04"
+ + "\0\u7d58\0\u039c\0\u7dac\0\u7e00\0\u7e54\0\u7ea8\0\u039c\0\u7efc"
+ + "\0\u7f50\0\u7fa4\0\u7ff8\0\u039c\0\u804c\0\u80a0\0\u80f4\0\u8148"
+ + "\0\u819c\0\u039c\0\u81f0\0\u8244\0\u8298\0\u82ec\0\u8340\0\u8394"
+ + "\0\u83e8\0\u843c\0\u039c\0\u8490\0\u84e4\0\u039c\0\u8538\0\u858c"
+ + "\0\u85e0\0\u039c\0\u039c\0\u8634\0\u8688\0\u86dc\0\u636c\0\u8730"
+ + "\0\u8784\0\u87d8\0\u039c\0\u882c\0\u8880\0\u88d4\0\u8928\0\u897c"
+ + "\0\u039c\0\u89d0\0\u8a24\0\u8a78\0\u8acc\0\u8b20\0\u8b74\0\u8bc8"
+ + "\0\u8c1c\0\u8c70\0\u8cc4\0\u8d18\0\u8d6c\0\u039c\0\u8dc0\0\u039c"
+ + "\0\u8e14\0\u039c\0\u8e68\0\u8ebc\0\u8f10\0\u8f64\0\u8fb8\0\u900c"
+ + "\0\u9060\0\u039c\0\u039c\0\u90b4\0\u9108\0\u915c\0\u91b0\0\u9204"
+ + "\0\u9258\0\u76c8\0\u92ac\0\u9300\0\u9354\0\u039c\0\u93a8\0\u93fc"
+ + "\0\u039c\0\u039c\0\u9450\0\u94a4\0\u94f8\0\u954c\0\u95a0\0\u95f4"
+ + "\0\u039c\0\u9648\0\u969c\0\u96f0\0\u9744\0\u9798\0\u97ec\0\u9840"
+ + "\0\u039c\0\u9894\0\u98e8\0\u993c\0\u9990\0\u99e4\0\u039c\0\u9a38"
+ + "\0\u039c\0\u039c\0\u9a8c\0\u9ae0\0\u9b34\0\u039c\0\u9b88\0\u9bdc"
+ + "\0\u9c30\0\u039c\0\u9c84\0\u039c\0\u039c\0\u9cd8\0\u9d2c\0\u9d80"
+ + "\0\u9dd4\0\u039c\0\u9e28\0\u9e7c\0\u039c\0\u9ed0\0\u9f24\0\u039c"
+ + "\0\u9f78\0\u9fcc\0\u039c\0\u039c\0\ua020\0\ua074\0\ua0c8\0\ua11c"
+ + "\0\ua170\0\u01f8\0\ua1c4\0\ua218\0\ua26c\0\u039c\0\u039c\0\ua2c0"
+ + "\0\u039c\0\ua314\0\u039c\0\ua368\0\ua3bc\0\ua410\0\ua464\0\ua4b8"
+ + "\0\ua50c\0\u039c\0\ua560\0\ua5b4\0\ua608\0\ua65c\0\ua6b0\0\ua704"
+ + "\0\ua758\0\ua7ac\0\ua800\0\ua854\0\ua8a8\0\ua8fc\0\u039c\0\u039c"
+ + "\0\u039c\0\ua950\0\ua9a4\0\ua9f8\0\uaa4c\0\uaaa0\0\uaaf4\0\uab48"
+ + "\0\u039c\0\uab9c\0\uabf0\0\uac44\0\uac98\0\u039c\0\uacec\0\u039c"
+ + "\0\uad40\0\uad94\0\uade8\0\uae3c\0\uae90\0\uaee4\0\uaf38\0\u039c"
+ + "\0\uaf8c\0\uafe0\0\ub034\0\ub088\0\u039c\0\ub0dc\0\ub130\0\ub184"
+ + "\0\ub1d8\0\u174c\0\ub22c\0\ub280\0\u039c\0\u039c\0\u039c\0\ub2d4"
+ + "\0\u039c";
- private static int [] zzUnpackTrans() {
- int [] result = new int[45864];
- 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);
+ private static int[] zzUnpackRowMap() {
+ int[] result = new int[705];
+ int offset = 0;
+ offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
+ return result;
}
- return j;
- }
+ private static int zzUnpackRowMap(String packed, int offset, int[] result) {
+ int i = 0; /* index in packed string */
- /* 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;
+ int j = offset; /* index in unpacked array */
- /* 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 aState
- */
- private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
-
- private static final String ZZ_ATTRIBUTE_PACKED_0 =
- "\6\0\1\11\1\1\1\11\11\1\1\11\3\1\2\11"+
- "\26\1\10\11\1\1\2\11\5\1\1\11\2\1\2\11"+
- "\4\1\1\11\2\1\1\11\1\1\1\11\1\1\1\11"+
- "\3\1\1\11\1\1\1\0\3\11\2\0\1\1\1\0"+
- "\1\1\2\11\1\1\1\11\3\1\1\0\2\1\1\0"+
- "\2\11\75\1\12\11\1\1\6\11\1\1\1\11\1\1"+
- "\6\0\2\11\3\1\1\11\2\0\1\11\3\0\1\11"+
- "\1\0\1\11\1\1\2\11\4\1\1\0\112\1\1\11"+
- "\12\0\1\11\5\0\1\11\111\1\1\11\1\0\1\11"+
- "\1\1\1\0\1\11\12\0\100\1\10\0\67\1\2\0"+
- "\153\1\1\11\107\1";
-
- private static int [] zzUnpackAttribute() {
- int [] result = new int[705];
- 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);
+ int l = packed.length();
+ while (i < l) {
+ int high = packed.charAt(i++) << 16;
+ result[j++] = high | packed.charAt(i++);
+ }
+ return j;
}
- return j;
- }
- /** the input device */
- private java.io.Reader zzReader;
+ /**
+ * The transition table of the DFA
+ */
+ private static final int[] ZZ_TRANS = zzUnpackTrans();
- /** the current state of the DFA */
- private int zzState;
+ private static final String ZZ_TRANS_PACKED_0
+ = "\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\7"
+ + "\1\16\1\17\1\20\1\21\1\12\1\22\1\23\1\24"
+ + "\1\25\2\15\2\25\1\15\1\26\1\7\1\27\1\30"
+ + "\1\31\1\32\1\33\1\34\1\15\1\35\1\36\1\37"
+ + "\1\40\1\41\1\42\1\43\1\44\1\45\1\46\1\47"
+ + "\1\15\1\50\1\15\1\51\1\52\1\15\1\53\2\15"
+ + "\1\54\12\15\1\55\1\56\1\57\1\60\1\61\1\62"
+ + "\1\63\1\64\1\65\1\66\1\67\1\70\1\71\1\72"
+ + "\1\73\1\74\1\75\1\76\1\77\1\7\1\12\1\7"
+ + "\1\100\1\101\1\102\13\100\1\103\10\100\1\104\74\100"
+ + "\1\105\1\101\1\102\24\105\1\106\1\103\73\105\1\7"
+ + "\1\107\1\110\1\111\2\7\1\112\4\7\1\113\1\114"
+ + "\4\7\2\112\2\7\1\112\4\7\46\112\22\7\1\111"
+ + "\1\7\1\115\1\116\1\117\7\115\1\120\111\115\1\121"
+ + "\1\101\1\102\24\121\1\122\1\121\1\123\72\121\126\0"
+ + "\1\11\124\0\1\12\10\0\1\12\105\0\1\12\5\0"
+ + "\1\124\1\125\7\0\1\126\123\0\1\127\114\0\2\15"
+ + "\7\0\7\15\4\0\46\15\23\0\1\15\10\0\1\130"
+ + "\124\0\1\131\1\132\4\0\2\133\2\0\2\133\105\0"
+ + "\1\134\3\0\1\135\1\136\1\0\1\137\3\0\2\134"
+ + "\2\0\1\134\4\0\46\134\37\0\1\140\1\0\1\141"
+ + "\123\0\1\142\117\0\1\133\5\0\1\143\1\144\1\145"
+ + "\1\0\1\146\1\147\1\150\6\0\1\150\22\0\1\145"
+ + "\55\0\1\133\5\0\2\25\2\0\2\25\1\150\6\0"
+ + "\1\150\104\0\1\151\10\0\1\152\103\0\2\15\7\0"
+ + "\7\15\4\0\1\15\1\153\44\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\2\15\1\154\1\155\42\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\3\15"
+ + "\1\156\12\15\1\157\5\15\1\160\1\161\20\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\6\15\1\162"
+ + "\1\15\1\163\35\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\3\15\1\164\3\15\1\165\6\15\1\166"
+ + "\1\15\1\167\25\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\2\15\1\170\6\15\1\171\1\15\1\172"
+ + "\3\15\1\173\26\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\1\15\1\174\22\15\1\175\21\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\176"
+ + "\1\177\7\15\1\200\32\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\1\15\1\201\1\202\1\203\3\15"
+ + "\1\204\10\15\1\205\1\15\1\206\23\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\6\15\1\207\1\15"
+ + "\1\210\4\15\1\211\5\15\1\212\22\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\6\15\1\213\1\15"
+ + "\1\214\35\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\2\15\1\215\4\15\1\216\3\15\1\217\6\15"
+ + "\1\220\23\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\3\15\1\221\2\15\1\222\1\223\2\15\1\224"
+ + "\1\225\32\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\2\15\1\226\4\15\1\227\36\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\12\15\1\230\5\15"
+ + "\1\231\25\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\1\15\1\232\1\15\1\233\7\15\1\234\2\15"
+ + "\1\235\27\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\1\236\45\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\3\15\1\237\3\15\1\240\36\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\241"
+ + "\4\15\1\242\36\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\11\15\1\243\34\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\3\15\1\244\7\15\1\245"
+ + "\32\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\10\15\1\246\35\15\23\0\1\15\15\0\1\247\123\0"
+ + "\1\250\75\0\1\251\25\0\1\252\76\0\1\253\24\0"
+ + "\1\254\77\0\1\255\23\0\1\256\123\0\1\257\106\0"
+ + "\1\100\2\0\13\100\1\0\10\100\1\0\74\100\2\0"
+ + "\1\102\121\0\1\260\2\0\13\260\1\261\1\262\3\260"
+ + "\2\262\2\260\1\263\1\264\1\260\1\265\1\266\6\260"
+ + "\1\267\1\270\1\260\1\271\1\260\1\272\7\260\1\273"
+ + "\41\260\3\0\1\105\2\0\24\105\2\0\73\105\1\260"
+ + "\2\0\13\260\1\261\10\260\1\263\1\264\1\260\1\265"
+ + "\1\266\6\260\1\267\1\270\1\260\1\271\1\260\1\272"
+ + "\7\260\1\273\41\260\5\0\1\110\124\0\1\111\10\0"
+ + "\1\111\105\0\1\111\7\0\2\274\1\275\3\0\1\276"
+ + "\1\277\1\0\7\274\4\0\46\274\23\0\1\274\3\0"
+ + "\1\111\2\0\1\274\5\0\1\114\4\0\2\274\2\0"
+ + "\1\274\4\0\46\274\22\0\1\111\3\0\1\117\125\0"
+ + "\1\300\1\0\1\301\12\0\2\301\2\0\1\301\4\0"
+ + "\46\301\24\0\1\121\2\0\24\121\1\0\1\121\1\0"
+ + "\72\121\1\302\2\0\24\302\1\263\1\302\1\303\1\265"
+ + "\1\266\6\302\1\267\1\270\1\302\1\304\1\302\1\272"
+ + "\7\302\1\305\41\302\3\0\1\124\1\306\1\307\121\124"
+ + "\5\310\1\311\116\310\11\0\1\312\120\0\1\313\12\0"
+ + "\2\313\2\0\1\313\4\0\46\313\43\0\2\133\2\0"
+ + "\2\133\1\150\6\0\1\150\75\0\1\314\1\134\1\315"
+ + "\2\0\1\316\1\317\2\0\2\134\2\314\2\134\1\314"
+ + "\4\0\46\314\23\0\1\134\15\0\1\320\121\0\1\321"
+ + "\1\0\1\322\123\0\1\323\117\0\1\133\5\0\1\143"
+ + "\1\144\2\0\1\146\1\147\1\150\6\0\1\150\100\0"
+ + "\1\133\5\0\2\144\2\0\2\144\1\150\6\0\1\150"
+ + "\106\0\1\324\1\325\1\0\4\325\4\0\1\325\1\0"
+ + "\2\325\1\0\1\325\6\0\2\325\12\0\1\325\1\0"
+ + "\1\325\5\0\2\325\41\0\1\133\5\0\1\147\1\144"
+ + "\2\0\2\147\1\150\6\0\1\150\100\0\1\133\5\0"
+ + "\1\326\1\144\2\0\2\326\1\150\6\0\1\150\106\0"
+ + "\2\327\2\0\2\327\1\0\1\330\66\0\1\330\14\0"
+ + "\2\15\7\0\7\15\4\0\2\15\1\331\43\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\332"
+ + "\11\15\1\333\22\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\10\15\1\334\35\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\5\15\1\335\40\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\6\15\1\336"
+ + "\37\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\3\15\1\337\42\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\11\15\1\340\34\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\14\15\1\341\31\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\6\15\1\342"
+ + "\2\15\1\343\4\15\1\344\27\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\10\15\1\345\35\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\346"
+ + "\42\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\1\15\1\347\44\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\11\15\1\350\34\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\3\15\1\351\3\15\1\352"
+ + "\36\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\1\353\20\15\1\354\24\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\12\15\1\355\33\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\14\15\1\356\31\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15"
+ + "\1\357\43\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\17\15\1\360\5\15\1\361\20\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\23\15\1\362\22\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\16\15"
+ + "\1\363\27\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\3\15\1\364\7\15\1\365\6\15\1\366\23\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\16\15"
+ + "\1\367\27\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\1\15\1\370\44\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\26\15\1\371\17\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\1\15\1\372\10\15"
+ + "\1\373\33\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\21\15\1\374\24\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\6\15\1\375\2\15\1\376\34\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\32\15"
+ + "\1\377\13\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\21\15\1\u0100\24\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\2\15\1\u0101\43\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\14\15\1\u0102\1\15"
+ + "\1\u0103\27\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\15\15\1\u0104\1\u0105\27\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\21\15\1\u0106\24\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\10\15\1\u0107"
+ + "\35\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\16\15\1\u0108\27\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\5\15\1\u0109\40\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\1\15\1\u010a\44\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\10\15\1\u010b"
+ + "\35\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\10\15\1\u010c\35\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\10\15\1\u010d\35\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\3\15\1\u010e\42\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\u010f"
+ + "\34\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\12\15\1\u0110\33\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\2\15\1\u0111\4\15\1\u0112\2\15\1\u0113"
+ + "\33\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\5\15\1\u0114\40\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\1\u0115\45\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\3\15\1\u0116\42\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\5\15\1\u0117\1\u0118"
+ + "\1\u0119\6\15\1\u011a\27\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\1\15\1\u011b\44\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\12\15\1\u011c\33\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\11\15"
+ + "\1\u011d\34\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\11\15\1\u011e\34\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\1\15\1\u011f\44\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\44\15\1\u0120\1\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\23\15"
+ + "\1\u0121\22\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\15\15\1\u0122\30\15\23\0\1\15\15\0\1\u0123"
+ + "\125\0\1\u0124\3\0\2\u0124\116\0\2\u0125\1\0\4\u0125"
+ + "\4\0\1\u0125\1\0\2\u0125\1\0\1\u0125\6\0\2\u0125"
+ + "\12\0\1\u0125\1\0\1\u0125\5\0\2\u0125\47\0\2\u0126"
+ + "\1\0\4\u0126\4\0\1\u0126\1\0\2\u0126\1\0\1\u0126"
+ + "\6\0\2\u0126\12\0\1\u0126\1\0\1\u0126\5\0\2\u0126"
+ + "\36\0\1\u0127\12\0\2\u0127\2\0\1\u0127\4\0\46\u0127"
+ + "\40\0\1\276\1\277\122\0\1\277\1\0\1\u0128\113\0"
+ + "\1\u0129\12\0\2\u0129\2\0\1\u0129\4\0\46\u0129\32\0"
+ + "\1\u012a\1\301\1\u012b\2\0\1\115\1\u012c\2\0\2\301"
+ + "\2\u012a\2\301\1\u012a\4\0\46\u012a\23\0\1\301\2\0"
+ + "\1\307\121\0\5\310\1\u012d\116\310\4\0\1\307\1\311"
+ + "\124\0\2\313\3\0\1\u012e\3\0\7\313\4\0\46\313"
+ + "\23\0\1\313\6\0\2\314\1\u012f\2\0\1\316\1\u0130"
+ + "\1\u0131\1\0\7\314\4\0\46\314\23\0\1\314\6\0"
+ + "\1\u0132\12\0\2\u0132\2\0\1\u0132\4\0\46\u0132\32\0"
+ + "\1\u0133\5\0\1\317\4\0\2\u0133\2\0\1\u0133\4\0"
+ + "\46\u0133\41\0\1\u0134\125\0\2\u0135\1\0\4\u0135\4\0"
+ + "\1\u0135\1\0\2\u0135\1\0\1\u0135\6\0\2\u0135\12\0"
+ + "\1\u0135\1\0\1\u0135\5\0\2\u0135\41\0\1\133\5\0"
+ + "\1\u0136\1\144\2\0\2\u0136\1\150\6\0\1\150\106\0"
+ + "\2\327\2\0\2\327\105\0\2\15\7\0\7\15\4\0"
+ + "\3\15\1\u0137\42\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\13\15\1\u0138\32\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\7\15\1\u0139\36\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\14\15\1\u013a"
+ + "\31\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\20\15\1\u013b\25\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\2\15\1\u013c\43\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\16\15\1\u013d\27\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u013e"
+ + "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\2\15\1\u013f\43\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\5\15\1\u0140\40\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\16\15\1\u0141\27\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\6\15\1\u0142"
+ + "\2\15\1\u0143\34\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\6\15\1\u0144\37\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\1\15\1\u0145\7\15\1\u0146"
+ + "\34\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\21\15\1\u0147\24\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\6\15\1\u0148\37\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\2\15\1\u0149\43\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\u014a"
+ + "\34\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\1\15\1\u014b\44\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\16\15\1\u014c\27\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\11\15\1\u014d\34\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u014e"
+ + "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\16\15\1\u014f\27\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\5\15\1\u0150\40\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\2\15\1\u0151\43\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\16\15\1\u0152"
+ + "\27\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\26\15\1\u0153\17\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\26\15\1\u0154\17\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\7\15\1\u0155\36\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\6\15\1\u0156"
+ + "\37\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\2\15\1\u0157\43\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\11\15\1\u0158\34\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\2\15\1\u0159\43\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\u015a"
+ + "\44\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\7\15\1\u015b\6\15\1\u015c\27\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\2\15\1\u015d\43\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\7\15\1\u015e"
+ + "\36\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\3\15\1\u015f\42\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\2\15\1\u0160\43\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\16\15\1\u0161\27\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\u0162"
+ + "\42\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\6\15\1\u0163\37\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\7\15\1\u0164\36\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\3\15\1\u0165\42\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\5\15\1\u0166"
+ + "\40\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\26\15\1\u0167\17\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\14\15\1\u0168\31\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\20\15\1\u0169\25\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\16\15\1\u016a"
+ + "\27\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\24\15\1\u016b\21\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\11\15\1\u016c\34\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\10\15\1\u016d\13\15\1\u016e"
+ + "\21\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\4\15\1\u016f\41\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\16\15\1\u0170\27\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\22\15\1\u0171\23\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\20\15\1\u0172"
+ + "\25\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\13\15\1\u0173\32\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\1\15\1\u0174\44\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\2\15\1\u0175\43\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\14\15\1\u0176"
+ + "\31\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\27\15\1\u0177\3\15\1\u0178\6\15\1\u0179\3\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\7\15\1\u017a"
+ + "\36\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\12\15\1\u017b\33\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\1\u017c\45\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\12\15\1\u017d\33\15\23\0\1\15"
+ + "\17\0\1\u017e\3\0\2\u017e\116\0\2\u017f\1\0\4\u017f"
+ + "\4\0\1\u017f\1\0\2\u017f\1\0\1\u017f\6\0\2\u017f"
+ + "\12\0\1\u017f\1\0\1\u017f\5\0\2\u017f\47\0\2\u0180"
+ + "\1\0\4\u0180\4\0\1\u0180\1\0\2\u0180\1\0\1\u0180"
+ + "\6\0\2\u0180\12\0\1\u0180\1\0\1\u0180\5\0\2\u0180"
+ + "\36\0\2\u0127\4\0\1\276\1\277\1\0\7\u0127\4\0"
+ + "\46\u0127\23\0\1\u0127\1\u0128\2\0\13\u0128\1\u0181\105\u0128"
+ + "\6\0\2\u0129\1\u0182\2\0\1\u0183\3\0\7\u0129\4\0"
+ + "\46\u0129\23\0\1\u0129\6\0\2\u012a\1\u0184\2\0\1\115"
+ + "\1\u0185\1\u0186\1\0\7\u012a\4\0\46\u012a\23\0\1\u012a"
+ + "\6\0\1\u0187\12\0\2\u0187\2\0\1\u0187\4\0\46\u0187"
+ + "\32\0\1\u0188\5\0\1\u012c\4\0\2\u0188\2\0\1\u0188"
+ + "\4\0\46\u0188\24\0\4\310\1\307\1\u012d\116\310\6\0"
+ + "\1\u0189\12\0\2\u0189\2\0\1\u0189\4\0\46\u0189\32\0"
+ + "\1\u0133\5\0\1\u0130\1\u0131\3\0\2\u0133\2\0\1\u0133"
+ + "\4\0\46\u0133\40\0\1\u0131\1\0\1\u018a\113\0\1\u018b"
+ + "\1\u0132\3\0\1\316\1\317\2\0\2\u0132\2\u018b\2\u0132"
+ + "\1\u018b\4\0\46\u018b\23\0\1\u0132\6\0\2\u0133\1\u018c"
+ + "\3\0\1\u018d\1\u0131\1\0\7\u0133\4\0\46\u0133\23\0"
+ + "\1\u0133\17\0\2\u018e\1\0\4\u018e\4\0\1\u018e\1\0"
+ + "\2\u018e\1\0\1\u018e\6\0\2\u018e\12\0\1\u018e\1\0"
+ + "\1\u018e\5\0\2\u018e\41\0\1\133\5\0\1\u018f\1\144"
+ + "\2\0\2\u018f\1\150\6\0\1\150\75\0\2\15\7\0"
+ + "\7\15\4\0\4\15\1\u0190\41\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\1\15\1\u0191\44\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\24\15\1\u0192"
+ + "\21\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\7\15\1\u0193\36\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\10\15\1\u0194\35\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\20\15\1\u0195\25\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\u0196"
+ + "\34\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\12\15\1\u0197\33\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\6\15\1\u0198\37\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\11\15\1\u0199\34\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\12\15\1\u019a"
+ + "\33\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\30\15\1\u019b\10\15\1\u019c\4\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\11\15\1\u019d\34\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\u019e"
+ + "\44\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\5\15\1\u019f\40\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\1\15\1\u01a0\44\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\12\15\1\u01a1\33\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\32\15\1\u01a2"
+ + "\13\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\6\15\1\u01a3\37\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\2\15\1\u01a4\43\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\33\15\1\u01a5\12\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u01a6"
+ + "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\16\15\1\u01a7\27\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\17\15\1\u01a8\26\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\7\15\1\u01a9\36\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\u01aa"
+ + "\42\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\1\15\1\u01ab\44\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\3\15\1\u01ac\42\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\1\15\1\u01ad\44\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u01ae"
+ + "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\15\15\1\u01af\30\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\3\15\1\u01b0\42\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\13\15\1\u01b1\32\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\u01b2"
+ + "\34\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\12\15\1\u01b3\33\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\23\15\1\u01b4\22\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\2\15\1\u01b5\43\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\23\15\1\u01b6"
+ + "\22\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\16\15\1\u01b7\27\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\11\15\1\u01b8\34\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\11\15\1\u01b9\34\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\37\15\1\u01ba"
+ + "\2\15\1\u01bb\3\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\2\15\1\u01bc\43\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\32\15\1\u01bd\13\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u01be"
+ + "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\11\15\1\u01bf\34\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\3\15\1\u01c0\42\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\3\15\1\u01c1\42\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\12\15\1\u01c2"
+ + "\33\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\1\15\1\u01c3\44\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\1\u01c4\45\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\14\15\1\u01c5\31\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\10\15\1\u01c6\35\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\1\15"
+ + "\1\u01c7\44\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\12\15\1\u01c8\33\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\2\15\1\u01c9\43\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\30\15\1\u01ca\15\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\10\15"
+ + "\1\u01cb\35\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\2\15\1\u01cc\43\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\10\15\1\u01cd\35\15\23\0\1\15"
+ + "\1\u0128\2\0\11\u0128\1\u0181\1\u0128\1\u0181\105\u0128\6\0"
+ + "\1\u01ce\12\0\2\u01ce\2\0\1\u01ce\4\0\46\u01ce\32\0"
+ + "\1\u01cf\12\0\2\u01cf\2\0\1\u01cf\4\0\46\u01cf\32\0"
+ + "\1\u0188\5\0\1\u0185\1\u0186\3\0\2\u0188\2\0\1\u0188"
+ + "\4\0\46\u0188\40\0\1\u0186\1\0\1\u01d0\113\0\1\u01d1"
+ + "\1\u0187\3\0\1\115\1\u012c\2\0\2\u0187\2\u01d1\2\u0187"
+ + "\1\u01d1\4\0\46\u01d1\23\0\1\u0187\6\0\2\u0188\1\u01d2"
+ + "\3\0\1\u01d3\1\u0186\1\0\7\u0188\4\0\46\u0188\23\0"
+ + "\1\u0188\6\0\1\u018b\1\u0189\3\0\1\316\1\u0130\1\u0131"
+ + "\1\0\2\u0189\2\u018b\2\u0189\1\u018b\4\0\46\u018b\23\0"
+ + "\1\u0189\1\u018a\2\0\13\u018a\1\u01d4\105\u018a\6\0\2\u018b"
+ + "\1\u018c\2\0\1\316\1\u0130\1\u0131\1\0\7\u018b\4\0"
+ + "\46\u018b\23\0\1\u018b\6\0\1\u01d5\12\0\2\u01d5\2\0"
+ + "\1\u01d5\4\0\46\u01d5\40\0\1\u018d\1\u0131\125\0\2\u01d6"
+ + "\1\0\4\u01d6\4\0\1\u01d6\1\0\2\u01d6\1\0\1\u01d6"
+ + "\6\0\2\u01d6\12\0\1\u01d6\1\0\1\u01d6\5\0\2\u01d6"
+ + "\41\0\1\133\5\0\1\u01d7\1\144\2\0\2\u01d7\1\150"
+ + "\6\0\1\150\75\0\2\15\7\0\7\15\4\0\10\15"
+ + "\1\u01d8\35\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\2\15\1\u01d9\43\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\23\15\1\u01da\22\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\14\15\1\u01db\31\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\10\15"
+ + "\1\u01dc\35\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\41\15\1\u01dd\4\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\5\15\1\u01de\40\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\16\15\1\u01df\27\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\1\15"
+ + "\1\u01e0\44\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\1\15\1\u01e1\44\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\20\15\1\u01e2\25\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\12\15\1\u01e3\33\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\10\15"
+ + "\1\u01e4\35\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\1\15\1\u01e5\44\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\21\15\1\u01e6\24\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\3\15\1\u01e7\42\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\11\15"
+ + "\1\u01e8\34\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\2\15\1\u01e9\43\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\15\15\1\u01ea\30\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\10\15\1\u01eb\35\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\10\15"
+ + "\1\u01ec\4\15\1\u01ed\30\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\23\15\1\u01ee\22\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\11\15\1\u01ef\34\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\23\15"
+ + "\1\u01f0\22\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\12\15\1\u01f1\33\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\14\15\1\u01f2\31\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\16\15\1\u01f3\27\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15"
+ + "\1\u01f4\43\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\5\15\1\u01f5\40\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\12\15\1\u01f6\33\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\23\15\1\u01f7\22\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\16\15"
+ + "\1\u01f8\27\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\12\15\1\u01f9\33\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\20\15\1\u01fa\25\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\7\15\1\u01fb\36\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\3\15"
+ + "\1\u01fc\42\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\1\15\1\u01fd\44\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\5\15\1\u01fe\40\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\30\15\1\u01ff\13\15"
+ + "\1\u0200\1\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\11\15\1\u0201\34\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\26\15\1\u0202\17\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\5\15\1\u0203\40\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\6\15"
+ + "\1\u0204\37\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\26\15\1\u0205\17\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\16\15\1\u0206\27\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\23\15\1\u0207\22\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\1\15"
+ + "\1\u0208\44\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\10\15\1\u0209\35\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\26\15\1\u020a\17\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\1\15\1\u020b\44\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\12\15"
+ + "\1\u020c\33\15\23\0\1\15\6\0\2\u01ce\3\0\1\u0183"
+ + "\3\0\7\u01ce\4\0\46\u01ce\23\0\1\u01ce\6\0\1\u01d1"
+ + "\1\u01cf\3\0\1\115\1\u0185\1\u0186\1\0\2\u01cf\2\u01d1"
+ + "\2\u01cf\1\u01d1\4\0\46\u01d1\23\0\1\u01cf\1\u01d0\2\0"
+ + "\13\u01d0\1\u020d\105\u01d0\6\0\2\u01d1\1\u01d2\2\0\1\115"
+ + "\1\u0185\1\u0186\1\0\7\u01d1\4\0\46\u01d1\23\0\1\u01d1"
+ + "\6\0\1\u020e\12\0\2\u020e\2\0\1\u020e\4\0\46\u020e"
+ + "\40\0\1\u01d3\1\u0186\106\0\1\u018a\2\0\10\u018a\1\u020f"
+ + "\1\u01d4\1\u018a\1\u01d4\105\u018a\6\0\2\u01d5\4\0\1\u018d"
+ + "\1\u0131\1\0\7\u01d5\4\0\46\u01d5\23\0\1\u01d5\17\0"
+ + "\2\u0210\1\0\4\u0210\4\0\1\u0210\1\0\2\u0210\1\0"
+ + "\1\u0210\6\0\2\u0210\12\0\1\u0210\1\0\1\u0210\5\0"
+ + "\2\u0210\41\0\1\133\5\0\1\u0211\1\144\2\0\2\u0211"
+ + "\1\150\6\0\1\150\75\0\2\15\7\0\7\15\4\0"
+ + "\37\15\1\u0212\6\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\6\15\1\u0213\37\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\13\15\1\u0214\32\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\u0215"
+ + "\44\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\16\15\1\u0216\27\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\3\15\1\u0217\42\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\14\15\1\u0218\31\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u0219"
+ + "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\3\15\1\u021a\42\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\3\15\1\u021b\42\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\1\15\1\u021c\44\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\43\15\1\u021d"
+ + "\2\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\34\15\1\u021e\11\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\5\15\1\u021f\40\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\3\15\1\u0220\42\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\u0221"
+ + "\42\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\2\15\1\u0222\43\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\2\15\1\u0223\43\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\10\15\1\u0224\35\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\37\15\1\u0225"
+ + "\6\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\11\15\1\u0226\34\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\3\15\1\u0227\42\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\5\15\1\u0228\40\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\u0229"
+ + "\42\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\22\15\1\u022a\23\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\7\15\1\u022b\36\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\24\15\1\u022c\21\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\u022d"
+ + "\44\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\3\15\1\u022e\42\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\11\15\1\u022f\34\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\6\15\1\u0230\37\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\13\15\1\u0231"
+ + "\32\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\2\15\1\u0232\43\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\2\15\1\u0233\43\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\11\15\1\u0234\34\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\u0235"
+ + "\34\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\2\15\1\u0236\43\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\6\15\1\u0237\37\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\14\15\1\u0238\31\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\u0239"
+ + "\34\15\23\0\1\15\1\u01d0\2\0\10\u01d0\1\u023a\1\u020d"
+ + "\1\u01d0\1\u020d\105\u01d0\6\0\2\u020e\4\0\1\u01d3\1\u0186"
+ + "\1\0\7\u020e\4\0\46\u020e\23\0\1\u020e\17\0\2\u023b"
+ + "\1\0\4\u023b\4\0\1\u023b\1\0\2\u023b\1\0\1\u023b"
+ + "\6\0\2\u023b\12\0\1\u023b\1\0\1\u023b\5\0\2\u023b"
+ + "\41\0\1\133\5\0\1\u023c\1\144\2\0\2\u023c\1\150"
+ + "\6\0\1\150\75\0\2\15\7\0\7\15\4\0\7\15"
+ + "\1\u023d\36\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\2\15\1\u023e\43\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\3\15\1\u023f\42\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\31\15\1\u0240\14\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\26\15"
+ + "\1\u0241\17\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\2\15\1\u0242\43\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\23\15\1\u0243\22\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\5\15\1\u0244\40\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\26\15"
+ + "\1\u0245\17\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\3\15\1\u0246\42\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\12\15\1\u0247\33\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\2\15\1\u0248\43\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\16\15"
+ + "\1\u0249\27\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\5\15\1\u024a\40\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\36\15\1\u024b\7\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\10\15\1\u024c\35\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15"
+ + "\1\u024d\43\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\7\15\1\u024e\36\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\11\15\1\u024f\34\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\10\15\1\u0250\35\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\10\15"
+ + "\1\u0251\35\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\12\15\1\u0252\33\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\12\15\1\u0253\33\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\23\15\1\u0254\22\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15"
+ + "\1\u0255\43\15\23\0\1\15\6\0\2\15\7\0\3\15"
+ + "\1\u0256\3\15\4\0\46\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\23\15\1\u0257\22\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\1\15\1\u0258\44\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\20\15"
+ + "\1\u0259\25\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\1\15\1\u025a\44\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\12\15\1\u025b\33\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\31\15\1\u025c\11\15"
+ + "\1\u025d\2\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\22\15\1\u025e\23\15\23\0\1\15\17\0\2\u025f"
+ + "\1\0\4\u025f\4\0\1\u025f\1\0\2\u025f\1\0\1\u025f"
+ + "\6\0\2\u025f\12\0\1\u025f\1\0\1\u025f\5\0\2\u025f"
+ + "\41\0\1\133\5\0\1\u0260\1\144\2\0\2\u0260\1\150"
+ + "\6\0\1\150\75\0\2\15\7\0\7\15\4\0\24\15"
+ + "\1\u0261\21\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\26\15\1\u0262\17\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\7\15\1\u0263\36\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\2\15\1\u0264\43\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15"
+ + "\1\u0265\43\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\2\15\1\u0266\43\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\11\15\1\u0267\34\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\26\15\1\u0268\17\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\7\15"
+ + "\1\u0269\36\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\2\15\1\u026a\43\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\7\15\1\u026b\36\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\11\15\1\u026c\34\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\14\15"
+ + "\1\u026d\31\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\24\15\1\u026e\21\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\2\15\1\u026f\43\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\14\15\1\u0270\31\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15"
+ + "\1\u0271\43\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\3\15\1\u0272\42\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\2\15\1\u0273\43\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\14\15\1\u0274\31\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\12\15"
+ + "\1\u0275\33\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\12\15\1\u0276\33\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\7\15\1\u0277\36\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\11\15\1\u0278\34\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\16\15"
+ + "\1\u0279\27\15\23\0\1\15\17\0\2\u027a\1\0\4\u027a"
+ + "\4\0\1\u027a\1\0\2\u027a\1\0\1\u027a\6\0\2\u027a"
+ + "\12\0\1\u027a\1\0\1\u027a\5\0\2\u027a\41\0\1\133"
+ + "\5\0\1\u027b\1\144\2\0\2\u027b\1\150\6\0\1\150"
+ + "\75\0\2\15\7\0\7\15\4\0\12\15\1\u027c\33\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\13\15"
+ + "\1\u027d\32\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\11\15\1\u027e\34\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\20\15\1\u027f\25\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\20\15\1\u0280\25\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\15\15"
+ + "\1\u0281\30\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\3\15\1\u0282\42\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\6\15\1\u0283\37\15\23\0\1\15"
+ + "\6\0\2\15\7\0\7\15\4\0\12\15\1\u0284\33\15"
+ + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\37\15"
+ + "\1\u0285\6\15\23\0\1\15\6\0\2\15\7\0\7\15"
+ + "\4\0\44\15\1\u0286\1\15\23\0\1\15\6\0\2\15"
+ + "\7\0\7\15\4\0\1\u0287\45\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\11\15\1\u0288\34\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\10\15\1\u0289"
+ + "\35\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\10\15\1\u028a\35\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\7\15\1\u028b\36\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\3\15\1\u028c\42\15\23\0"
+ + "\1\15\11\0\1\133\5\0\1\u028d\1\144\2\0\2\u028d"
+ + "\1\150\6\0\1\150\75\0\2\15\7\0\7\15\4\0"
+ + "\2\15\1\u028e\43\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\10\15\1\u028f\35\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\35\15\1\u0290\10\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\14\15\1\u0291"
+ + "\31\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\2\15\1\u0292\43\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\7\15\1\u0293\36\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\13\15\1\u0294\32\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\16\15\1\u0295"
+ + "\27\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\23\15\1\u0296\22\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\26\15\1\u0297\17\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\21\15\1\u0298\24\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\22\15\1\u0299"
+ + "\23\15\23\0\1\15\11\0\1\133\5\0\1\u029a\1\144"
+ + "\2\0\2\u029a\1\150\6\0\1\150\75\0\2\15\7\0"
+ + "\7\15\4\0\40\15\1\u029b\5\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\14\15\1\u029c\31\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\13\15\1\u029d"
+ + "\32\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\2\15\1\u029e\43\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\44\15\1\u029f\1\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\24\15\1\u02a0\21\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\23\15\1\u02a1"
+ + "\22\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\2\15\1\u02a2\43\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\3\15\1\u02a3\42\15\23\0\1\15\11\0"
+ + "\1\133\5\0\1\u02a4\1\144\2\0\2\u02a4\1\150\6\0"
+ + "\1\150\75\0\2\15\7\0\7\15\4\0\16\15\1\u02a5"
+ + "\27\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\6\15\1\u02a6\37\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\3\15\1\u02a7\42\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\14\15\1\u02a8\31\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\13\15\1\u02a9"
+ + "\32\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\12\15\1\u02aa\33\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\6\15\1\u02ab\37\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\21\15\1\u02ac\24\15\23\0"
+ + "\1\15\11\0\1\133\5\0\1\u02ad\1\144\2\0\2\u02ad"
+ + "\1\150\6\0\1\150\75\0\2\15\7\0\7\15\4\0"
+ + "\12\15\1\u02ae\33\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\16\15\1\u02af\27\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\23\15\1\u02b0\22\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u02b1"
+ + "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\44\15\1\u02b2\1\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\44\15\1\u02b3\1\15\23\0\1\15\11\0"
+ + "\1\133\5\0\1\u02b4\1\144\2\0\2\u02b4\1\150\6\0"
+ + "\1\150\75\0\2\15\7\0\7\15\4\0\21\15\1\u02b5"
+ + "\24\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\12\15\1\u02b6\33\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\40\15\1\u02b7\5\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\13\15\1\u02b8\32\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\13\15\1\u02b9"
+ + "\32\15\23\0\1\15\11\0\1\133\5\0\1\u02ba\1\144"
+ + "\2\0\2\u02ba\1\150\6\0\1\150\75\0\2\15\7\0"
+ + "\7\15\4\0\11\15\1\u02bb\34\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\16\15\1\u02bc\27\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\23\15\1\u02bd"
+ + "\22\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"
+ + "\23\15\1\u02be\22\15\23\0\1\15\6\0\2\15\7\0"
+ + "\7\15\4\0\22\15\1\u02bf\23\15\23\0\1\15\6\0"
+ + "\2\15\7\0\7\15\4\0\12\15\1\u02c0\33\15\23\0"
+ + "\1\15\6\0\2\15\7\0\7\15\4\0\21\15\1\u02c1"
+ + "\24\15\23\0\1\15";
- /** the current lexical state */
- private int zzLexicalState = YYINITIAL;
+ private static int[] zzUnpackTrans() {
+ int[] result = new int[45864];
+ int offset = 0;
+ offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
+ return result;
+ }
- /** this buffer contains the current text to be matched and is
- the source of the yytext() string */
- private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
+ private static int zzUnpackTrans(String packed, int offset, int[] result) {
+ int i = 0; /* index in packed string */
- /** the textposition at the last accepting state */
- private int zzMarkedPos;
+ int j = offset; /* index in unpacked array */
- /** the current text position in the buffer */
- private int zzCurrentPos;
+ 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;
+ }
- /** 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;
+ /* 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;
- /** number of newlines encountered up to the start of the matched text */
- private int yyline;
+ /* 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"
+ };
- /** the number of characters up to the start of the matched text */
- private int yychar;
+ /**
+ * ZZ_ATTRIBUTE[aState] contains the attributes of state aState
+ */
+ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute();
- /**
- * the number of characters from the last newline up to the start of the
- * matched text
- */
- private int yycolumn;
+ private static final String ZZ_ATTRIBUTE_PACKED_0
+ = "\6\0\1\11\1\1\1\11\11\1\1\11\3\1\2\11"
+ + "\26\1\10\11\1\1\2\11\5\1\1\11\2\1\2\11"
+ + "\4\1\1\11\2\1\1\11\1\1\1\11\1\1\1\11"
+ + "\3\1\1\11\1\1\1\0\3\11\2\0\1\1\1\0"
+ + "\1\1\2\11\1\1\1\11\3\1\1\0\2\1\1\0"
+ + "\2\11\75\1\12\11\1\1\6\11\1\1\1\11\1\1"
+ + "\6\0\2\11\3\1\1\11\2\0\1\11\3\0\1\11"
+ + "\1\0\1\11\1\1\2\11\4\1\1\0\112\1\1\11"
+ + "\12\0\1\11\5\0\1\11\111\1\1\11\1\0\1\11"
+ + "\1\1\1\0\1\11\12\0\100\1\10\0\67\1\2\0"
+ + "\153\1\1\11\107\1";
- /**
- * zzAtBOL == true <=> the scanner is currently at the beginning of a line
- */
- private boolean zzAtBOL = true;
+ private static int[] zzUnpackAttribute() {
+ int[] result = new int[705];
+ int offset = 0;
+ offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
+ return result;
+ }
- /** zzAtEOF == true <=> the scanner is at the EOF */
- private boolean zzAtEOF;
+ private static int zzUnpackAttribute(String packed, int offset, int[] result) {
+ int i = 0; /* index in packed string */
- /** denotes if the user-EOF-code has already been executed */
- private boolean zzEOFDone;
-
- /**
- * The number of occupied positions in zzBuffer beyond zzEndRead.
- * When a lead/high surrogate has been read from the input stream
- * into the final zzBuffer position, this will have a value of 1;
- * otherwise, it will have a value of 0.
- */
- private int zzFinalHighSurrogate = 0;
+ int j = offset; /* index in unpacked array */
- /* user code: */
+ 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 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;
+
+ /**
+ * denotes if the user-EOF-code has already been executed
+ */
+ private boolean zzEOFDone;
+
+ /**
+ * The number of occupied positions in zzBuffer beyond zzEndRead. When a
+ * lead/high surrogate has been read from the input stream into the final
+ * zzBuffer position, this will have a value of 1; otherwise, it will have a
+ * value of 0.
+ */
+ private int zzFinalHighSurrogate = 0;
+
+ /* user code: */
StringBuffer string = new StringBuffer();
private static String xmlTagName = "";
@@ -1232,22 +1273,22 @@ public final class ActionScriptLexer {
private final List listeners = new ArrayList<>();
- public void addListener(LexListener listener){
+ public void addListener(LexListener listener) {
listeners.add(listener);
}
- public void removeListener(LexListener listener){
+ public void removeListener(LexListener listener) {
listeners.remove(listener);
}
- public void informListenersLex(ParsedSymbol s){
- for(LexListener l:listeners){
+ public void informListenersLex(ParsedSymbol s) {
+ for (LexListener l : listeners) {
l.onLex(s);
}
}
- public void informListenersPushBack(ParsedSymbol s){
- for(LexListener l:listeners){
+ public void informListenersPushBack(ParsedSymbol s) {
+ for (LexListener l : listeners) {
l.onPushBack(s);
}
}
@@ -1259,9 +1300,10 @@ public final class ActionScriptLexer {
}
ParsedSymbol last;
- public ParsedSymbol lex() throws java.io.IOException, ActionParseException{
+
+ public ParsedSymbol lex() throws java.io.IOException, ActionParseException {
ParsedSymbol ret = null;
- if (!pushedBack.isEmpty()){
+ if (!pushedBack.isEmpty()) {
ret = last = pushedBack.pop();
} else {
ret = last = yylex();
@@ -1270,1094 +1312,1285 @@ public final class ActionScriptLexer {
return ret;
}
-
-
- /**
- * Creates a new scanner
- *
- * @param in the java.io.Reader to read input from.
- */
- public ActionScriptLexer(java.io.Reader in) {
- this.zzReader = in;
- }
-
-
- /**
- * Unpacks the compressed character translation table.
- *
- * @param packed the packed character translation table
- * @return the unpacked character translation table
- */
- private static char [] zzUnpackCMap(String packed) {
- char [] map = new char[0x110000];
- int i = 0; /* index in packed string */
- int j = 0; /* index in unpacked array */
- while (i < 2916) {
- int count = packed.charAt(i++);
- char value = packed.charAt(i++);
- do map[j++] = value; while (--count > 0);
- }
- return map;
- }
-
-
- /**
- * Refills the input buffer.
- *
- * @return false, 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) {
- zzEndRead += zzFinalHighSurrogate;
- zzFinalHighSurrogate = 0;
- System.arraycopy(zzBuffer, zzStartRead,
- zzBuffer, 0,
- zzEndRead-zzStartRead);
-
- /* translate stored positions */
- zzEndRead-= zzStartRead;
- zzCurrentPos-= zzStartRead;
- zzMarkedPos-= zzStartRead;
- zzStartRead = 0;
+ /**
+ * Creates a new scanner
+ *
+ * @param in the java.io.Reader to read input from.
+ */
+ public ActionScriptLexer(java.io.Reader in) {
+ this.zzReader = in;
}
- /* is the buffer big enough? */
- if (zzCurrentPos >= zzBuffer.length - zzFinalHighSurrogate) {
- /* if not: blow it up */
- char newBuffer[] = new char[zzBuffer.length*2];
- System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
- zzBuffer = newBuffer;
- zzEndRead += zzFinalHighSurrogate;
- zzFinalHighSurrogate = 0;
- }
+ /**
+ * Unpacks the compressed character translation table.
+ *
+ * @param packed the packed character translation table
+ * @return the unpacked character translation table
+ */
+ private static char[] zzUnpackCMap(String packed) {
+ char[] map = new char[0x110000];
+ int i = 0; /* index in packed string */
- /* fill the buffer with new input */
- int requested = zzBuffer.length - zzEndRead;
- int totalRead = 0;
- while (totalRead < requested) {
- int numRead = zzReader.read(zzBuffer, zzEndRead + totalRead, requested - totalRead);
- if (numRead == -1) {
- break;
- }
- totalRead += numRead;
- }
+ int j = 0; /* index in unpacked array */
- if (totalRead > 0) {
- zzEndRead += totalRead;
- if (totalRead == requested) { /* possibly more input available */
- if (Character.isHighSurrogate(zzBuffer[zzEndRead - 1])) {
- --zzEndRead;
- zzFinalHighSurrogate = 1;
+ while (i < 2916) {
+ int count = packed.charAt(i++);
+ char value = packed.charAt(i++);
+ do {
+ map[j++] = value;
+ } while (--count > 0);
}
- }
- return false;
+ return map;
}
- // totalRead = 0: End of stream
- return true;
- }
+ /**
+ * Refills the input buffer.
+ *
+ * @return false, iff there was new input.
+ *
+ * @exception java.io.IOException if any I/O-Error occurs
+ */
+ private boolean zzRefill() throws java.io.IOException {
-
- /**
- * Closes the input stream.
- */
- public final void yyclose() throws java.io.IOException {
- zzAtEOF = true; /* indicate end of file */
- zzEndRead = zzStartRead; /* invalidate buffer */
+ /* first: make room (if you can) */
+ if (zzStartRead > 0) {
+ zzEndRead += zzFinalHighSurrogate;
+ zzFinalHighSurrogate = 0;
+ System.arraycopy(zzBuffer, zzStartRead,
+ zzBuffer, 0,
+ zzEndRead - zzStartRead);
- if (zzReader != null)
- zzReader.close();
- }
+ /* translate stored positions */
+ zzEndRead -= zzStartRead;
+ zzCurrentPos -= zzStartRead;
+ zzMarkedPos -= zzStartRead;
+ zzStartRead = 0;
+ }
+ /* is the buffer big enough? */
+ if (zzCurrentPos >= zzBuffer.length - zzFinalHighSurrogate) {
+ /* if not: blow it up */
+ char newBuffer[] = new char[zzBuffer.length * 2];
+ System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
+ zzBuffer = newBuffer;
+ zzEndRead += zzFinalHighSurrogate;
+ zzFinalHighSurrogate = 0;
+ }
- /**
- * 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
- * cannot be reused (internal buffer is discarded and lost).
- * Lexical state is set to ZZ_INITIAL.
- *
- * Internal scan buffer is resized down to its initial length, if it has grown.
- *
- * @param reader the new input stream
- */
- public final void yyreset(java.io.Reader reader) {
- zzReader = reader;
- zzAtBOL = true;
- zzAtEOF = false;
- zzEOFDone = false;
- zzEndRead = zzStartRead = 0;
- zzCurrentPos = zzMarkedPos = 0;
- zzFinalHighSurrogate = 0;
- yyline = yychar = yycolumn = 0;
- zzLexicalState = YYINITIAL;
- if (zzBuffer.length > ZZ_BUFFERSIZE)
- zzBuffer = new char[ZZ_BUFFERSIZE];
- }
+ /* fill the buffer with new input */
+ int requested = zzBuffer.length - zzEndRead;
+ int totalRead = 0;
+ while (totalRead < requested) {
+ int numRead = zzReader.read(zzBuffer, zzEndRead + totalRead, requested - totalRead);
+ if (numRead == -1) {
+ break;
+ }
+ totalRead += numRead;
+ }
+ if (totalRead > 0) {
+ zzEndRead += totalRead;
+ if (totalRead == requested) { /* possibly more input available */
- /**
- * Returns the current lexical state.
- */
- public final int yystate() {
- return zzLexicalState;
- }
+ if (Character.isHighSurrogate(zzBuffer[zzEndRead - 1])) {
+ --zzEndRead;
+ zzFinalHighSurrogate = 1;
+ }
+ }
+ return false;
+ }
-
- /**
- * 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 pos 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];
+ // totalRead = 0: End of stream
+ return true;
}
- throw new Error(message);
- }
+ /**
+ * Closes the input stream.
+ *
+ * @throws java.io.IOException
+ */
+ public final void yyclose() throws java.io.IOException {
+ zzAtEOF = true; /* indicate end of file */
+ zzEndRead = zzStartRead; /* invalidate buffer */
- /**
- * 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);
+ if (zzReader != null) {
+ zzReader.close();
+ }
+ }
- zzMarkedPos -= number;
- }
+ /**
+ * 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
+ * cannot be reused (internal buffer is discarded and lost). Lexical
+ * state is set to ZZ_INITIAL.
+ *
+ * Internal scan buffer is resized down to its initial length, if it has
+ * grown.
+ *
+ * @param reader the new input stream
+ */
+ public final void yyreset(java.io.Reader reader) {
+ zzReader = reader;
+ zzAtBOL = true;
+ zzAtEOF = false;
+ zzEOFDone = false;
+ zzEndRead = zzStartRead = 0;
+ zzCurrentPos = zzMarkedPos = 0;
+ zzFinalHighSurrogate = 0;
+ yyline = yychar = yycolumn = 0;
+ zzLexicalState = YYINITIAL;
+ if (zzBuffer.length > ZZ_BUFFERSIZE) {
+ zzBuffer = new char[ZZ_BUFFERSIZE];
+ }
+ }
+ /**
+ * Returns the current lexical state.
+ *
+ * @return
+ */
+ public final int yystate() {
+ return zzLexicalState;
+ }
- /**
- * 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 ParsedSymbol yylex() throws java.io.IOException, ActionParseException {
- int zzInput;
- int zzAction;
+ /**
+ * Enters a new lexical state
+ *
+ * @param newState the new lexical state
+ */
+ public final void yybegin(int newState) {
+ zzLexicalState = newState;
+ }
- // cached fields:
- int zzCurrentPosL;
- int zzMarkedPosL;
- int zzEndReadL = zzEndRead;
- char [] zzBufferL = zzBuffer;
- char [] zzCMapL = ZZ_CMAP;
+ /**
+ * Returns the text matched by the current regular expression.
+ *
+ * @return
+ */
+ public final String yytext() {
+ return new String(zzBuffer, zzStartRead, zzMarkedPos - zzStartRead);
+ }
- int [] zzTransL = ZZ_TRANS;
- int [] zzRowMapL = ZZ_ROWMAP;
- int [] zzAttrL = ZZ_ATTRIBUTE;
+ /**
+ * Returns the character at position pos 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];
+ }
- while (true) {
- zzMarkedPosL = zzMarkedPos;
+ /**
+ * Returns the length of the matched text region.
+ *
+ * @return
+ */
+ public final int yylength() {
+ return zzMarkedPos - zzStartRead;
+ }
- yychar+= zzMarkedPosL-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];
+ }
- zzAction = -1;
+ throw new Error(message);
+ }
- zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
-
- zzState = ZZ_LEXSTATE[zzLexicalState];
+ /**
+ * 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);
+ }
- // set up zzAction for empty match case:
- int zzAttributes = zzAttrL[zzState];
- if ( (zzAttributes & 1) == 1 ) {
- zzAction = zzState;
- }
+ 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
+ * @throws com.jpexs.decompiler.flash.action.parser.ActionParseException
+ */
+ public ParsedSymbol yylex() throws java.io.IOException, ActionParseException {
+ 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;
- zzForAction: {
while (true) {
-
- if (zzCurrentPosL < zzEndReadL) {
- zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
- zzCurrentPosL += Character.charCount(zzInput);
- }
- else if (zzAtEOF) {
- zzInput = YYEOF;
- break zzForAction;
- }
- else {
- // store back cached positions
- zzCurrentPos = zzCurrentPosL;
- zzMarkedPos = zzMarkedPosL;
- boolean eof = zzRefill();
- // get translated positions and possibly new buffer
- zzCurrentPosL = zzCurrentPos;
- zzMarkedPosL = zzMarkedPos;
- zzBufferL = zzBuffer;
- zzEndReadL = zzEndRead;
- if (eof) {
- zzInput = YYEOF;
- break zzForAction;
- }
- else {
- zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
- zzCurrentPosL += Character.charCount(zzInput);
- }
- }
- int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
- if (zzNext == -1) break zzForAction;
- zzState = zzNext;
+ zzMarkedPosL = zzMarkedPos;
- zzAttributes = zzAttrL[zzState];
- if ( (zzAttributes & 1) == 1 ) {
- zzAction = zzState;
- zzMarkedPosL = zzCurrentPosL;
- if ( (zzAttributes & 8) == 8 ) break zzForAction;
- }
+ yychar += zzMarkedPosL - zzStartRead;
+ zzAction = -1;
+
+ zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
+
+ zzState = ZZ_LEXSTATE[zzLexicalState];
+
+ // set up zzAction for empty match case:
+ int zzAttributes = zzAttrL[zzState];
+ if ((zzAttributes & 1) == 1) {
+ zzAction = zzState;
+ }
+
+ zzForAction:
+ {
+ while (true) {
+
+ if (zzCurrentPosL < zzEndReadL) {
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
+ zzCurrentPosL += Character.charCount(zzInput);
+ } else if (zzAtEOF) {
+ zzInput = YYEOF;
+ break zzForAction;
+ } else {
+ // store back cached positions
+ zzCurrentPos = zzCurrentPosL;
+ zzMarkedPos = zzMarkedPosL;
+ boolean eof = zzRefill();
+ // get translated positions and possibly new buffer
+ zzCurrentPosL = zzCurrentPos;
+ zzMarkedPosL = zzMarkedPos;
+ zzBufferL = zzBuffer;
+ zzEndReadL = zzEndRead;
+ if (eof) {
+ zzInput = YYEOF;
+ break zzForAction;
+ } else {
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
+ zzCurrentPosL += Character.charCount(zzInput);
+ }
+ }
+ int zzNext = zzTransL[zzRowMapL[zzState] + zzCMapL[zzInput]];
+ if (zzNext == -1) {
+ break zzForAction;
+ }
+ zzState = zzNext;
+
+ zzAttributes = zzAttrL[zzState];
+ if ((zzAttributes & 1) == 1) {
+ zzAction = zzState;
+ zzMarkedPosL = zzCurrentPosL;
+ if ((zzAttributes & 8) == 8) {
+ break zzForAction;
+ }
+ }
+
+ }
+ }
+
+ // store back cached position
+ zzMarkedPos = zzMarkedPosL;
+
+ switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
+ case 1: {
+ }
+ case 186:
+ break;
+ case 2: {
+ yyline++;
+ }
+ case 187:
+ break;
+ case 3: { /*ignore*/
+
+ }
+ case 188:
+ break;
+ case 4: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DIVIDE, yytext());
+ }
+ case 189:
+ break;
+ case 5: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MULTIPLY, yytext());
+ }
+ case 190:
+ break;
+ case 6: {
+ return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.IDENTIFIER, yytext());
+ }
+ case 191:
+ break;
+ case 7: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.COLON, yytext());
+ }
+ case 192:
+ break;
+ case 8: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DOT, yytext());
+ }
+ case 193:
+ break;
+ case 9: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.LOWER_THAN, yytext());
+ }
+ case 194:
+ break;
+ case 10: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.GREATER_THAN, yytext());
+ }
+ case 195:
+ break;
+ case 11: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN, yytext());
+ }
+ case 196:
+ break;
+ case 12: {
+ string.setLength(0);
+ yybegin(STRING);
+ }
+ case 197:
+ break;
+ case 13: {
+ return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, Long.parseLong((yytext())));
+ }
+ case 198:
+ break;
+ case 14: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MINUS, yytext());
+ }
+ case 199:
+ break;
+ case 15: {
+ string.setLength(0);
+ yybegin(CHARLITERAL);
+ }
+ case 200:
+ break;
+ case 16: {
+ string.setLength(0);
+ yybegin(OIDENTIFIER);
+ }
+ case 201:
+ break;
+ case 17: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PARENT_OPEN, yytext());
+ }
+ case 202:
+ break;
+ case 18: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PARENT_CLOSE, yytext());
+ }
+ case 203:
+ break;
+ case 19: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.CURLY_OPEN, yytext());
+ }
+ case 204:
+ break;
+ case 20: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.CURLY_CLOSE, yytext());
+ }
+ case 205:
+ break;
+ case 21: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BRACKET_OPEN, yytext());
+ }
+ case 206:
+ break;
+ case 22: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BRACKET_CLOSE, yytext());
+ }
+ case 207:
+ break;
+ case 23: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SEMICOLON, yytext());
+ }
+ case 208:
+ break;
+ case 24: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.COMMA, yytext());
+ }
+ case 209:
+ break;
+ case 25: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NOT, yytext());
+ }
+ case 210:
+ break;
+ case 26: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NEGATE, yytext());
+ }
+ case 211:
+ break;
+ case 27: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.TERNAR, yytext());
+ }
+ case 212:
+ break;
+ case 28: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BITAND, yytext());
+ }
+ case 213:
+ break;
+ case 29: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BITOR, yytext());
+ }
+ case 214:
+ break;
+ case 30: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PLUS, yytext());
+ }
+ case 215:
+ break;
+ case 31: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.XOR, yytext());
+ }
+ case 216:
+ break;
+ case 32: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MODULO, yytext());
+ }
+ case 217:
+ break;
+ case 33: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ATTRIBUTE, yytext());
+ }
+ case 218:
+ break;
+ case 34: {
+ string.append(yytext());
+ }
+ case 219:
+ break;
+ case 35: {
+ yybegin(YYINITIAL);
+ yyline++;
+ }
+ case 220:
+ break;
+ case 36: {
+ yybegin(YYINITIAL);
+ // length also includes the trailing quote
+ return new ParsedSymbol(SymbolGroup.STRING, SymbolType.STRING, string.toString());
+ }
+ case 221:
+ break;
+ case 37: {
+ string.append(yytext());
+ yyline++;
+ }
+ case 222:
+ break;
+ case 38: {
+ yybegin(XML);
+ string.append(yytext());
+ }
+ case 223:
+ break;
+ case 39: {
+ string.append(yytext());
+ yyline++;
+ }
+ case 224:
+ break;
+ case 40: {
+ yybegin(YYINITIAL);
+ // length also includes the trailing quote
+ return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.IDENTIFIER, string.toString());
+ }
+ case 225:
+ break;
+ case 41: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_DIVIDE, yytext());
+ }
+ case 226:
+ break;
+ case 42: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MULTIPLY, yytext());
+ }
+ case 227:
+ break;
+ case 43: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NAMESPACE_OP, yytext());
+ }
+ case 228:
+ break;
+ case 44: {
+ return new ParsedSymbol(SymbolGroup.DOUBLE, SymbolType.DOUBLE, Double.parseDouble((yytext())));
+ }
+ case 229:
+ break;
+ case 45: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SHIFT_LEFT, yytext());
+ }
+ case 230:
+ break;
+ case 46: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NOT_EQUAL, yytext());
+ }
+ case 231:
+ break;
+ case 47: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.LOWER_EQUAL, yytext());
+ }
+ case 232:
+ break;
+ case 48: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SHIFT_RIGHT, yytext());
+ }
+ case 233:
+ break;
+ case 49: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.GREATER_EQUAL, yytext());
+ }
+ case 234:
+ break;
+ case 50: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.EQUALS, yytext());
+ }
+ case 235:
+ break;
+ case 51: {
+ return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, Long.parseLong(yytext(), 8));
+ }
+ case 236:
+ break;
+ case 52: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MINUS, yytext());
+ }
+ case 237:
+ break;
+ case 53: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DECREMENT, yytext());
+ }
+ case 238:
+ break;
+ case 54: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.AS, yytext());
+ }
+ case 239:
+ break;
+ case 55: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.FULLOR, yytext());
+ }
+ case 240:
+ break;
+ case 56: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.IS, yytext());
+ }
+ case 241:
+ break;
+ case 57: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IN, yytext());
+ }
+ case 242:
+ break;
+ case 58: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IF, yytext());
+ }
+ case 243:
+ break;
+ case 59: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.DO, yytext());
+ }
+ case 244:
+ break;
+ case 60: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_BITAND, yytext());
+ }
+ case 245:
+ break;
+ case 61: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.AND, yytext());
+ }
+ case 246:
+ break;
+ case 62: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_BITOR, yytext());
+ }
+ case 247:
+ break;
+ case 63: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.OR, yytext());
+ }
+ case 248:
+ break;
+ case 64: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_PLUS, yytext());
+ }
+ case 249:
+ break;
+ case 65: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.INCREMENT, yytext());
+ }
+ case 250:
+ break;
+ case 66: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_XOR, yytext());
+ }
+ case 251:
+ break;
+ case 67: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MODULO, yytext());
+ }
+ case 252:
+ break;
+ case 68: {
+ string.append('\\'); /*illegal escape sequence*/
+
+ }
+ case 253:
+ break;
+ case 69: {
+ string.append('\"');
+ }
+ case 254:
+ break;
+ case 70: {
+ string.append('\\');
+ }
+ case 255:
+ break;
+ case 71: {
+ string.append('\'');
+ }
+ case 256:
+ break;
+ case 72: {
+ string.append('\b');
+ }
+ case 257:
+ break;
+ case 73: {
+ string.append('\r');
+ }
+ case 258:
+ break;
+ case 74: {
+ string.append('\n');
+ }
+ case 259:
+ break;
+ case 75: {
+ string.append('\t');
+ }
+ case 260:
+ break;
+ case 76: {
+ string.append('\f');
+ }
+ case 261:
+ break;
+ case 77: {
+ throw new ActionParseException("Illegal escape sequence \"" + yytext() + "\"", yyline + 1);
+ }
+ case 262:
+ break;
+ case 78: {
+ string.append('\u00A7');
+ }
+ case 263:
+ break;
+ case 79: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.REST, yytext());
+ }
+ case 264:
+ break;
+ case 80: {
+ string.setLength(0);
+ yybegin(XML);
+ String s = yytext();
+ s = s.substring(1, s.length() - 1);
+ if (s.contains(" ")) {
+ s = s.substring(0, s.indexOf(' '));
+ }
+ xmlTagName = s;
+ string.append(yytext());
+ }
+ case 265:
+ break;
+ case 81: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_SHIFT_LEFT, yytext());
+ }
+ case 266:
+ break;
+ case 82: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.USHIFT_RIGHT, yytext());
+ }
+ case 267:
+ break;
+ case 83: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_SHIFT_RIGHT, yytext());
+ }
+ case 268:
+ break;
+ case 84: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.STRICT_EQUALS, yytext());
+ }
+ case 269:
+ break;
+ case 85: {
+ return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, Long.parseLong(yytext().substring(2), 16));
+ }
+ case 270:
+ break;
+ case 86: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.FULLAND, yytext());
+ }
+ case 271:
+ break;
+ case 87: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.CHR, yytext());
+ }
+ case 272:
+ break;
+ case 88: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.SET, yytext());
+ }
+ case 273:
+ break;
+ case 89: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.ORD, yytext());
+ }
+ case 274:
+ break;
+ case 90: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NEW, yytext());
+ }
+ case 275:
+ break;
+ case 91: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.TRY, yytext());
+ }
+ case 276:
+ break;
+ case 92: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.INT, yytext());
+ }
+ case 277:
+ break;
+ case 93: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.USE, yytext());
+ }
+ case 278:
+ break;
+ case 94: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FOR, yytext());
+ }
+ case 279:
+ break;
+ case 95: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.VAR, yytext());
+ }
+ case 280:
+ break;
+ case 96: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.GET, yytext());
+ }
+ case 281:
+ break;
+ case 97: {
+ return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.NAN, yytext());
+ }
+ case 282:
+ break;
+ case 98: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.STRICT_NOT_EQUAL, yytext());
+ }
+ case 283:
+ break;
+ case 99: {
+ String t = yytext();
+ return new ParsedSymbol(SymbolGroup.TYPENAME, SymbolType.TYPENAME, t.substring(2, t.length() - 1));
+ }
+ case 284:
+ break;
+ case 100: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_USHIFT_RIGHT, yytext());
+ }
+ case 285:
+ break;
+ case 101: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.EACH, yytext());
+ }
+ case 286:
+ break;
+ case 102: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.ELSE, yytext());
+ }
+ case 287:
+ break;
+ case 103: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.EVAL, yytext());
+ }
+ case 288:
+ break;
+ case 104: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CASE, yytext());
+ }
+ case 289:
+ break;
+ case 105: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.CALL, yytext());
+ }
+ case 290:
+ break;
+ case 106: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.STOP, yytext());
+ }
+ case 291:
+ break;
+ case 107: {
+ return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.NULL, yytext());
+ }
+ case 292:
+ break;
+ case 108: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.TRUE, yytext());
+ }
+ case 293:
+ break;
+ case 109: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.THIS, yytext());
+ }
+ case 294:
+ break;
+ case 110: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.WITH, yytext());
+ }
+ case 295:
+ break;
+ case 111: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PLAY, yytext());
+ }
+ case 296:
+ break;
+ case 112: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.VOID, yytext());
+ }
+ case 297:
+ break;
+ case 113: {
+ char val = (char) Integer.parseInt(yytext().substring(1), 8);
+ string.append(val);
+ }
+ case 298:
+ break;
+ case 114: {
+ char val = (char) Integer.parseInt(yytext().substring(2), 16);
+ string.append(val);
+ }
+ case 299:
+ break;
+ case 115: {
+ string.append(yytext());
+ String endtagname = yytext();
+ endtagname = endtagname.substring(2, endtagname.length() - 1);
+ if (endtagname.equals(xmlTagName)) {
+ yybegin(YYINITIAL);
+ return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML, string.toString());
+ }
+ }
+ case 300:
+ break;
+ case 116: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.BREAK, yytext());
+ }
+ case 301:
+ break;
+ case 117: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CATCH, yytext());
+ }
+ case 302:
+ break;
+ case 118: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CONST, yytext());
+ }
+ case 303:
+ break;
+ case 119: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CLASS, yytext());
+ }
+ case 304:
+ break;
+ case 120: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.SUPER, yytext());
+ }
+ case 305:
+ break;
+ case 121: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.TRACE, yytext());
+ }
+ case 306:
+ break;
+ case 122: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.THROW, yytext());
+ }
+ case 307:
+ break;
+ case 123: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FALSE, yytext());
+ }
+ case 308:
+ break;
+ case 124: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.WHILE, yytext());
+ }
+ case 309:
+ break;
+ case 125: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PRINT, yytext());
+ }
+ case 310:
+ break;
+ case 126: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.MBCHR, yytext());
+ }
+ case 311:
+ break;
+ case 127: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.MBORD, yytext());
+ }
+ case 312:
+ break;
+ case 128: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.RETURN, yytext());
+ }
+ case 313:
+ break;
+ case 129: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.RANDOM, yytext());
+ }
+ case 314:
+ break;
+ case 130: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.STATIC, yytext());
+ }
+ case 315:
+ break;
+ case 131: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.SUBSTR, yytext());
+ }
+ case 316:
+ break;
+ case 132: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.SWITCH, yytext());
+ }
+ case 317:
+ break;
+ case 133: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.TYPEOF, yytext());
+ }
+ case 318:
+ break;
+ case 134: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IMPORT, yytext());
+ }
+ case 319:
+ break;
+ case 135: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DELETE, yytext());
+ }
+ case 320:
+ break;
+ case 136: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.LENGTH, yytext());
+ }
+ case 321:
+ break;
+ case 137: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PUBLIC, yytext());
+ }
+ case 322:
+ break;
+ case 138: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.GETURL, yytext());
+ }
+ case 323:
+ break;
+ case 139: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.STRING_OP, yytext());
+ }
+ case 324:
+ break;
+ case 140: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.NUMBER_OP, yytext());
+ }
+ case 325:
+ break;
+ case 141: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.EXTENDS, yytext());
+ }
+ case 326:
+ break;
+ case 142: {
+ return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.NEWLINE, yytext());
+ }
+ case 327:
+ break;
+ case 143: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.DEFAULT, yytext());
+ }
+ case 328:
+ break;
+ case 144: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.DYNAMIC, yytext());
+ }
+ case 329:
+ break;
+ case 145: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FINALLY, yytext());
+ }
+ case 330:
+ break;
+ case 146: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PRIVATE, yytext());
+ }
+ case 331:
+ break;
+ case 147: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PACKAGE, yytext());
+ }
+ case 332:
+ break;
+ case 148: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CONTINUE, yytext());
+ }
+ case 333:
+ break;
+ case 149: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.STOPDRAG, yytext());
+ }
+ case 334:
+ break;
+ case 150: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.OVERRIDE, yytext());
+ }
+ case 335:
+ break;
+ case 151: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.INTERNAL, yytext());
+ }
+ case 336:
+ break;
+ case 152: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FUNCTION, yytext());
+ }
+ case 337:
+ break;
+ case 153: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PRINTNUM, yytext());
+ }
+ case 338:
+ break;
+ case 154: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.MBLENGTH, yytext());
+ }
+ case 339:
+ break;
+ case 155: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.GETTIMER, yytext());
+ }
+ case 340:
+ break;
+ case 156: {
+ return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.INFINITY, yytext());
+ }
+ case 341:
+ break;
+ case 157: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.STARTDRAG, yytext());
+ }
+ case 342:
+ break;
+ case 158: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.NEXTFRAME, yytext());
+ }
+ case 343:
+ break;
+ case 159: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.NAMESPACE, yytext());
+ }
+ case 344:
+ break;
+ case 160: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.INTERFACE, yytext());
+ }
+ case 345:
+ break;
+ case 161: {
+ return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.UNDEFINED, yytext());
+ }
+ case 346:
+ break;
+ case 162: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.FSCOMMAND, yytext());
+ }
+ case 347:
+ break;
+ case 163: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.LOADMOVIE, yytext());
+ }
+ case 348:
+ break;
+ case 164: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PREVFRAME, yytext());
+ }
+ case 349:
+ break;
+ case 165: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PROTECTED, yytext());
+ }
+ case 350:
+ break;
+ case 166: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.TELLTARGET, yytext());
+ }
+ case 351:
+ break;
+ case 167: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.TARGETPATH, yytext());
+ }
+ case 352:
+ break;
+ case 168: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.INSTANCEOF, yytext());
+ }
+ case 353:
+ break;
+ case 169: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IMPLEMENTS, yytext());
+ }
+ case 354:
+ break;
+ case 170: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.GETVERSION, yytext());
+ }
+ case 355:
+ break;
+ case 171: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.UNLOADMOVIE, yytext());
+ }
+ case 356:
+ break;
+ case 172: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.MBSUBSTRING, yytext());
+ }
+ case 357:
+ break;
+ case 173: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.GOTOANDSTOP, yytext());
+ }
+ case 358:
+ break;
+ case 174: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.GOTOANDPLAY, yytext());
+ }
+ case 359:
+ break;
+ case 175: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.LOADMOVIENUM, yytext());
+ }
+ case 360:
+ break;
+ case 176: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.STOPALLSOUNDS, yytext());
+ }
+ case 361:
+ break;
+ case 177: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IFFRAMELOADED, yytext());
+ }
+ case 362:
+ break;
+ case 178: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.LOADVARIABLES, yytext());
+ }
+ case 363:
+ break;
+ case 179: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PRINTASBITMAP, yytext());
+ }
+ case 364:
+ break;
+ case 180: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.UNLOADMOVIENUM, yytext());
+ }
+ case 365:
+ break;
+ case 181: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.REMOVEMOVIECLIP, yytext());
+ }
+ case 366:
+ break;
+ case 182: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.LOADVARIABLESNUM, yytext());
+ }
+ case 367:
+ break;
+ case 183: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PRINTASBITMAPNUM, yytext());
+ }
+ case 368:
+ break;
+ case 184: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.TOGGLEHIGHQUALITY, yytext());
+ }
+ case 369:
+ break;
+ case 185: {
+ return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.DUPLICATEMOVIECLIP, yytext());
+ }
+ case 370:
+ break;
+ default:
+ if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
+ zzAtEOF = true;
+ {
+ return new ParsedSymbol(SymbolGroup.EOF, SymbolType.EOF, null);
+ }
+ } else {
+ zzScanError(ZZ_NO_MATCH);
+ }
+ }
}
- }
-
- // store back cached position
- zzMarkedPos = zzMarkedPosL;
-
- switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
- case 1:
- {
- }
- case 186: break;
- case 2:
- { yyline++;
- }
- case 187: break;
- case 3:
- { /*ignore*/
- }
- case 188: break;
- case 4:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DIVIDE, yytext());
- }
- case 189: break;
- case 5:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MULTIPLY, yytext());
- }
- case 190: break;
- case 6:
- { return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.IDENTIFIER, yytext());
- }
- case 191: break;
- case 7:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.COLON, yytext());
- }
- case 192: break;
- case 8:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DOT, yytext());
- }
- case 193: break;
- case 9:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.LOWER_THAN, yytext());
- }
- case 194: break;
- case 10:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.GREATER_THAN, yytext());
- }
- case 195: break;
- case 11:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN, yytext());
- }
- case 196: break;
- case 12:
- { string.setLength(0);
- yybegin(STRING);
- }
- case 197: break;
- case 13:
- { return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, Long.parseLong((yytext())));
- }
- case 198: break;
- case 14:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MINUS, yytext());
- }
- case 199: break;
- case 15:
- { string.setLength(0);
- yybegin(CHARLITERAL);
- }
- case 200: break;
- case 16:
- { string.setLength(0);
- yybegin(OIDENTIFIER);
- }
- case 201: break;
- case 17:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PARENT_OPEN, yytext());
- }
- case 202: break;
- case 18:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PARENT_CLOSE, yytext());
- }
- case 203: break;
- case 19:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.CURLY_OPEN, yytext());
- }
- case 204: break;
- case 20:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.CURLY_CLOSE, yytext());
- }
- case 205: break;
- case 21:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BRACKET_OPEN, yytext());
- }
- case 206: break;
- case 22:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BRACKET_CLOSE, yytext());
- }
- case 207: break;
- case 23:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SEMICOLON, yytext());
- }
- case 208: break;
- case 24:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.COMMA, yytext());
- }
- case 209: break;
- case 25:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NOT, yytext());
- }
- case 210: break;
- case 26:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NEGATE, yytext());
- }
- case 211: break;
- case 27:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.TERNAR, yytext());
- }
- case 212: break;
- case 28:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BITAND, yytext());
- }
- case 213: break;
- case 29:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BITOR, yytext());
- }
- case 214: break;
- case 30:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PLUS, yytext());
- }
- case 215: break;
- case 31:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.XOR, yytext());
- }
- case 216: break;
- case 32:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MODULO, yytext());
- }
- case 217: break;
- case 33:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ATTRIBUTE, yytext());
- }
- case 218: break;
- case 34:
- { string.append(yytext());
- }
- case 219: break;
- case 35:
- { yybegin(YYINITIAL); yyline++;
- }
- case 220: break;
- case 36:
- { yybegin(YYINITIAL);
- // length also includes the trailing quote
- return new ParsedSymbol(SymbolGroup.STRING, SymbolType.STRING, string.toString());
- }
- case 221: break;
- case 37:
- { string.append(yytext()); yyline++;
- }
- case 222: break;
- case 38:
- { yybegin(XML); string.append(yytext());
- }
- case 223: break;
- case 39:
- { string.append(yytext()); yyline++;
- }
- case 224: break;
- case 40:
- { yybegin(YYINITIAL);
- // length also includes the trailing quote
- return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.IDENTIFIER, string.toString());
- }
- case 225: break;
- case 41:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_DIVIDE, yytext());
- }
- case 226: break;
- case 42:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MULTIPLY, yytext());
- }
- case 227: break;
- case 43:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NAMESPACE_OP, yytext());
- }
- case 228: break;
- case 44:
- { return new ParsedSymbol(SymbolGroup.DOUBLE, SymbolType.DOUBLE, Double.parseDouble((yytext())));
- }
- case 229: break;
- case 45:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SHIFT_LEFT, yytext());
- }
- case 230: break;
- case 46:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NOT_EQUAL, yytext());
- }
- case 231: break;
- case 47:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.LOWER_EQUAL, yytext());
- }
- case 232: break;
- case 48:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SHIFT_RIGHT, yytext());
- }
- case 233: break;
- case 49:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.GREATER_EQUAL, yytext());
- }
- case 234: break;
- case 50:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.EQUALS, yytext());
- }
- case 235: break;
- case 51:
- { return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, Long.parseLong(yytext(), 8));
- }
- case 236: break;
- case 52:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MINUS, yytext());
- }
- case 237: break;
- case 53:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DECREMENT, yytext());
- }
- case 238: break;
- case 54:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.AS, yytext());
- }
- case 239: break;
- case 55:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.FULLOR, yytext());
- }
- case 240: break;
- case 56:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.IS, yytext());
- }
- case 241: break;
- case 57:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IN, yytext());
- }
- case 242: break;
- case 58:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IF, yytext());
- }
- case 243: break;
- case 59:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.DO, yytext());
- }
- case 244: break;
- case 60:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_BITAND, yytext());
- }
- case 245: break;
- case 61:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.AND, yytext());
- }
- case 246: break;
- case 62:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_BITOR, yytext());
- }
- case 247: break;
- case 63:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.OR, yytext());
- }
- case 248: break;
- case 64:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_PLUS, yytext());
- }
- case 249: break;
- case 65:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.INCREMENT, yytext());
- }
- case 250: break;
- case 66:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_XOR, yytext());
- }
- case 251: break;
- case 67:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MODULO, yytext());
- }
- case 252: break;
- case 68:
- { string.append('\\'); /*illegal escape sequence*/
- }
- case 253: break;
- case 69:
- { string.append('\"');
- }
- case 254: break;
- case 70:
- { string.append('\\');
- }
- case 255: break;
- case 71:
- { string.append('\'');
- }
- case 256: break;
- case 72:
- { string.append('\b');
- }
- case 257: break;
- case 73:
- { string.append('\r');
- }
- case 258: break;
- case 74:
- { string.append('\n');
- }
- case 259: break;
- case 75:
- { string.append('\t');
- }
- case 260: break;
- case 76:
- { string.append('\f');
- }
- case 261: break;
- case 77:
- { throw new ActionParseException("Illegal escape sequence \"" + yytext() + "\"", yyline + 1);
- }
- case 262: break;
- case 78:
- { string.append('\u00A7');
- }
- case 263: break;
- case 79:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.REST, yytext());
- }
- case 264: break;
- case 80:
- { string.setLength(0);
- yybegin(XML);
- String s = yytext();
- s = s.substring(1, s.length() - 1);
- if (s.contains(" ")){
- s = s.substring(0, s.indexOf(' '));
- }
- xmlTagName = s;
- string.append(yytext());
- }
- case 265: break;
- case 81:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_SHIFT_LEFT, yytext());
- }
- case 266: break;
- case 82:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.USHIFT_RIGHT, yytext());
- }
- case 267: break;
- case 83:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_SHIFT_RIGHT, yytext());
- }
- case 268: break;
- case 84:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.STRICT_EQUALS, yytext());
- }
- case 269: break;
- case 85:
- { return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, Long.parseLong(yytext().substring(2), 16));
- }
- case 270: break;
- case 86:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.FULLAND, yytext());
- }
- case 271: break;
- case 87:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.CHR, yytext());
- }
- case 272: break;
- case 88:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.SET, yytext());
- }
- case 273: break;
- case 89:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.ORD, yytext());
- }
- case 274: break;
- case 90:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NEW, yytext());
- }
- case 275: break;
- case 91:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.TRY, yytext());
- }
- case 276: break;
- case 92:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.INT, yytext());
- }
- case 277: break;
- case 93:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.USE, yytext());
- }
- case 278: break;
- case 94:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FOR, yytext());
- }
- case 279: break;
- case 95:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.VAR, yytext());
- }
- case 280: break;
- case 96:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.GET, yytext());
- }
- case 281: break;
- case 97:
- { return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.NAN, yytext());
- }
- case 282: break;
- case 98:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.STRICT_NOT_EQUAL, yytext());
- }
- case 283: break;
- case 99:
- { String t = yytext(); return new ParsedSymbol(SymbolGroup.TYPENAME, SymbolType.TYPENAME, t.substring(2, t.length() - 1));
- }
- case 284: break;
- case 100:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_USHIFT_RIGHT, yytext());
- }
- case 285: break;
- case 101:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.EACH, yytext());
- }
- case 286: break;
- case 102:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.ELSE, yytext());
- }
- case 287: break;
- case 103:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.EVAL, yytext());
- }
- case 288: break;
- case 104:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CASE, yytext());
- }
- case 289: break;
- case 105:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.CALL, yytext());
- }
- case 290: break;
- case 106:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.STOP, yytext());
- }
- case 291: break;
- case 107:
- { return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.NULL, yytext());
- }
- case 292: break;
- case 108:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.TRUE, yytext());
- }
- case 293: break;
- case 109:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.THIS, yytext());
- }
- case 294: break;
- case 110:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.WITH, yytext());
- }
- case 295: break;
- case 111:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PLAY, yytext());
- }
- case 296: break;
- case 112:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.VOID, yytext());
- }
- case 297: break;
- case 113:
- { char val = (char) Integer.parseInt(yytext().substring(1), 8);
- string.append(val);
- }
- case 298: break;
- case 114:
- { char val = (char) Integer.parseInt(yytext().substring(2), 16);
- string.append(val);
- }
- case 299: break;
- case 115:
- { string.append(yytext());
- String endtagname = yytext();
- endtagname = endtagname.substring(2, endtagname.length() - 1);
- if (endtagname.equals(xmlTagName)){
- yybegin(YYINITIAL);
- return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML, string.toString());
- }
- }
- case 300: break;
- case 116:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.BREAK, yytext());
- }
- case 301: break;
- case 117:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CATCH, yytext());
- }
- case 302: break;
- case 118:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CONST, yytext());
- }
- case 303: break;
- case 119:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CLASS, yytext());
- }
- case 304: break;
- case 120:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.SUPER, yytext());
- }
- case 305: break;
- case 121:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.TRACE, yytext());
- }
- case 306: break;
- case 122:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.THROW, yytext());
- }
- case 307: break;
- case 123:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FALSE, yytext());
- }
- case 308: break;
- case 124:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.WHILE, yytext());
- }
- case 309: break;
- case 125:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PRINT, yytext());
- }
- case 310: break;
- case 126:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.MBCHR, yytext());
- }
- case 311: break;
- case 127:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.MBORD, yytext());
- }
- case 312: break;
- case 128:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.RETURN, yytext());
- }
- case 313: break;
- case 129:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.RANDOM, yytext());
- }
- case 314: break;
- case 130:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.STATIC, yytext());
- }
- case 315: break;
- case 131:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.SUBSTR, yytext());
- }
- case 316: break;
- case 132:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.SWITCH, yytext());
- }
- case 317: break;
- case 133:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.TYPEOF, yytext());
- }
- case 318: break;
- case 134:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IMPORT, yytext());
- }
- case 319: break;
- case 135:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DELETE, yytext());
- }
- case 320: break;
- case 136:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.LENGTH, yytext());
- }
- case 321: break;
- case 137:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PUBLIC, yytext());
- }
- case 322: break;
- case 138:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.GETURL, yytext());
- }
- case 323: break;
- case 139:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.STRING_OP, yytext());
- }
- case 324: break;
- case 140:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.NUMBER_OP, yytext());
- }
- case 325: break;
- case 141:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.EXTENDS, yytext());
- }
- case 326: break;
- case 142:
- { return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.NEWLINE, yytext());
- }
- case 327: break;
- case 143:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.DEFAULT, yytext());
- }
- case 328: break;
- case 144:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.DYNAMIC, yytext());
- }
- case 329: break;
- case 145:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FINALLY, yytext());
- }
- case 330: break;
- case 146:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PRIVATE, yytext());
- }
- case 331: break;
- case 147:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PACKAGE, yytext());
- }
- case 332: break;
- case 148:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CONTINUE, yytext());
- }
- case 333: break;
- case 149:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.STOPDRAG, yytext());
- }
- case 334: break;
- case 150:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.OVERRIDE, yytext());
- }
- case 335: break;
- case 151:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.INTERNAL, yytext());
- }
- case 336: break;
- case 152:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FUNCTION, yytext());
- }
- case 337: break;
- case 153:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PRINTNUM, yytext());
- }
- case 338: break;
- case 154:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.MBLENGTH, yytext());
- }
- case 339: break;
- case 155:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.GETTIMER, yytext());
- }
- case 340: break;
- case 156:
- { return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.INFINITY, yytext());
- }
- case 341: break;
- case 157:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.STARTDRAG, yytext());
- }
- case 342: break;
- case 158:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.NEXTFRAME, yytext());
- }
- case 343: break;
- case 159:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.NAMESPACE, yytext());
- }
- case 344: break;
- case 160:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.INTERFACE, yytext());
- }
- case 345: break;
- case 161:
- { return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.UNDEFINED, yytext());
- }
- case 346: break;
- case 162:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.FSCOMMAND, yytext());
- }
- case 347: break;
- case 163:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.LOADMOVIE, yytext());
- }
- case 348: break;
- case 164:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PREVFRAME, yytext());
- }
- case 349: break;
- case 165:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PROTECTED, yytext());
- }
- case 350: break;
- case 166:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.TELLTARGET, yytext());
- }
- case 351: break;
- case 167:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.TARGETPATH, yytext());
- }
- case 352: break;
- case 168:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.INSTANCEOF, yytext());
- }
- case 353: break;
- case 169:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IMPLEMENTS, yytext());
- }
- case 354: break;
- case 170:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.GETVERSION, yytext());
- }
- case 355: break;
- case 171:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.UNLOADMOVIE, yytext());
- }
- case 356: break;
- case 172:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.MBSUBSTRING, yytext());
- }
- case 357: break;
- case 173:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.GOTOANDSTOP, yytext());
- }
- case 358: break;
- case 174:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.GOTOANDPLAY, yytext());
- }
- case 359: break;
- case 175:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.LOADMOVIENUM, yytext());
- }
- case 360: break;
- case 176:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.STOPALLSOUNDS, yytext());
- }
- case 361: break;
- case 177:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IFFRAMELOADED, yytext());
- }
- case 362: break;
- case 178:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.LOADVARIABLES, yytext());
- }
- case 363: break;
- case 179:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PRINTASBITMAP, yytext());
- }
- case 364: break;
- case 180:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.UNLOADMOVIENUM, yytext());
- }
- case 365: break;
- case 181:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.REMOVEMOVIECLIP, yytext());
- }
- case 366: break;
- case 182:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.LOADVARIABLESNUM, yytext());
- }
- case 367: break;
- case 183:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PRINTASBITMAPNUM, yytext());
- }
- case 368: break;
- case 184:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.TOGGLEHIGHQUALITY, yytext());
- }
- case 369: break;
- case 185:
- { return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.DUPLICATEMOVIECLIP, yytext());
- }
- case 370: break;
- default:
- if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
- zzAtEOF = true;
- {
- return new ParsedSymbol(SymbolGroup.EOF, SymbolType.EOF, null);
- }
- }
- else {
- zzScanError(ZZ_NO_MATCH);
- }
- }
}
- }
-
}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/TextImporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/TextImporter.java
index d3a8498db..8590e9a0b 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/TextImporter.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/TextImporter.java
@@ -58,7 +58,7 @@ public class TextImporter {
String[] records = textArr[1].split(recordSeparator);
result.put(id, records);
} else {
- if (errorHandler.handle()) {
+ if (errorHandler.handle(null)) {
return null;
}
}
@@ -175,9 +175,9 @@ public class TextImporter {
return true;
}
- return !errorHandler.handle();
+ return !errorHandler.handle(textTag);
} catch (TextParseException ex) {
- return !errorHandler.handle(ex.text, ex.line);
+ return !errorHandler.handle(textTag, ex.text, ex.line);
}
}
}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/TextImportErrorHandler.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/TextImportErrorHandler.java
index d03ee2522..883245156 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/TextImportErrorHandler.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/TextImportErrorHandler.java
@@ -22,7 +22,7 @@ package com.jpexs.decompiler.flash.tags.base;
*/
public abstract class TextImportErrorHandler {
- public abstract boolean handle();
+ public abstract boolean handle(TextTag textTag);
- public abstract boolean handle(String message, long line);
+ public abstract boolean handle(TextTag textTag, String message, long line);
}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/text/TextLexer.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/text/TextLexer.java
index bc0f3828e..21e4ca06c 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/text/TextLexer.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/text/TextLexer.java
@@ -18,246 +18,285 @@
*/
package com.jpexs.decompiler.flash.tags.text;
-
-
/**
- * This class is a scanner generated by
- * JFlex 1.6.0
- * from the specification file D:/Dropbox/Programovani/JavaSE/FFDec/libsrc/ffdec_lib/lexers/text.flex
+ * This class is a scanner generated by
+ * JFlex 1.6.0 from the specification file
+ * D:/Dropbox/Programovani/JavaSE/FFDec/libsrc/ffdec_lib/lexers/text.flex
*/
public final class TextLexer {
- /** This character denotes the end of file */
- public static final int YYEOF = -1;
+ /**
+ * 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;
+ /**
+ * initial size of the lookahead buffer
+ */
+ private static final int ZZ_BUFFERSIZE = 16384;
- /** lexical states */
- public static final int YYINITIAL = 0;
- public static final int PARAMETER = 2;
- public static final int VALUE = 4;
+ /**
+ * lexical states
+ */
+ public static final int YYINITIAL = 0;
+ public static final int PARAMETER = 2;
+ public static final int VALUE = 4;
- /**
- * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
- * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l
- * at the beginning of a line
- * l is of the form l = 2*k, k a non negative integer
- */
- private static final int ZZ_LEXSTATE[] = {
- 0, 0, 1, 1, 2, 2
- };
+ /**
+ * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
+ * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l at the
+ * beginning of a line l is of the form l = 2*k, k a non negative integer
+ */
+ private static final int ZZ_LEXSTATE[] = {
+ 0, 0, 1, 1, 2, 2
+ };
- /**
- * Translates characters to character classes
- */
- private static final String ZZ_CMAP_PACKED =
- "\12\0\1\20\1\21\1\21\1\20\22\0\1\3\1\0\1\15\4\0"+
- "\1\16\10\0\12\5\7\0\6\4\24\0\1\6\1\7\1\2\1\0"+
- "\1\1\1\0\1\5\1\10\3\5\1\13\7\1\1\12\3\1\1\14"+
- "\1\1\1\11\3\1\1\17\2\1\12\0\1\21\u1fa2\0\1\21\1\21"+
- "\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\udfe6\0";
+ /**
+ * Translates characters to character classes
+ */
+ private static final String ZZ_CMAP_PACKED
+ = "\12\0\1\20\1\21\1\21\1\20\22\0\1\3\1\0\1\15\4\0"
+ + "\1\16\10\0\12\5\7\0\6\4\24\0\1\6\1\7\1\2\1\0"
+ + "\1\1\1\0\1\5\1\10\3\5\1\13\7\1\1\12\3\1\1\14"
+ + "\1\1\1\11\3\1\1\17\2\1\12\0\1\21\u1fa2\0\1\21\1\21"
+ + "\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\udfe6\0";
- /**
- * Translates characters to character classes
- */
- private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
+ /**
+ * Translates characters to character classes
+ */
+ private static final char[] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
- /**
- * Translates DFA states to action switch labels.
- */
- private static final int [] ZZ_ACTION = zzUnpackAction();
+ /**
+ * Translates DFA states to action switch labels.
+ */
+ private static final int[] ZZ_ACTION = zzUnpackAction();
- private static final String ZZ_ACTION_PACKED_0 =
- "\3\0\1\1\1\2\1\1\1\3\1\4\1\5\1\3"+
- "\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15"+
- "\1\16\1\17\1\20\1\21\1\7\1\0\1\22";
+ private static final String ZZ_ACTION_PACKED_0
+ = "\3\0\1\1\1\2\1\1\1\3\1\4\1\5\1\3"
+ + "\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15"
+ + "\1\16\1\17\1\20\1\21\1\7\1\0\1\22";
- private static int [] zzUnpackAction() {
- int [] result = new int[25];
- 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);
+ private static int[] zzUnpackAction() {
+ int[] result = new int[25];
+ int offset = 0;
+ offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
+ return result;
}
- return j;
- }
+ private static int zzUnpackAction(String packed, int offset, int[] result) {
+ int i = 0; /* index in packed string */
- /**
- * Translates a state to a row index in the transition table
- */
- private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
+ int j = offset; /* index in unpacked array */
- private static final String ZZ_ROWMAP_PACKED_0 =
- "\0\0\0\22\0\44\0\66\0\66\0\110\0\66\0\132"+
- "\0\66\0\154\0\176\0\66\0\66\0\66\0\66\0\66"+
- "\0\66\0\66\0\66\0\66\0\66\0\66\0\220\0\242"+
- "\0\66";
-
- private static int [] zzUnpackRowMap() {
- int [] result = new int[25];
- 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++);
+ 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;
}
- return j;
- }
- /**
- * The transition table of the DFA
- */
- private static final int [] ZZ_TRANS = zzUnpackTrans();
+ /**
+ * Translates a state to a row index in the transition table
+ */
+ private static final int[] ZZ_ROWMAP = zzUnpackRowMap();
- private static final String ZZ_TRANS_PACKED_0 =
- "\6\4\1\5\1\6\10\4\3\7\1\10\1\11\1\12"+
- "\1\7\1\10\2\7\5\10\2\7\1\10\1\12\1\7"+
- "\2\13\1\11\1\12\14\13\1\12\1\13\22\0\2\14"+
- "\1\15\3\14\1\16\1\17\1\20\1\21\1\22\1\23"+
- "\1\24\1\25\1\26\1\27\3\0\1\10\3\0\1\10"+
- "\2\0\5\10\2\0\1\10\5\0\1\12\14\0\1\12"+
- "\1\0\2\13\2\0\14\13\1\0\1\13\4\0\2\30"+
- "\2\0\1\30\2\0\1\30\12\0\2\31\2\0\1\31"+
- "\2\0\1\31\6\0";
+ private static final String ZZ_ROWMAP_PACKED_0
+ = "\0\0\0\22\0\44\0\66\0\66\0\110\0\66\0\132"
+ + "\0\66\0\154\0\176\0\66\0\66\0\66\0\66\0\66"
+ + "\0\66\0\66\0\66\0\66\0\66\0\66\0\220\0\242"
+ + "\0\66";
- private static int [] zzUnpackTrans() {
- int [] result = new int[180];
- 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);
+ private static int[] zzUnpackRowMap() {
+ int[] result = new int[25];
+ int offset = 0;
+ offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
+ return result;
}
- return j;
- }
+ private static int zzUnpackRowMap(String packed, int offset, int[] result) {
+ int i = 0; /* index in packed string */
- /* 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;
+ int j = offset; /* index in unpacked array */
- /* 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 aState
- */
- private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
-
- private static final String ZZ_ATTRIBUTE_PACKED_0 =
- "\3\0\2\11\1\1\1\11\1\1\1\11\2\1\13\11"+
- "\1\1\1\0\1\11";
-
- private static int [] zzUnpackAttribute() {
- int [] result = new int[25];
- 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);
+ int l = packed.length();
+ while (i < l) {
+ int high = packed.charAt(i++) << 16;
+ result[j++] = high | packed.charAt(i++);
+ }
+ return j;
}
- return j;
- }
- /** the input device */
- private java.io.Reader zzReader;
+ /**
+ * The transition table of the DFA
+ */
+ private static final int[] ZZ_TRANS = zzUnpackTrans();
- /** the current state of the DFA */
- private int zzState;
+ private static final String ZZ_TRANS_PACKED_0
+ = "\6\4\1\5\1\6\10\4\3\7\1\10\1\11\1\12"
+ + "\1\7\1\10\2\7\5\10\2\7\1\10\1\12\1\7"
+ + "\2\13\1\11\1\12\14\13\1\12\1\13\22\0\2\14"
+ + "\1\15\3\14\1\16\1\17\1\20\1\21\1\22\1\23"
+ + "\1\24\1\25\1\26\1\27\3\0\1\10\3\0\1\10"
+ + "\2\0\5\10\2\0\1\10\5\0\1\12\14\0\1\12"
+ + "\1\0\2\13\2\0\14\13\1\0\1\13\4\0\2\30"
+ + "\2\0\1\30\2\0\1\30\12\0\2\31\2\0\1\31"
+ + "\2\0\1\31\6\0";
- /** the current lexical state */
- private int zzLexicalState = YYINITIAL;
+ private static int[] zzUnpackTrans() {
+ int[] result = new int[180];
+ int offset = 0;
+ offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
+ return result;
+ }
- /** this buffer contains the current text to be matched and is
- the source of the yytext() string */
- private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
+ private static int zzUnpackTrans(String packed, int offset, int[] result) {
+ int i = 0; /* index in packed string */
- /** the textposition at the last accepting state */
- private int zzMarkedPos;
+ int j = offset; /* index in unpacked array */
- /** the current text position in the buffer */
- private int zzCurrentPos;
+ 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;
+ }
- /** 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;
+ /* 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;
- /** number of newlines encountered up to the start of the matched text */
- private int yyline;
+ /* 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"
+ };
- /** the number of characters up to the start of the matched text */
- private int yychar;
+ /**
+ * ZZ_ATTRIBUTE[aState] contains the attributes of state aState
+ */
+ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute();
- /**
- * the number of characters from the last newline up to the start of the
- * matched text
- */
- private int yycolumn;
+ private static final String ZZ_ATTRIBUTE_PACKED_0
+ = "\3\0\2\11\1\1\1\11\1\1\1\11\2\1\13\11"
+ + "\1\1\1\0\1\11";
- /**
- * zzAtBOL == true <=> the scanner is currently at the beginning of a line
- */
- private boolean zzAtBOL = true;
+ private static int[] zzUnpackAttribute() {
+ int[] result = new int[25];
+ int offset = 0;
+ offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
+ return result;
+ }
- /** zzAtEOF == true <=> the scanner is at the EOF */
- private boolean zzAtEOF;
+ private static int zzUnpackAttribute(String packed, int offset, int[] result) {
+ int i = 0; /* index in packed string */
- /** denotes if the user-EOF-code has already been executed */
- private boolean zzEOFDone;
-
- /**
- * The number of occupied positions in zzBuffer beyond zzEndRead.
- * When a lead/high surrogate has been read from the input stream
- * into the final zzBuffer position, this will have a value of 1;
- * otherwise, it will have a value of 0.
- */
- private int zzFinalHighSurrogate = 0;
+ int j = offset; /* index in unpacked array */
- /* user code: */
+ 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 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;
+
+ /**
+ * denotes if the user-EOF-code has already been executed
+ */
+ private boolean zzEOFDone;
+
+ /**
+ * The number of occupied positions in zzBuffer beyond zzEndRead. When a
+ * lead/high surrogate has been read from the input stream into the final
+ * zzBuffer position, this will have a value of 1; otherwise, it will have a
+ * value of 0.
+ */
+ private int zzFinalHighSurrogate = 0;
+
+ /* user code: */
StringBuffer string = null;
boolean finish = false;
String parameterName = null;
@@ -278,474 +317,533 @@ public final class TextLexer {
return yyline + 1;
}
-
-
- /**
- * Creates a new scanner
- *
- * @param in the java.io.Reader to read input from.
- */
- public TextLexer(java.io.Reader in) {
- this.zzReader = in;
- }
-
-
- /**
- * Unpacks the compressed character translation table.
- *
- * @param packed the packed character translation table
- * @return the unpacked character translation table
- */
- private static char [] zzUnpackCMap(String packed) {
- char [] map = new char[0x110000];
- int i = 0; /* index in packed string */
- int j = 0; /* index in unpacked array */
- while (i < 114) {
- int count = packed.charAt(i++);
- char value = packed.charAt(i++);
- do map[j++] = value; while (--count > 0);
- }
- return map;
- }
-
-
- /**
- * Refills the input buffer.
- *
- * @return false, 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) {
- zzEndRead += zzFinalHighSurrogate;
- zzFinalHighSurrogate = 0;
- System.arraycopy(zzBuffer, zzStartRead,
- zzBuffer, 0,
- zzEndRead-zzStartRead);
-
- /* translate stored positions */
- zzEndRead-= zzStartRead;
- zzCurrentPos-= zzStartRead;
- zzMarkedPos-= zzStartRead;
- zzStartRead = 0;
+ /**
+ * Creates a new scanner
+ *
+ * @param in the java.io.Reader to read input from.
+ */
+ public TextLexer(java.io.Reader in) {
+ this.zzReader = in;
}
- /* is the buffer big enough? */
- if (zzCurrentPos >= zzBuffer.length - zzFinalHighSurrogate) {
- /* if not: blow it up */
- char newBuffer[] = new char[zzBuffer.length*2];
- System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
- zzBuffer = newBuffer;
- zzEndRead += zzFinalHighSurrogate;
- zzFinalHighSurrogate = 0;
- }
+ /**
+ * Unpacks the compressed character translation table.
+ *
+ * @param packed the packed character translation table
+ * @return the unpacked character translation table
+ */
+ private static char[] zzUnpackCMap(String packed) {
+ char[] map = new char[0x110000];
+ int i = 0; /* index in packed string */
- /* fill the buffer with new input */
- int requested = zzBuffer.length - zzEndRead;
- int totalRead = 0;
- while (totalRead < requested) {
- int numRead = zzReader.read(zzBuffer, zzEndRead + totalRead, requested - totalRead);
- if (numRead == -1) {
- break;
- }
- totalRead += numRead;
- }
+ int j = 0; /* index in unpacked array */
- if (totalRead > 0) {
- zzEndRead += totalRead;
- if (totalRead == requested) { /* possibly more input available */
- if (Character.isHighSurrogate(zzBuffer[zzEndRead - 1])) {
- --zzEndRead;
- zzFinalHighSurrogate = 1;
+ while (i < 114) {
+ int count = packed.charAt(i++);
+ char value = packed.charAt(i++);
+ do {
+ map[j++] = value;
+ } while (--count > 0);
}
- }
- return false;
+ return map;
}
- // totalRead = 0: End of stream
- return true;
- }
+ /**
+ * Refills the input buffer.
+ *
+ * @return false, iff there was new input.
+ *
+ * @exception java.io.IOException if any I/O-Error occurs
+ */
+ private boolean zzRefill() throws java.io.IOException {
-
- /**
- * Closes the input stream.
- */
- public final void yyclose() throws java.io.IOException {
- zzAtEOF = true; /* indicate end of file */
- zzEndRead = zzStartRead; /* invalidate buffer */
+ /* first: make room (if you can) */
+ if (zzStartRead > 0) {
+ zzEndRead += zzFinalHighSurrogate;
+ zzFinalHighSurrogate = 0;
+ System.arraycopy(zzBuffer, zzStartRead,
+ zzBuffer, 0,
+ zzEndRead - zzStartRead);
- 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
- * cannot be reused (internal buffer is discarded and lost).
- * Lexical state is set to ZZ_INITIAL.
- *
- * Internal scan buffer is resized down to its initial length, if it has grown.
- *
- * @param reader the new input stream
- */
- public final void yyreset(java.io.Reader reader) {
- zzReader = reader;
- zzAtBOL = true;
- zzAtEOF = false;
- zzEOFDone = false;
- zzEndRead = zzStartRead = 0;
- zzCurrentPos = zzMarkedPos = 0;
- zzFinalHighSurrogate = 0;
- yyline = yychar = yycolumn = 0;
- zzLexicalState = YYINITIAL;
- if (zzBuffer.length > ZZ_BUFFERSIZE)
- zzBuffer = new char[ZZ_BUFFERSIZE];
- }
-
-
- /**
- * 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 pos 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 ParsedSymbol yylex() throws java.io.IOException, TextParseException {
- 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;
-
- while (true) {
- zzMarkedPosL = zzMarkedPos;
-
- yychar+= zzMarkedPosL-zzStartRead;
-
- boolean zzR = false;
- int zzCh;
- int zzCharCount;
- for (zzCurrentPosL = zzStartRead ;
- zzCurrentPosL < zzMarkedPosL ;
- zzCurrentPosL += zzCharCount ) {
- zzCh = Character.codePointAt(zzBufferL, zzCurrentPosL, zzMarkedPosL);
- zzCharCount = Character.charCount(zzCh);
- switch (zzCh) {
- 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 += zzCharCount;
+ /* translate stored positions */
+ zzEndRead -= zzStartRead;
+ zzCurrentPos -= zzStartRead;
+ zzMarkedPos -= zzStartRead;
+ zzStartRead = 0;
}
- }
- 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';
+ /* is the buffer big enough? */
+ if (zzCurrentPos >= zzBuffer.length - zzFinalHighSurrogate) {
+ /* if not: blow it up */
+ char newBuffer[] = new char[zzBuffer.length * 2];
+ System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
+ zzBuffer = newBuffer;
+ zzEndRead += zzFinalHighSurrogate;
+ zzFinalHighSurrogate = 0;
}
- if (zzPeek) yyline--;
- }
- zzAction = -1;
- zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
-
- zzState = ZZ_LEXSTATE[zzLexicalState];
+ /* fill the buffer with new input */
+ int requested = zzBuffer.length - zzEndRead;
+ int totalRead = 0;
+ while (totalRead < requested) {
+ int numRead = zzReader.read(zzBuffer, zzEndRead + totalRead, requested - totalRead);
+ if (numRead == -1) {
+ break;
+ }
+ totalRead += numRead;
+ }
- // set up zzAction for empty match case:
- int zzAttributes = zzAttrL[zzState];
- if ( (zzAttributes & 1) == 1 ) {
- zzAction = zzState;
- }
+ if (totalRead > 0) {
+ zzEndRead += totalRead;
+ if (totalRead == requested) { /* possibly more input available */
+ if (Character.isHighSurrogate(zzBuffer[zzEndRead - 1])) {
+ --zzEndRead;
+ zzFinalHighSurrogate = 1;
+ }
+ }
+ return false;
+ }
+
+ // totalRead = 0: End of stream
+ return true;
+ }
+
+ /**
+ * Closes the input stream.
+ *
+ * @throws java.io.IOException
+ */
+ 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
+ * cannot be reused (internal buffer is discarded and lost). Lexical
+ * state is set to ZZ_INITIAL.
+ *
+ * Internal scan buffer is resized down to its initial length, if it has
+ * grown.
+ *
+ * @param reader the new input stream
+ */
+ public final void yyreset(java.io.Reader reader) {
+ zzReader = reader;
+ zzAtBOL = true;
+ zzAtEOF = false;
+ zzEOFDone = false;
+ zzEndRead = zzStartRead = 0;
+ zzCurrentPos = zzMarkedPos = 0;
+ zzFinalHighSurrogate = 0;
+ yyline = yychar = yycolumn = 0;
+ zzLexicalState = YYINITIAL;
+ if (zzBuffer.length > ZZ_BUFFERSIZE) {
+ zzBuffer = new char[ZZ_BUFFERSIZE];
+ }
+ }
+
+ /**
+ * Returns the current lexical state.
+ *
+ * @return
+ */
+ 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.
+ *
+ * @return
+ */
+ public final String yytext() {
+ return new String(zzBuffer, zzStartRead, zzMarkedPos - zzStartRead);
+ }
+
+ /**
+ * Returns the character at position pos 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.
+ *
+ * @return
+ */
+ 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
+ * @throws com.jpexs.decompiler.flash.tags.text.TextParseException
+ */
+ public ParsedSymbol yylex() throws java.io.IOException, TextParseException {
+ 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;
- zzForAction: {
while (true) {
-
- if (zzCurrentPosL < zzEndReadL) {
- zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
- zzCurrentPosL += Character.charCount(zzInput);
- }
- else if (zzAtEOF) {
- zzInput = YYEOF;
- break zzForAction;
- }
- else {
- // store back cached positions
- zzCurrentPos = zzCurrentPosL;
- zzMarkedPos = zzMarkedPosL;
- boolean eof = zzRefill();
- // get translated positions and possibly new buffer
- zzCurrentPosL = zzCurrentPos;
- zzMarkedPosL = zzMarkedPos;
- zzBufferL = zzBuffer;
- zzEndReadL = zzEndRead;
- if (eof) {
- zzInput = YYEOF;
- break zzForAction;
- }
- else {
- zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
- zzCurrentPosL += Character.charCount(zzInput);
- }
- }
- int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
- if (zzNext == -1) break zzForAction;
- zzState = zzNext;
+ zzMarkedPosL = zzMarkedPos;
- zzAttributes = zzAttrL[zzState];
- if ( (zzAttributes & 1) == 1 ) {
- zzAction = zzState;
- zzMarkedPosL = zzCurrentPosL;
- if ( (zzAttributes & 8) == 8 ) break zzForAction;
- }
+ yychar += zzMarkedPosL - zzStartRead;
+ boolean zzR = false;
+ int zzCh;
+ int zzCharCount;
+ for (zzCurrentPosL = zzStartRead;
+ zzCurrentPosL < zzMarkedPosL;
+ zzCurrentPosL += zzCharCount) {
+ zzCh = Character.codePointAt(zzBufferL, zzCurrentPosL, zzMarkedPosL);
+ zzCharCount = Character.charCount(zzCh);
+ switch (zzCh) {
+ 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 += zzCharCount;
+ }
+ }
+
+ 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 = ZZ_LEXSTATE[zzLexicalState];
+
+ // set up zzAction for empty match case:
+ int zzAttributes = zzAttrL[zzState];
+ if ((zzAttributes & 1) == 1) {
+ zzAction = zzState;
+ }
+
+ zzForAction:
+ {
+ while (true) {
+
+ if (zzCurrentPosL < zzEndReadL) {
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
+ zzCurrentPosL += Character.charCount(zzInput);
+ } else if (zzAtEOF) {
+ zzInput = YYEOF;
+ break zzForAction;
+ } else {
+ // store back cached positions
+ zzCurrentPos = zzCurrentPosL;
+ zzMarkedPos = zzMarkedPosL;
+ boolean eof = zzRefill();
+ // get translated positions and possibly new buffer
+ zzCurrentPosL = zzCurrentPos;
+ zzMarkedPosL = zzMarkedPos;
+ zzBufferL = zzBuffer;
+ zzEndReadL = zzEndRead;
+ if (eof) {
+ zzInput = YYEOF;
+ break zzForAction;
+ } else {
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
+ zzCurrentPosL += Character.charCount(zzInput);
+ }
+ }
+ int zzNext = zzTransL[zzRowMapL[zzState] + zzCMapL[zzInput]];
+ if (zzNext == -1) {
+ break zzForAction;
+ }
+ zzState = zzNext;
+
+ zzAttributes = zzAttrL[zzState];
+ if ((zzAttributes & 1) == 1) {
+ zzAction = zzState;
+ zzMarkedPosL = zzCurrentPosL;
+ if ((zzAttributes & 8) == 8) {
+ break zzForAction;
+ }
+ }
+
+ }
+ }
+
+ // store back cached position
+ zzMarkedPos = zzMarkedPosL;
+
+ switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
+ case 1: {
+ if (string == null) {
+ string = new StringBuffer();
+ }
+ string.append(yytext());
+ }
+ case 19:
+ break;
+ case 2: {
+ yybegin(PARAMETER);
+ if (string != null) {
+ String ret = string.toString();
+ string = null;
+ return new ParsedSymbol(SymbolType.TEXT, ret);
+ }
+ }
+ case 20:
+ break;
+ case 3: {
+ }
+ case 21:
+ break;
+ case 4: {
+ parameterName = yytext();
+ yybegin(VALUE);
+ }
+ case 22:
+ break;
+ case 5: {
+ yybegin(YYINITIAL);
+ }
+ case 23:
+ break;
+ case 6: {
+ yybegin(PARAMETER);
+ return new ParsedSymbol(SymbolType.PARAMETER, new Object[]{parameterName, yytext()});
+ }
+ case 24:
+ break;
+ case 7: {
+ throw new TextParseException("Illegal escape sequence \"" + yytext() + "\"", yyline + 1);
+ }
+ case 25:
+ break;
+ case 8: {
+ if (string == null) {
+ string = new StringBuffer();
+ }
+ string.append(']');
+ }
+ case 26:
+ break;
+ case 9: {
+ if (string == null) {
+ string = new StringBuffer();
+ }
+ string.append('[');
+ }
+ case 27:
+ break;
+ case 10: {
+ if (string == null) {
+ string = new StringBuffer();
+ }
+ string.append('\\');
+ }
+ case 28:
+ break;
+ case 11: {
+ if (string == null) {
+ string = new StringBuffer();
+ }
+ string.append('\b');
+ }
+ case 29:
+ break;
+ case 12: {
+ if (string == null) {
+ string = new StringBuffer();
+ }
+ string.append('\t');
+ }
+ case 30:
+ break;
+ case 13: {
+ if (string == null) {
+ string = new StringBuffer();
+ }
+ string.append('\n');
+ }
+ case 31:
+ break;
+ case 14: {
+ if (string == null) {
+ string = new StringBuffer();
+ }
+ string.append('\f');
+ }
+ case 32:
+ break;
+ case 15: {
+ if (string == null) {
+ string = new StringBuffer();
+ }
+ string.append('\r');
+ }
+ case 33:
+ break;
+ case 16: {
+ if (string == null) {
+ string = new StringBuffer();
+ }
+ string.append('\"');
+ }
+ case 34:
+ break;
+ case 17: {
+ if (string == null) {
+ string = new StringBuffer();
+ }
+ string.append('\'');
+ }
+ case 35:
+ break;
+ case 18: {
+ char val = (char) Integer.parseInt(yytext().substring(2), 16);
+ string.append(val);
+ }
+ case 36:
+ break;
+ default:
+ if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
+ zzAtEOF = true;
+ switch (zzLexicalState) {
+ case YYINITIAL: {
+ if (finish) {
+ return null;
+ } else {
+ finish = true;
+ return new ParsedSymbol(SymbolType.TEXT, string == null ? null : string.toString());
+ }
+ }
+ case 26:
+ break;
+ default: {
+ return null;
+ }
+ }
+ } else {
+ zzScanError(ZZ_NO_MATCH);
+ }
+ }
}
- }
-
- // store back cached position
- zzMarkedPos = zzMarkedPosL;
-
- switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
- case 1:
- { if (string == null) string = new StringBuffer(); string.append(yytext());
- }
- case 19: break;
- case 2:
- { yybegin(PARAMETER);
- if (string != null){
- String ret = string.toString();
- string = null;
- return new ParsedSymbol(SymbolType.TEXT, ret);
- }
- }
- case 20: break;
- case 3:
- {
- }
- case 21: break;
- case 4:
- { parameterName = yytext();
- yybegin(VALUE);
- }
- case 22: break;
- case 5:
- { yybegin(YYINITIAL);
- }
- case 23: break;
- case 6:
- { yybegin(PARAMETER);
- return new ParsedSymbol(SymbolType.PARAMETER, new Object[] {parameterName, yytext()});
- }
- case 24: break;
- case 7:
- { throw new TextParseException("Illegal escape sequence \"" + yytext() + "\"", yyline + 1);
- }
- case 25: break;
- case 8:
- { if (string == null) string = new StringBuffer(); string.append(']');
- }
- case 26: break;
- case 9:
- { if (string == null) string = new StringBuffer(); string.append('[');
- }
- case 27: break;
- case 10:
- { if (string == null) string = new StringBuffer(); string.append('\\');
- }
- case 28: break;
- case 11:
- { if (string == null) string = new StringBuffer(); string.append('\b');
- }
- case 29: break;
- case 12:
- { if (string == null) string = new StringBuffer(); string.append('\t');
- }
- case 30: break;
- case 13:
- { if (string == null) string = new StringBuffer(); string.append('\n');
- }
- case 31: break;
- case 14:
- { if (string == null) string = new StringBuffer(); string.append('\f');
- }
- case 32: break;
- case 15:
- { if (string == null) string = new StringBuffer(); string.append('\r');
- }
- case 33: break;
- case 16:
- { if (string == null) string = new StringBuffer(); string.append('\"');
- }
- case 34: break;
- case 17:
- { if (string == null) string = new StringBuffer(); string.append('\'');
- }
- case 35: break;
- case 18:
- { char val = (char) Integer.parseInt(yytext().substring(2), 16);
- string.append(val);
- }
- case 36: break;
- default:
- if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
- zzAtEOF = true;
- switch (zzLexicalState) {
- case YYINITIAL: {
- if (finish) {return null;} else {finish=true; return new ParsedSymbol(SymbolType.TEXT, string == null ? null : string.toString());}
- }
- case 26: break;
- default:
- {
- return null;
- }
- }
- }
- else {
- zzScanError(ZZ_NO_MATCH);
- }
- }
}
- }
-
}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/parser/ConditionLexer.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/parser/ConditionLexer.java
index c230ad53c..bc3d42111 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/parser/ConditionLexer.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/types/annotations/parser/ConditionLexer.java
@@ -20,231 +20,271 @@ package com.jpexs.decompiler.flash.types.annotations.parser;
import java.util.Stack;
-
/**
- * This class is a scanner generated by
- * JFlex 1.6.0
- * from the specification file D:/Dropbox/Programovani/JavaSE/FFDec/libsrc/ffdec_lib/lexers/tag_conditions.flex
+ * This class is a scanner generated by
+ * JFlex 1.6.0 from the specification file
+ * D:/Dropbox/Programovani/JavaSE/FFDec/libsrc/ffdec_lib/lexers/tag_conditions.flex
*/
public final class ConditionLexer {
- /** This character denotes the end of file */
- public static final int YYEOF = -1;
+ /**
+ * 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;
+ /**
+ * initial size of the lookahead buffer
+ */
+ private static final int ZZ_BUFFERSIZE = 16384;
- /** lexical states */
- public static final int YYINITIAL = 0;
+ /**
+ * lexical states
+ */
+ public static final int YYINITIAL = 0;
- /**
- * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
- * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l
- * at the beginning of a line
- * l is of the form l = 2*k, k a non negative integer
- */
- private static final int ZZ_LEXSTATE[] = {
- 0, 0
- };
+ /**
+ * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
+ * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l at the
+ * beginning of a line l is of the form l = 2*k, k a non negative integer
+ */
+ private static final int ZZ_LEXSTATE[] = {
+ 0, 0
+ };
- /**
- * Translates characters to character classes
- */
- private static final String ZZ_CMAP_PACKED =
- "\12\0\1\10\1\10\1\10\1\10\23\0\1\5\4\0\1\3\1\0"+
- "\1\6\1\7\2\0\1\4\1\0\1\1\1\0\12\1\7\0\32\1"+
- "\4\0\1\1\1\0\32\1\1\0\1\2\10\0\1\10\u1fa2\0\1\10"+
- "\1\10\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\udfe6\0";
+ /**
+ * Translates characters to character classes
+ */
+ private static final String ZZ_CMAP_PACKED
+ = "\12\0\1\10\1\10\1\10\1\10\23\0\1\5\4\0\1\3\1\0"
+ + "\1\6\1\7\2\0\1\4\1\0\1\1\1\0\12\1\7\0\32\1"
+ + "\4\0\1\1\1\0\32\1\1\0\1\2\10\0\1\10\u1fa2\0\1\10"
+ + "\1\10\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\udfe6\0";
- /**
- * Translates characters to character classes
- */
- private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
+ /**
+ * Translates characters to character classes
+ */
+ private static final char[] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
- /**
- * Translates DFA states to action switch labels.
- */
- private static final int [] ZZ_ACTION = zzUnpackAction();
+ /**
+ * Translates DFA states to action switch labels.
+ */
+ private static final int[] ZZ_ACTION = zzUnpackAction();
- private static final String ZZ_ACTION_PACKED_0 =
- "\1\0\1\1\1\2\1\3\2\4\1\5\1\6\1\7"+
- "\1\3";
+ private static final String ZZ_ACTION_PACKED_0
+ = "\1\0\1\1\1\2\1\3\2\4\1\5\1\6\1\7"
+ + "\1\3";
- private static int [] zzUnpackAction() {
- int [] result = new int[10];
- 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);
+ private static int[] zzUnpackAction() {
+ int[] result = new int[10];
+ int offset = 0;
+ offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
+ return result;
}
- return j;
- }
+ private static int zzUnpackAction(String packed, int offset, int[] result) {
+ int i = 0; /* index in packed string */
- /**
- * Translates a state to a row index in the transition table
- */
- private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
+ int j = offset; /* index in unpacked array */
- private static final String ZZ_ROWMAP_PACKED_0 =
- "\0\0\0\11\0\22\0\33\0\44\0\11\0\11\0\11"+
- "\0\11\0\11";
-
- private static int [] zzUnpackRowMap() {
- int [] result = new int[10];
- 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++);
+ 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;
}
- return j;
- }
- /**
- * The transition table of the DFA
- */
- private static final int [] ZZ_TRANS = zzUnpackTrans();
+ /**
+ * Translates a state to a row index in the transition table
+ */
+ private static final int[] ZZ_ROWMAP = zzUnpackRowMap();
- private static final String ZZ_TRANS_PACKED_0 =
- "\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11"+
- "\13\0\1\3\11\0\1\12\11\0\1\6\5\0";
+ private static final String ZZ_ROWMAP_PACKED_0
+ = "\0\0\0\11\0\22\0\33\0\44\0\11\0\11\0\11"
+ + "\0\11\0\11";
- private static int [] zzUnpackTrans() {
- int [] result = new int[45];
- 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);
+ private static int[] zzUnpackRowMap() {
+ int[] result = new int[10];
+ int offset = 0;
+ offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
+ return result;
}
- return j;
- }
+ private static int zzUnpackRowMap(String packed, int offset, int[] result) {
+ int i = 0; /* index in packed string */
- /* 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;
+ int j = offset; /* index in unpacked array */
- /* 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 aState
- */
- private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
-
- private static final String ZZ_ATTRIBUTE_PACKED_0 =
- "\1\0\1\11\3\1\5\11";
-
- private static int [] zzUnpackAttribute() {
- int [] result = new int[10];
- 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);
+ int l = packed.length();
+ while (i < l) {
+ int high = packed.charAt(i++) << 16;
+ result[j++] = high | packed.charAt(i++);
+ }
+ return j;
}
- return j;
- }
- /** the input device */
- private java.io.Reader zzReader;
+ /**
+ * The transition table of the DFA
+ */
+ private static final int[] ZZ_TRANS = zzUnpackTrans();
- /** the current state of the DFA */
- private int zzState;
+ private static final String ZZ_TRANS_PACKED_0
+ = "\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11"
+ + "\13\0\1\3\11\0\1\12\11\0\1\6\5\0";
- /** the current lexical state */
- private int zzLexicalState = YYINITIAL;
+ private static int[] zzUnpackTrans() {
+ int[] result = new int[45];
+ int offset = 0;
+ offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
+ return result;
+ }
- /** this buffer contains the current text to be matched and is
- the source of the yytext() string */
- private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
+ private static int zzUnpackTrans(String packed, int offset, int[] result) {
+ int i = 0; /* index in packed string */
- /** the textposition at the last accepting state */
- private int zzMarkedPos;
+ int j = offset; /* index in unpacked array */
- /** the current text position in the buffer */
- private int zzCurrentPos;
+ 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;
+ }
- /** 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;
+ /* 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;
- /** number of newlines encountered up to the start of the matched text */
- private int yyline;
+ /* 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"
+ };
- /** the number of characters up to the start of the matched text */
- private int yychar;
+ /**
+ * ZZ_ATTRIBUTE[aState] contains the attributes of state aState
+ */
+ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute();
- /**
- * the number of characters from the last newline up to the start of the
- * matched text
- */
- private int yycolumn;
+ private static final String ZZ_ATTRIBUTE_PACKED_0
+ = "\1\0\1\11\3\1\5\11";
- /**
- * zzAtBOL == true <=> the scanner is currently at the beginning of a line
- */
- private boolean zzAtBOL = true;
+ private static int[] zzUnpackAttribute() {
+ int[] result = new int[10];
+ int offset = 0;
+ offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
+ return result;
+ }
- /** zzAtEOF == true <=> the scanner is at the EOF */
- private boolean zzAtEOF;
+ private static int zzUnpackAttribute(String packed, int offset, int[] result) {
+ int i = 0; /* index in packed string */
- /** denotes if the user-EOF-code has already been executed */
- private boolean zzEOFDone;
-
- /**
- * The number of occupied positions in zzBuffer beyond zzEndRead.
- * When a lead/high surrogate has been read from the input stream
- * into the final zzBuffer position, this will have a value of 1;
- * otherwise, it will have a value of 0.
- */
- private int zzFinalHighSurrogate = 0;
+ int j = offset; /* index in unpacked array */
- /* user code: */
+ 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 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;
+
+ /**
+ * denotes if the user-EOF-code has already been executed
+ */
+ private boolean zzEOFDone;
+
+ /**
+ * The number of occupied positions in zzBuffer beyond zzEndRead. When a
+ * lead/high surrogate has been read from the input stream into the final
+ * zzBuffer position, this will have a value of 1; otherwise, it will have a
+ * value of 0.
+ */
+ private int zzFinalHighSurrogate = 0;
+
+ /* user code: */
/**
* Create an empty lexer, yyrset will be called later to reset and assign
* the reader
@@ -267,9 +307,9 @@ public final class ConditionLexer {
pushedBack.push(symb);
}
- public ConditionToken lex() throws java.io.IOException, AnnotationParseException{
+ public ConditionToken lex() throws java.io.IOException, AnnotationParseException {
ConditionToken ret = null;
- if (!pushedBack.isEmpty()){
+ if (!pushedBack.isEmpty()) {
ret = pushedBack.pop();
} else {
ret = yylex();
@@ -277,420 +317,432 @@ public final class ConditionLexer {
return ret;
}
-
-
- /**
- * Creates a new scanner
- *
- * @param in the java.io.Reader to read input from.
- */
- public ConditionLexer(java.io.Reader in) {
- this.zzReader = in;
- }
-
-
- /**
- * Unpacks the compressed character translation table.
- *
- * @param packed the packed character translation table
- * @return the unpacked character translation table
- */
- private static char [] zzUnpackCMap(String packed) {
- char [] map = new char[0x110000];
- int i = 0; /* index in packed string */
- int j = 0; /* index in unpacked array */
- while (i < 96) {
- int count = packed.charAt(i++);
- char value = packed.charAt(i++);
- do map[j++] = value; while (--count > 0);
- }
- return map;
- }
-
-
- /**
- * Refills the input buffer.
- *
- * @return false, 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) {
- zzEndRead += zzFinalHighSurrogate;
- zzFinalHighSurrogate = 0;
- System.arraycopy(zzBuffer, zzStartRead,
- zzBuffer, 0,
- zzEndRead-zzStartRead);
-
- /* translate stored positions */
- zzEndRead-= zzStartRead;
- zzCurrentPos-= zzStartRead;
- zzMarkedPos-= zzStartRead;
- zzStartRead = 0;
+ /**
+ * Creates a new scanner
+ *
+ * @param in the java.io.Reader to read input from.
+ */
+ public ConditionLexer(java.io.Reader in) {
+ this.zzReader = in;
}
- /* is the buffer big enough? */
- if (zzCurrentPos >= zzBuffer.length - zzFinalHighSurrogate) {
- /* if not: blow it up */
- char newBuffer[] = new char[zzBuffer.length*2];
- System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
- zzBuffer = newBuffer;
- zzEndRead += zzFinalHighSurrogate;
- zzFinalHighSurrogate = 0;
- }
+ /**
+ * Unpacks the compressed character translation table.
+ *
+ * @param packed the packed character translation table
+ * @return the unpacked character translation table
+ */
+ private static char[] zzUnpackCMap(String packed) {
+ char[] map = new char[0x110000];
+ int i = 0; /* index in packed string */
- /* fill the buffer with new input */
- int requested = zzBuffer.length - zzEndRead;
- int totalRead = 0;
- while (totalRead < requested) {
- int numRead = zzReader.read(zzBuffer, zzEndRead + totalRead, requested - totalRead);
- if (numRead == -1) {
- break;
- }
- totalRead += numRead;
- }
+ int j = 0; /* index in unpacked array */
- if (totalRead > 0) {
- zzEndRead += totalRead;
- if (totalRead == requested) { /* possibly more input available */
- if (Character.isHighSurrogate(zzBuffer[zzEndRead - 1])) {
- --zzEndRead;
- zzFinalHighSurrogate = 1;
+ while (i < 96) {
+ int count = packed.charAt(i++);
+ char value = packed.charAt(i++);
+ do {
+ map[j++] = value;
+ } while (--count > 0);
}
- }
- return false;
+ return map;
}
- // totalRead = 0: End of stream
- return true;
- }
+ /**
+ * Refills the input buffer.
+ *
+ * @return false, iff there was new input.
+ *
+ * @exception java.io.IOException if any I/O-Error occurs
+ */
+ private boolean zzRefill() throws java.io.IOException {
-
- /**
- * Closes the input stream.
- */
- public final void yyclose() throws java.io.IOException {
- zzAtEOF = true; /* indicate end of file */
- zzEndRead = zzStartRead; /* invalidate buffer */
+ /* first: make room (if you can) */
+ if (zzStartRead > 0) {
+ zzEndRead += zzFinalHighSurrogate;
+ zzFinalHighSurrogate = 0;
+ System.arraycopy(zzBuffer, zzStartRead,
+ zzBuffer, 0,
+ zzEndRead - zzStartRead);
- 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
- * cannot be reused (internal buffer is discarded and lost).
- * Lexical state is set to ZZ_INITIAL.
- *
- * Internal scan buffer is resized down to its initial length, if it has grown.
- *
- * @param reader the new input stream
- */
- public final void yyreset(java.io.Reader reader) {
- zzReader = reader;
- zzAtBOL = true;
- zzAtEOF = false;
- zzEOFDone = false;
- zzEndRead = zzStartRead = 0;
- zzCurrentPos = zzMarkedPos = 0;
- zzFinalHighSurrogate = 0;
- yyline = yychar = yycolumn = 0;
- zzLexicalState = YYINITIAL;
- if (zzBuffer.length > ZZ_BUFFERSIZE)
- zzBuffer = new char[ZZ_BUFFERSIZE];
- }
-
-
- /**
- * 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 pos 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 ConditionToken yylex() throws java.io.IOException, AnnotationParseException {
- 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;
-
- while (true) {
- zzMarkedPosL = zzMarkedPos;
-
- yychar+= zzMarkedPosL-zzStartRead;
-
- boolean zzR = false;
- int zzCh;
- int zzCharCount;
- for (zzCurrentPosL = zzStartRead ;
- zzCurrentPosL < zzMarkedPosL ;
- zzCurrentPosL += zzCharCount ) {
- zzCh = Character.codePointAt(zzBufferL, zzCurrentPosL, zzMarkedPosL);
- zzCharCount = Character.charCount(zzCh);
- switch (zzCh) {
- 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 += zzCharCount;
+ /* translate stored positions */
+ zzEndRead -= zzStartRead;
+ zzCurrentPos -= zzStartRead;
+ zzMarkedPos -= zzStartRead;
+ zzStartRead = 0;
}
- }
- 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';
+ /* is the buffer big enough? */
+ if (zzCurrentPos >= zzBuffer.length - zzFinalHighSurrogate) {
+ /* if not: blow it up */
+ char newBuffer[] = new char[zzBuffer.length * 2];
+ System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
+ zzBuffer = newBuffer;
+ zzEndRead += zzFinalHighSurrogate;
+ zzFinalHighSurrogate = 0;
}
- if (zzPeek) yyline--;
- }
- zzAction = -1;
- zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
-
- zzState = ZZ_LEXSTATE[zzLexicalState];
+ /* fill the buffer with new input */
+ int requested = zzBuffer.length - zzEndRead;
+ int totalRead = 0;
+ while (totalRead < requested) {
+ int numRead = zzReader.read(zzBuffer, zzEndRead + totalRead, requested - totalRead);
+ if (numRead == -1) {
+ break;
+ }
+ totalRead += numRead;
+ }
- // set up zzAction for empty match case:
- int zzAttributes = zzAttrL[zzState];
- if ( (zzAttributes & 1) == 1 ) {
- zzAction = zzState;
- }
+ if (totalRead > 0) {
+ zzEndRead += totalRead;
+ if (totalRead == requested) { /* possibly more input available */
+ if (Character.isHighSurrogate(zzBuffer[zzEndRead - 1])) {
+ --zzEndRead;
+ zzFinalHighSurrogate = 1;
+ }
+ }
+ return false;
+ }
+
+ // totalRead = 0: End of stream
+ return true;
+ }
+
+ /**
+ * Closes the input stream.
+ *
+ * @throws java.io.IOException
+ */
+ 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
+ * cannot be reused (internal buffer is discarded and lost). Lexical
+ * state is set to ZZ_INITIAL.
+ *
+ * Internal scan buffer is resized down to its initial length, if it has
+ * grown.
+ *
+ * @param reader the new input stream
+ */
+ public final void yyreset(java.io.Reader reader) {
+ zzReader = reader;
+ zzAtBOL = true;
+ zzAtEOF = false;
+ zzEOFDone = false;
+ zzEndRead = zzStartRead = 0;
+ zzCurrentPos = zzMarkedPos = 0;
+ zzFinalHighSurrogate = 0;
+ yyline = yychar = yycolumn = 0;
+ zzLexicalState = YYINITIAL;
+ if (zzBuffer.length > ZZ_BUFFERSIZE) {
+ zzBuffer = new char[ZZ_BUFFERSIZE];
+ }
+ }
+
+ /**
+ * Returns the current lexical state.
+ *
+ * @return
+ */
+ 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.
+ *
+ * @return
+ */
+ public final String yytext() {
+ return new String(zzBuffer, zzStartRead, zzMarkedPos - zzStartRead);
+ }
+
+ /**
+ * Returns the character at position pos 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.
+ *
+ * @return
+ */
+ 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
+ * @throws
+ * com.jpexs.decompiler.flash.types.annotations.parser.AnnotationParseException
+ */
+ public ConditionToken yylex() throws java.io.IOException, AnnotationParseException {
+ 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;
- zzForAction: {
while (true) {
-
- if (zzCurrentPosL < zzEndReadL) {
- zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
- zzCurrentPosL += Character.charCount(zzInput);
- }
- else if (zzAtEOF) {
- zzInput = YYEOF;
- break zzForAction;
- }
- else {
- // store back cached positions
- zzCurrentPos = zzCurrentPosL;
- zzMarkedPos = zzMarkedPosL;
- boolean eof = zzRefill();
- // get translated positions and possibly new buffer
- zzCurrentPosL = zzCurrentPos;
- zzMarkedPosL = zzMarkedPos;
- zzBufferL = zzBuffer;
- zzEndReadL = zzEndRead;
- if (eof) {
- zzInput = YYEOF;
- break zzForAction;
- }
- else {
- zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
- zzCurrentPosL += Character.charCount(zzInput);
- }
- }
- int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
- if (zzNext == -1) break zzForAction;
- zzState = zzNext;
+ zzMarkedPosL = zzMarkedPos;
- zzAttributes = zzAttrL[zzState];
- if ( (zzAttributes & 1) == 1 ) {
- zzAction = zzState;
- zzMarkedPosL = zzCurrentPosL;
- if ( (zzAttributes & 8) == 8 ) break zzForAction;
- }
+ yychar += zzMarkedPosL - zzStartRead;
+ boolean zzR = false;
+ int zzCh;
+ int zzCharCount;
+ for (zzCurrentPosL = zzStartRead;
+ zzCurrentPosL < zzMarkedPosL;
+ zzCurrentPosL += zzCharCount) {
+ zzCh = Character.codePointAt(zzBufferL, zzCurrentPosL, zzMarkedPosL);
+ zzCharCount = Character.charCount(zzCh);
+ switch (zzCh) {
+ 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 += zzCharCount;
+ }
+ }
+
+ 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 = ZZ_LEXSTATE[zzLexicalState];
+
+ // set up zzAction for empty match case:
+ int zzAttributes = zzAttrL[zzState];
+ if ((zzAttributes & 1) == 1) {
+ zzAction = zzState;
+ }
+
+ zzForAction:
+ {
+ while (true) {
+
+ if (zzCurrentPosL < zzEndReadL) {
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
+ zzCurrentPosL += Character.charCount(zzInput);
+ } else if (zzAtEOF) {
+ zzInput = YYEOF;
+ break zzForAction;
+ } else {
+ // store back cached positions
+ zzCurrentPos = zzCurrentPosL;
+ zzMarkedPos = zzMarkedPosL;
+ boolean eof = zzRefill();
+ // get translated positions and possibly new buffer
+ zzCurrentPosL = zzCurrentPos;
+ zzMarkedPosL = zzMarkedPos;
+ zzBufferL = zzBuffer;
+ zzEndReadL = zzEndRead;
+ if (eof) {
+ zzInput = YYEOF;
+ break zzForAction;
+ } else {
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
+ zzCurrentPosL += Character.charCount(zzInput);
+ }
+ }
+ int zzNext = zzTransL[zzRowMapL[zzState] + zzCMapL[zzInput]];
+ if (zzNext == -1) {
+ break zzForAction;
+ }
+ zzState = zzNext;
+
+ zzAttributes = zzAttrL[zzState];
+ if ((zzAttributes & 1) == 1) {
+ zzAction = zzState;
+ zzMarkedPosL = zzCurrentPosL;
+ if ((zzAttributes & 8) == 8) {
+ break zzForAction;
+ }
+ }
+
+ }
+ }
+
+ // store back cached position
+ zzMarkedPos = zzMarkedPosL;
+
+ switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
+ case 1: {
+ }
+ case 8:
+ break;
+ case 2: {
+ return new ConditionToken(ConditionTokenType.FIELD, yytext());
+ }
+ case 9:
+ break;
+ case 3: {
+ return new ConditionToken(ConditionTokenType.OR, yytext());
+ }
+ case 10:
+ break;
+ case 4: {
+ return new ConditionToken(ConditionTokenType.AND, yytext());
+ }
+ case 11:
+ break;
+ case 5: {
+ return new ConditionToken(ConditionTokenType.NOT, yytext());
+ }
+ case 12:
+ break;
+ case 6: {
+ return new ConditionToken(ConditionTokenType.PARENT_OPEN, yytext());
+ }
+ case 13:
+ break;
+ case 7: {
+ return new ConditionToken(ConditionTokenType.PARENT_CLOSE, yytext());
+ }
+ case 14:
+ break;
+ default:
+ if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
+ zzAtEOF = true;
+ switch (zzLexicalState) {
+ case YYINITIAL: {
+ return null;
+ }
+ case 11:
+ break;
+ default:
+ return null;
+ }
+ } else {
+ zzScanError(ZZ_NO_MATCH);
+ }
+ }
}
- }
-
- // store back cached position
- zzMarkedPos = zzMarkedPosL;
-
- switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
- case 1:
- {
- }
- case 8: break;
- case 2:
- { return new ConditionToken(ConditionTokenType.FIELD, yytext());
- }
- case 9: break;
- case 3:
- { return new ConditionToken(ConditionTokenType.OR, yytext());
- }
- case 10: break;
- case 4:
- { return new ConditionToken(ConditionTokenType.AND, yytext());
- }
- case 11: break;
- case 5:
- { return new ConditionToken(ConditionTokenType.NOT, yytext());
- }
- case 12: break;
- case 6:
- { return new ConditionToken(ConditionTokenType.PARENT_OPEN, yytext());
- }
- case 13: break;
- case 7:
- { return new ConditionToken(ConditionTokenType.PARENT_CLOSE, yytext());
- }
- case 14: break;
- default:
- if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
- zzAtEOF = true;
- switch (zzLexicalState) {
- case YYINITIAL: {
- return null;
- }
- case 11: break;
- default:
- return null;
- }
- }
- else {
- zzScanError(ZZ_NO_MATCH);
- }
- }
}
- }
-
}
diff --git a/src/com/jpexs/decompiler/flash/gui/MainPanel.java b/src/com/jpexs/decompiler/flash/gui/MainPanel.java
index 66baed381..c35766271 100644
--- a/src/com/jpexs/decompiler/flash/gui/MainPanel.java
+++ b/src/com/jpexs/decompiler/flash/gui/MainPanel.java
@@ -1390,17 +1390,26 @@ public final class MainPanel extends JPanel implements ActionListener, TreeSelec
private final ConfigurationItem doNotShowImportError = new ConfigurationItem<>("doNotShowImportError", true, true);
private final ConfigurationItem doNotShowInvalidText = new ConfigurationItem<>("doNotShowInvalidText", true, true);
+ private String getTextTagInfo(TextTag textTag) {
+ String ret = "";
+ if (textTag != null) {
+ ret += " TextId: " + textTag.getCharacterId() + " (" + textTag.getText(", ") + ")";
+ }
+
+ return ret;
+ }
+
@Override
- public boolean handle() {
+ public boolean handle(TextTag textTag) {
String msg = translate("error.text.import");
- logger.log(Level.SEVERE, msg);
+ logger.log(Level.SEVERE, msg + getTextTagInfo(textTag));
return View.showConfirmDialog(diz, msg, translate("error"), JOptionPane.OK_CANCEL_OPTION, doNotShowImportError, JOptionPane.OK_OPTION) == JOptionPane.CANCEL_OPTION;
}
@Override
- public boolean handle(String message, long line) {
+ public boolean handle(TextTag textTag, String message, long line) {
String msg = translate("error.text.invalid.continue").replace("%text%", message).replace("%line%", Long.toString(line));
- logger.log(Level.SEVERE, msg);
+ logger.log(Level.SEVERE, msg + getTextTagInfo(textTag));
return View.showConfirmDialog(diz, msg, translate("error"), JOptionPane.OK_CANCEL_OPTION, doNotShowInvalidText, JOptionPane.OK_OPTION) == JOptionPane.CANCEL_OPTION;
}
});
diff --git a/src/com/jpexs/decompiler/flash/gui/player/FlashPlayerPanel.java b/src/com/jpexs/decompiler/flash/gui/player/FlashPlayerPanel.java
index a57e2fb24..bce94b4e4 100644
--- a/src/com/jpexs/decompiler/flash/gui/player/FlashPlayerPanel.java
+++ b/src/com/jpexs/decompiler/flash/gui/player/FlashPlayerPanel.java
@@ -19,7 +19,6 @@ package com.jpexs.decompiler.flash.gui.player;
import com.jpexs.decompiler.flash.gui.FlashUnsupportedException;
import com.jpexs.decompiler.flash.gui.Main;
import com.jpexs.javactivex.ActiveX;
-import com.jpexs.javactivex.ActiveXControl;
import com.jpexs.javactivex.ActiveXEvent;
import com.jpexs.javactivex.ActiveXEventListener;
import com.jpexs.javactivex.ActiveXException;