-/* The following code was generated by JFlex 1.4.3 on 11/1/14 12:37 PM */
+/* The following code was generated by JFlex 1.7.0-SNAPSHOT tweaked for IntelliJ platform */
/* It's an automatically generated code. Do not modify it. */
package org.intellij.lang.regexp;
/**
* This class is a scanner generated by
- * <a href="http://www.jflex.de/">JFlex</a> 1.4.3
- * on 11/1/14 12:37 PM from the specification file
- * <tt>/Users/bas/Projects/IntelliJ IDEA Ultimate/tools/lexer/../../community/RegExpSupport/src/org/intellij/lang/regexp/regexp-lexer.flex</tt>
+ * <a href="http://www.jflex.de/">JFlex</a> 1.7.0-SNAPSHOT
+ * from the specification file <tt>/ideadev/tools/lexer/../../community/RegExpSupport/src/org/intellij/lang/regexp/regexp-lexer.flex</tt>
*/
class _RegExLexer implements FlexLexer {
+
+ /** This character denotes the end of file */
+ public static final int YYEOF = -1;
+
/** initial size of the lookahead buffer */
private static final int ZZ_BUFFERSIZE = 16384;
/** lexical states */
+ public static final int YYINITIAL = 0;
+ public static final int QUOTED = 2;
public static final int EMBRACED = 4;
+ public static final int CLASS1 = 6;
public static final int NEGATE_CLASS1 = 8;
- public static final int PY_NAMED_GROUP_REF = 22;
- public static final int QUOTED = 2;
- public static final int OPTIONS = 14;
- public static final int BRACKET_EXPRESSION = 26;
- public static final int PY_COND_REF = 24;
- public static final int YYINITIAL = 0;
- public static final int NAMED_GROUP = 18;
public static final int CLASS2 = 10;
- public static final int CLASS1 = 6;
+ public static final int PROP = 12;
+ public static final int OPTIONS = 14;
public static final int COMMENT = 16;
+ public static final int NAMED_GROUP = 18;
public static final int QUOTED_NAMED_GROUP = 20;
- public static final int PROP = 12;
+ public static final int PY_NAMED_GROUP_REF = 22;
+ public static final int PY_COND_REF = 24;
+ public static final int BRACKET_EXPRESSION = 26;
/**
* ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
* Translates characters to character classes
*/
private static final String ZZ_CMAP_PACKED =
- "\10\0\2\62\1\16\1\0\1\62\1\67\22\0\1\55\1\65\1\0"+
- "\1\66\1\20\1\0\1\61\1\54\1\4\1\5\1\22\1\23\1\57"+
- "\1\50\1\3\1\0\1\2\7\47\2\1\1\60\1\0\1\53\1\64"+
- "\1\63\1\21\1\0\1\27\1\27\1\35\1\34\1\44\1\42\1\30"+
- "\1\51\1\37\2\13\1\56\1\56\1\56\1\13\1\41\1\43\1\13"+
- "\1\33\2\13\1\32\1\32\1\32\1\13\1\31\1\10\1\12\1\11"+
- "\1\17\1\14\1\0\1\26\1\27\1\36\1\34\1\26\1\26\1\13"+
- "\1\51\1\37\1\13\1\52\2\13\1\25\1\13\1\40\1\13\1\25"+
- "\1\32\1\25\1\46\1\32\1\32\1\45\1\13\1\30\1\6\1\24"+
- "\1\7\54\0\1\13\12\0\1\13\4\0\1\13\5\0\27\13\1\0"+
- "\37\13\1\0\u013f\13\31\0\162\13\4\0\14\13\16\0\5\13\11\0"+
- "\1\13\213\0\1\13\13\0\1\13\1\0\3\13\1\0\1\13\1\0"+
- "\24\13\1\0\54\13\1\0\46\13\1\0\5\13\4\0\202\13\10\0"+
- "\105\13\1\0\46\13\2\0\2\13\6\0\20\13\41\0\46\13\2\0"+
- "\1\13\7\0\47\13\110\0\33\13\5\0\3\13\56\0\32\13\5\0"+
- "\13\13\25\0\12\15\4\0\2\13\1\0\143\13\1\0\1\13\17\0"+
- "\2\13\7\0\2\13\12\15\3\13\2\0\1\13\20\0\1\13\1\0"+
- "\36\13\35\0\3\13\60\0\46\13\13\0\1\13\u0152\0\66\13\3\0"+
- "\1\13\22\0\1\13\7\0\12\13\4\0\12\15\25\0\10\13\2\0"+
- "\2\13\2\0\26\13\1\0\7\13\1\0\1\13\3\0\4\13\3\0"+
- "\1\13\36\0\2\13\1\0\3\13\4\0\12\15\2\13\23\0\6\13"+
- "\4\0\2\13\2\0\26\13\1\0\7\13\1\0\2\13\1\0\2\13"+
- "\1\0\2\13\37\0\4\13\1\0\1\13\7\0\12\15\2\0\3\13"+
- "\20\0\11\13\1\0\3\13\1\0\26\13\1\0\7\13\1\0\2\13"+
- "\1\0\5\13\3\0\1\13\22\0\1\13\17\0\2\13\4\0\12\15"+
- "\25\0\10\13\2\0\2\13\2\0\26\13\1\0\7\13\1\0\2\13"+
- "\1\0\5\13\3\0\1\13\36\0\2\13\1\0\3\13\4\0\12\15"+
- "\1\0\1\13\21\0\1\13\1\0\6\13\3\0\3\13\1\0\4\13"+
- "\3\0\2\13\1\0\1\13\1\0\2\13\3\0\2\13\3\0\3\13"+
- "\3\0\10\13\1\0\3\13\55\0\11\15\25\0\10\13\1\0\3\13"+
- "\1\0\27\13\1\0\12\13\1\0\5\13\46\0\2\13\4\0\12\15"+
- "\25\0\10\13\1\0\3\13\1\0\27\13\1\0\12\13\1\0\5\13"+
- "\3\0\1\13\40\0\1\13\1\0\2\13\4\0\12\15\25\0\10\13"+
- "\1\0\3\13\1\0\27\13\1\0\20\13\46\0\2\13\4\0\12\15"+
- "\25\0\22\13\3\0\30\13\1\0\11\13\1\0\1\13\2\0\7\13"+
- "\72\0\60\13\1\0\2\13\14\0\7\13\11\0\12\15\47\0\2\13"+
- "\1\0\1\13\2\0\2\13\1\0\1\13\2\0\1\13\6\0\4\13"+
- "\1\0\7\13\1\0\3\13\1\0\1\13\1\0\1\13\2\0\2\13"+
- "\1\0\4\13\1\0\2\13\11\0\1\13\2\0\5\13\1\0\1\13"+
- "\11\0\12\15\2\0\2\13\42\0\1\13\37\0\12\15\26\0\10\13"+
- "\1\0\42\13\35\0\4\13\164\0\42\13\1\0\5\13\1\0\2\13"+
- "\25\0\12\15\6\0\6\13\112\0\46\13\12\0\51\13\7\0\132\13"+
- "\5\0\104\13\5\0\122\13\6\0\7\13\1\0\77\13\1\0\1\13"+
- "\1\0\4\13\2\0\7\13\1\0\1\13\1\0\4\13\2\0\47\13"+
- "\1\0\1\13\1\0\4\13\2\0\37\13\1\0\1\13\1\0\4\13"+
- "\2\0\7\13\1\0\1\13\1\0\4\13\2\0\7\13\1\0\7\13"+
- "\1\0\27\13\1\0\37\13\1\0\1\13\1\0\4\13\2\0\7\13"+
- "\1\0\47\13\1\0\23\13\16\0\11\15\56\0\125\13\14\0\u026c\13"+
- "\2\0\10\13\12\0\32\13\5\0\113\13\25\0\15\13\1\0\4\13"+
- "\16\0\22\13\16\0\22\13\16\0\15\13\1\0\3\13\17\0\64\13"+
- "\43\0\1\13\4\0\1\13\3\0\12\15\46\0\12\15\6\0\130\13"+
- "\10\0\51\13\127\0\35\13\51\0\12\15\36\13\2\0\5\13\u038b\0"+
- "\154\13\224\0\234\13\4\0\132\13\6\0\26\13\2\0\6\13\2\0"+
- "\46\13\2\0\6\13\2\0\10\13\1\0\1\13\1\0\1\13\1\0"+
- "\1\13\1\0\37\13\2\0\65\13\1\0\7\13\1\0\1\13\3\0"+
- "\3\13\1\0\7\13\3\0\4\13\2\0\6\13\4\0\15\13\5\0"+
- "\3\13\1\0\7\13\164\0\1\13\15\0\1\13\202\0\1\13\4\0"+
- "\1\13\2\0\12\13\1\0\1\13\3\0\5\13\6\0\1\13\1\0"+
- "\1\13\1\0\1\13\1\0\4\13\1\0\3\13\1\0\7\13\3\0"+
- "\3\13\5\0\5\13\u0ebb\0\2\13\52\0\5\13\5\0\2\13\4\0"+
- "\126\13\6\0\3\13\1\0\132\13\1\0\4\13\5\0\50\13\4\0"+
- "\136\13\21\0\30\13\70\0\20\13\u0200\0\u19b6\13\112\0\u51a6\13\132\0"+
- "\u048d\13\u0773\0\u2ba4\13\u215c\0\u012e\13\2\0\73\13\225\0\7\13\14\0"+
- "\5\13\5\0\1\13\1\0\12\13\1\0\15\13\1\0\5\13\1\0"+
- "\1\13\1\0\2\13\1\0\2\13\1\0\154\13\41\0\u016b\13\22\0"+
- "\100\13\2\0\66\13\50\0\14\13\164\0\5\13\1\0\207\13\23\0"+
- "\12\15\7\0\32\13\6\0\32\13\13\0\131\13\3\0\6\13\2\0"+
- "\6\13\2\0\6\13\2\0\3\13\43\0";
+ "\10\0\2\65\1\16\1\20\1\21\1\17\22\0\1\60\1\70\1\0"+
+ "\1\71\1\23\1\0\1\64\1\57\1\4\1\5\1\25\1\26\1\62"+
+ "\1\53\1\3\1\0\1\2\7\52\2\1\1\63\1\0\1\56\1\67"+
+ "\1\66\1\24\1\0\1\32\1\32\1\40\1\37\1\47\1\45\1\33"+
+ "\1\54\1\42\2\13\1\61\1\61\1\61\1\13\1\44\1\46\1\13"+
+ "\1\36\2\13\1\35\1\35\1\35\1\13\1\34\1\10\1\12\1\11"+
+ "\1\22\1\14\1\0\1\31\1\32\1\41\1\37\1\31\1\31\1\13"+
+ "\1\54\1\42\1\13\1\55\2\13\1\30\1\13\1\43\1\13\1\30"+
+ "\1\35\1\30\1\51\1\35\1\35\1\50\1\13\1\33\1\6\1\27"+
+ "\1\7\7\0\1\20\44\0\1\13\12\0\1\13\4\0\1\13\5\0"+
+ "\27\13\1\0\37\13\1\0\u01ca\13\4\0\14\13\16\0\5\13\7\0"+
+ "\1\13\1\0\1\13\201\0\5\13\1\0\2\13\2\0\4\13\1\0"+
+ "\1\13\6\0\1\13\1\0\3\13\1\0\1\13\1\0\24\13\1\0"+
+ "\123\13\1\0\213\13\10\0\246\13\1\0\46\13\2\0\1\13\7\0"+
+ "\47\13\110\0\33\13\5\0\3\13\55\0\53\13\25\0\12\15\4\0"+
+ "\2\13\1\0\143\13\1\0\1\13\17\0\2\13\7\0\2\13\12\15"+
+ "\3\13\2\0\1\13\20\0\1\13\1\0\36\13\35\0\131\13\13\0"+
+ "\1\13\16\0\12\15\41\13\11\0\2\13\4\0\1\13\5\0\26\13"+
+ "\4\0\1\13\11\0\1\13\3\0\1\13\27\0\31\13\107\0\25\13"+
+ "\117\0\66\13\3\0\1\13\22\0\1\13\7\0\12\13\4\0\12\15"+
+ "\1\0\20\13\4\0\10\13\2\0\2\13\2\0\26\13\1\0\7\13"+
+ "\1\0\1\13\3\0\4\13\3\0\1\13\20\0\1\13\15\0\2\13"+
+ "\1\0\3\13\4\0\12\15\2\13\23\0\6\13\4\0\2\13\2\0"+
+ "\26\13\1\0\7\13\1\0\2\13\1\0\2\13\1\0\2\13\37\0"+
+ "\4\13\1\0\1\13\7\0\12\15\2\0\3\13\20\0\11\13\1\0"+
+ "\3\13\1\0\26\13\1\0\7\13\1\0\2\13\1\0\5\13\3\0"+
+ "\1\13\22\0\1\13\17\0\2\13\4\0\12\15\11\0\1\13\13\0"+
+ "\10\13\2\0\2\13\2\0\26\13\1\0\7\13\1\0\2\13\1\0"+
+ "\5\13\3\0\1\13\36\0\2\13\1\0\3\13\4\0\12\15\1\0"+
+ "\1\13\21\0\1\13\1\0\6\13\3\0\3\13\1\0\4\13\3\0"+
+ "\2\13\1\0\1\13\1\0\2\13\3\0\2\13\3\0\3\13\3\0"+
+ "\14\13\26\0\1\13\25\0\12\15\25\0\10\13\1\0\3\13\1\0"+
+ "\27\13\1\0\20\13\3\0\1\13\32\0\3\13\5\0\2\13\4\0"+
+ "\12\15\25\0\10\13\1\0\3\13\1\0\27\13\1\0\12\13\1\0"+
+ "\5\13\3\0\1\13\40\0\1\13\1\0\2\13\4\0\12\15\1\0"+
+ "\2\13\22\0\10\13\1\0\3\13\1\0\51\13\2\0\1\13\20\0"+
+ "\1\13\20\0\3\13\4\0\12\15\12\0\6\13\5\0\22\13\3\0"+
+ "\30\13\1\0\11\13\1\0\1\13\2\0\7\13\37\0\12\15\21\0"+
+ "\60\13\1\0\2\13\14\0\7\13\11\0\12\15\47\0\2\13\1\0"+
+ "\1\13\2\0\2\13\1\0\1\13\2\0\1\13\6\0\4\13\1\0"+
+ "\7\13\1\0\3\13\1\0\1\13\1\0\1\13\2\0\2\13\1\0"+
+ "\4\13\1\0\2\13\11\0\1\13\2\0\5\13\1\0\1\13\11\0"+
+ "\12\15\2\0\4\13\40\0\1\13\37\0\12\15\26\0\10\13\1\0"+
+ "\44\13\33\0\5\13\163\0\53\13\24\0\1\13\12\15\6\0\6\13"+
+ "\4\0\4\13\3\0\1\13\3\0\2\13\7\0\3\13\4\0\15\13"+
+ "\14\0\1\13\1\0\12\15\6\0\46\13\1\0\1\13\5\0\1\13"+
+ "\2\0\53\13\1\0\u014d\13\1\0\4\13\2\0\7\13\1\0\1\13"+
+ "\1\0\4\13\2\0\51\13\1\0\4\13\2\0\41\13\1\0\4\13"+
+ "\2\0\7\13\1\0\1\13\1\0\4\13\2\0\17\13\1\0\71\13"+
+ "\1\0\4\13\2\0\103\13\45\0\20\13\20\0\126\13\2\0\6\13"+
+ "\3\0\u026c\13\2\0\21\13\1\0\32\13\5\0\113\13\6\0\10\13"+
+ "\7\0\15\13\1\0\4\13\16\0\22\13\16\0\22\13\16\0\15\13"+
+ "\1\0\3\13\17\0\64\13\43\0\1\13\4\0\1\13\3\0\12\15"+
+ "\46\0\12\15\6\0\130\13\10\0\51\13\1\0\1\13\5\0\106\13"+
+ "\12\0\37\13\47\0\12\15\36\13\2\0\5\13\13\0\54\13\4\0"+
+ "\32\13\6\0\12\15\46\0\27\13\11\0\65\13\53\0\12\15\6\0"+
+ "\12\15\15\0\1\13\135\0\57\13\21\0\7\13\4\0\12\15\51\0"+
+ "\36\13\15\0\2\13\12\15\54\13\32\0\44\13\34\0\12\15\3\0"+
+ "\3\13\12\15\44\13\153\0\4\13\1\0\4\13\3\0\2\13\11\0"+
+ "\300\13\100\0\u0116\13\2\0\6\13\2\0\46\13\2\0\6\13\2\0"+
+ "\10\13\1\0\1\13\1\0\1\13\1\0\1\13\1\0\37\13\2\0"+
+ "\65\13\1\0\7\13\1\0\1\13\3\0\3\13\1\0\7\13\3\0"+
+ "\4\13\2\0\6\13\4\0\15\13\5\0\3\13\1\0\7\13\53\0"+
+ "\1\20\1\20\107\0\1\13\15\0\1\13\20\0\15\13\145\0\1\13"+
+ "\4\0\1\13\2\0\12\13\1\0\1\13\3\0\5\13\6\0\1\13"+
+ "\1\0\1\13\1\0\1\13\1\0\4\13\1\0\13\13\2\0\4\13"+
+ "\5\0\5\13\4\0\1\13\64\0\2\13\u0a7b\0\57\13\1\0\57\13"+
+ "\1\0\205\13\6\0\4\13\3\0\2\13\14\0\46\13\1\0\1\13"+
+ "\5\0\1\13\2\0\70\13\7\0\1\13\20\0\27\13\11\0\7\13"+
+ "\1\0\7\13\1\0\7\13\1\0\7\13\1\0\7\13\1\0\7\13"+
+ "\1\0\7\13\1\0\7\13\120\0\1\13\u01d5\0\2\13\52\0\5\13"+
+ "\5\0\2\13\4\0\126\13\6\0\3\13\1\0\132\13\1\0\4\13"+
+ "\5\0\51\13\3\0\136\13\21\0\33\13\65\0\20\13\u0200\0\u19b6\13"+
+ "\112\0\u51d6\13\52\0\u048d\13\103\0\56\13\2\0\u010d\13\3\0\20\13"+
+ "\12\15\2\13\24\0\57\13\20\0\37\13\2\0\106\13\61\0\11\13"+
+ "\2\0\147\13\2\0\43\13\2\0\10\13\77\0\13\13\1\0\3\13"+
+ "\1\0\4\13\1\0\27\13\35\0\64\13\16\0\62\13\34\0\12\15"+
+ "\30\0\6\13\3\0\1\13\1\0\1\13\2\0\12\15\34\13\12\0"+
+ "\27\13\31\0\35\13\7\0\57\13\34\0\1\13\12\15\6\0\5\13"+
+ "\1\0\12\13\12\15\5\13\1\0\51\13\27\0\3\13\1\0\10\13"+
+ "\4\0\12\15\6\0\27\13\3\0\1\13\3\0\62\13\1\0\1\13"+
+ "\3\0\2\13\2\0\5\13\2\0\1\13\1\0\1\13\30\0\3\13"+
+ "\2\0\13\13\7\0\3\13\14\0\6\13\2\0\6\13\2\0\6\13"+
+ "\11\0\7\13\1\0\7\13\1\0\53\13\1\0\12\13\12\0\163\13"+
+ "\15\0\12\15\6\0\u2ba4\13\14\0\27\13\4\0\61\13\u2104\0\u016e\13"+
+ "\2\0\152\13\46\0\7\13\14\0\5\13\5\0\1\13\1\0\12\13"+
+ "\1\0\15\13\1\0\5\13\1\0\1\13\1\0\2\13\1\0\2\13"+
+ "\1\0\154\13\41\0\u016b\13\22\0\100\13\2\0\66\13\50\0\14\13"+
+ "\164\0\5\13\1\0\207\13\23\0\12\15\7\0\32\13\6\0\32\13"+
+ "\13\0\131\13\3\0\6\13\2\0\6\13\2\0\6\13\2\0\3\13"+
+ "\43\0\14\13\1\0\32\13\1\0\23\13\1\0\2\13\1\0\17\13"+
+ "\2\0\16\13\42\0\173\13\u0185\0\35\13\3\0\61\13\57\0\40\13"+
+ "\20\0\21\13\1\0\10\13\6\0\46\13\12\0\36\13\2\0\44\13"+
+ "\4\0\10\13\60\0\236\13\2\0\12\15\126\0\50\13\10\0\64\13"+
+ "\234\0\u0137\13\11\0\26\13\12\0\10\13\230\0\6\13\2\0\1\13"+
+ "\1\0\54\13\1\0\2\13\3\0\1\13\2\0\27\13\12\0\27\13"+
+ "\11\0\37\13\101\0\23\13\1\0\2\13\12\0\26\13\12\0\32\13"+
+ "\106\0\70\13\6\0\2\13\100\0\1\13\17\0\4\13\1\0\3\13"+
+ "\1\0\33\13\54\0\35\13\3\0\35\13\43\0\10\13\1\0\34\13"+
+ "\33\0\66\13\12\0\26\13\12\0\23\13\15\0\22\13\156\0\111\13"+
+ "\67\0\63\13\15\0\63\13\u0310\0\65\13\56\0\12\15\23\0\55\13"+
+ "\40\0\31\13\7\0\12\15\11\0\44\13\17\0\12\15\20\0\43\13"+
+ "\3\0\1\13\14\0\60\13\16\0\4\13\13\0\12\15\1\13\1\0"+
+ "\1\13\43\0\22\13\1\0\31\13\124\0\7\13\1\0\1\13\1\0"+
+ "\4\13\1\0\17\13\1\0\12\13\7\0\57\13\21\0\12\15\13\0"+
+ "\10\13\2\0\2\13\2\0\26\13\1\0\7\13\1\0\2\13\1\0"+
+ "\5\13\3\0\1\13\22\0\1\13\14\0\5\13\u011e\0\60\13\24\0"+
+ "\2\13\1\0\1\13\10\0\12\15\246\0\57\13\51\0\4\13\44\0"+
+ "\60\13\24\0\1\13\13\0\12\15\46\0\53\13\25\0\12\15\66\0"+
+ "\32\13\26\0\12\15\u0166\0\100\13\12\15\25\0\1\13\u01c0\0\71\13"+
+ "\u0507\0\u039a\13\346\0\304\13\u0abc\0\u042f\13\u0fd1\0\u0247\13\u21b9\0\u0239\13"+
+ "\7\0\37\13\1\0\12\15\146\0\36\13\22\0\60\13\20\0\4\13"+
+ "\14\0\12\15\11\0\25\13\5\0\23\13\u0370\0\105\13\13\0\1\13"+
+ "\102\0\15\13\u4060\0\2\13\u0bfe\0\153\13\5\0\15\13\3\0\11\13"+
+ "\7\0\12\13\u1766\0\125\13\1\0\107\13\1\0\2\13\2\0\1\13"+
+ "\2\0\2\13\2\0\4\13\1\0\14\13\1\0\1\13\1\0\7\13"+
+ "\1\0\101\13\1\0\4\13\2\0\10\13\1\0\7\13\1\0\34\13"+
+ "\1\0\4\13\1\0\5\13\1\0\1\13\3\0\7\13\1\0\u0154\13"+
+ "\2\0\31\13\1\0\31\13\1\0\37\13\1\0\31\13\1\0\37\13"+
+ "\1\0\31\13\1\0\37\13\1\0\31\13\1\0\37\13\1\0\31\13"+
+ "\1\0\10\13\2\0\62\15\u1000\0\305\13\u053b\0\4\13\1\0\33\13"+
+ "\1\0\2\13\1\0\1\13\2\0\1\13\1\0\12\13\1\0\4\13"+
+ "\1\0\1\13\1\0\1\13\6\0\1\13\4\0\1\13\1\0\1\13"+
+ "\1\0\1\13\1\0\3\13\1\0\2\13\1\0\1\13\2\0\1\13"+
+ "\1\0\1\13\1\0\1\13\1\0\1\13\1\0\1\13\1\0\2\13"+
+ "\1\0\1\13\2\0\4\13\1\0\7\13\1\0\4\13\1\0\4\13"+
+ "\1\0\1\13\1\0\12\13\1\0\21\13\5\0\3\13\1\0\5\13"+
+ "\1\0\21\13\u1144\0\ua6d7\13\51\0\u1035\13\13\0\336\13\2\0\u1682\13"+
+ "\u295e\0\u021e\13\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\u05f0\0";
/**
* Translates characters to character classes
private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
private static final String ZZ_ROWMAP_PACKED_0 =
- "\0\0\0\70\0\160\0\250\0\340\0\u0118\0\u0150\0\u0188"+
- "\0\u01c0\0\u01f8\0\u0230\0\u0268\0\u02a0\0\u02d8\0\u0310\0\u0310"+
- "\0\u0348\0\u0310\0\u0310\0\u0380\0\u03b8\0\u0310\0\u0310\0\u0310"+
- "\0\u0310\0\u0310\0\u0310\0\u0310\0\u0310\0\u0310\0\u0310\0\u03f0"+
- "\0\u0310\0\u0428\0\u0310\0\u0460\0\u0310\0\u0310\0\u0310\0\u0310"+
- "\0\u0498\0\u0310\0\u04d0\0\u0310\0\u0508\0\u0310\0\u0310\0\u0380"+
- "\0\u0310\0\u0310\0\u0310\0\u0540\0\u0578\0\u0310\0\u0310\0\u0310"+
- "\0\u0310\0\u0310\0\u05b0\0\u05e8\0\u0310\0\u0620\0\u0310\0\u0658"+
- "\0\u0690\0\u0310\0\u0310\0\u0310\0\u0310\0\u0310\0\u0310\0\u0310"+
- "\0\u06c8\0\u0310\0\u0310\0\u0700\0\u0738\0\u0770\0\u0310\0\u07a8"+
- "\0\u0310\0\u0310\0\u0310\0\u0310\0\u0310\0\u0310\0\u0310\0\u07e0"+
- "\0\u0818\0\u0310\0\u0310\0\u0310\0\u0310\0\u0850\0\u0310\0\u0888"+
- "\0\u0310\0\u08c0\0\u08f8\0\u0930\0\u0968\0\u0310\0\u0310\0\u0310"+
- "\0\u0310\0\u0310\0\u0310\0\u09a0\0\u09d8\0\u0310\0\u0a10\0\u0310"+
- "\0\u0a48\0\u0658\0\u0310\0\u0310\0\u0a80\0\u0ab8\0\u0af0\0\u0310"+
- "\0\u0b28\0\u0b60\0\u0b98\0\u0bd0";
+ "\0\0\0\72\0\164\0\256\0\350\0\u0122\0\u015c\0\u0196"+
+ "\0\u01d0\0\u020a\0\u0244\0\u027e\0\u02b8\0\u02f2\0\u032c\0\u032c"+
+ "\0\u0366\0\u032c\0\u032c\0\u03a0\0\u03da\0\u032c\0\u032c\0\u032c"+
+ "\0\u032c\0\u032c\0\u032c\0\u032c\0\u032c\0\u032c\0\u032c\0\u0414"+
+ "\0\u032c\0\u044e\0\u032c\0\u0488\0\u032c\0\u032c\0\u032c\0\u032c"+
+ "\0\u04c2\0\u032c\0\u04fc\0\u032c\0\u0536\0\u032c\0\u032c\0\u03a0"+
+ "\0\u032c\0\u032c\0\u032c\0\u0570\0\u05aa\0\u032c\0\u032c\0\u032c"+
+ "\0\u032c\0\u032c\0\u05e4\0\u061e\0\u032c\0\u0658\0\u032c\0\u0692"+
+ "\0\u06cc\0\u032c\0\u032c\0\u032c\0\u032c\0\u032c\0\u032c\0\u032c"+
+ "\0\u0706\0\u032c\0\u032c\0\u0740\0\u077a\0\u07b4\0\u032c\0\u07ee"+
+ "\0\u032c\0\u032c\0\u032c\0\u032c\0\u032c\0\u032c\0\u032c\0\u0828"+
+ "\0\u0862\0\u032c\0\u032c\0\u032c\0\u032c\0\u089c\0\u032c\0\u08d6"+
+ "\0\u032c\0\u0910\0\u094a\0\u0984\0\u09be\0\u032c\0\u032c\0\u032c"+
+ "\0\u032c\0\u032c\0\u032c\0\u09f8\0\u0a32\0\u032c\0\u0a6c\0\u032c"+
+ "\0\u0aa6\0\u0692\0\u032c\0\u032c\0\u0ae0\0\u0b1a\0\u0b54\0\u032c"+
+ "\0\u0b8e\0\u0bc8\0\u0c02\0\u0c3c";
private static int [] zzUnpackRowMap() {
int [] result = new int[124];
private static final String ZZ_TRANS_PACKED_0 =
"\3\17\1\20\1\21\1\22\1\23\1\17\1\24\1\17"+
- "\1\25\3\17\1\26\1\27\1\30\1\31\1\32\1\33"+
- "\1\34\23\17\1\35\4\17\1\36\4\17\1\26\3\17"+
- "\1\37\1\26\12\17\1\40\55\17\1\41\2\42\4\41"+
- "\1\43\3\41\1\44\1\41\1\42\7\41\22\44\1\42"+
- "\1\41\2\44\3\41\1\44\1\45\10\41\11\46\1\47"+
- "\4\46\1\0\67\46\1\0\1\50\50\46\6\17\1\23"+
- "\1\17\1\51\1\52\1\53\3\17\1\54\1\27\30\17"+
- "\1\35\10\17\1\55\1\54\4\17\1\54\6\56\1\57"+
- "\1\56\1\60\1\56\1\25\16\56\1\61\1\56\1\61"+
- "\1\56\1\61\3\56\1\61\14\56\1\61\11\56\5\62"+
- "\1\63\5\62\1\64\11\62\22\64\1\62\1\65\2\64"+
- "\3\62\1\64\1\62\1\66\7\62\16\11\1\67\50\11"+
- "\1\67\13\62\1\44\11\62\22\44\2\62\2\44\3\62"+
- "\1\44\4\62\1\70\17\62\1\44\11\62\22\44\2\62"+
- "\2\44\1\62\1\71\1\62\1\44\16\62\1\63\5\62"+
- "\1\44\11\62\22\44\2\62\2\44\3\62\1\44\12\62"+
- "\2\42\2\62\1\63\5\62\1\44\1\62\1\42\7\62"+
- "\22\44\1\42\1\62\2\44\3\62\1\44\11\62\13\72"+
- "\1\44\11\72\22\44\2\72\2\44\3\72\1\44\1\72"+
- "\1\73\7\72\111\0\1\74\57\0\1\75\5\0\1\76"+
- "\50\0\1\77\1\100\1\101\4\102\1\77\1\102\1\77"+
- "\1\102\1\103\2\77\1\104\6\102\2\105\3\106\3\107"+
- "\1\110\1\111\1\110\2\112\1\103\1\113\1\103\1\114"+
- "\1\115\1\116\1\102\1\117\1\120\2\77\1\104\1\103"+
- "\3\77\1\104\4\77\1\104\44\0\1\121\24\0\2\42"+
- "\12\0\1\42\31\0\1\42\21\0\2\44\10\0\3\44"+
- "\7\0\23\44\1\0\2\44\3\0\1\44\22\0\1\122"+
- "\5\0\1\76\40\0\1\123\7\0\1\77\1\100\1\101"+
- "\4\102\1\77\1\102\1\124\1\102\1\103\2\77\1\104"+
+ "\1\25\3\17\2\26\1\0\1\26\1\27\1\30\1\31"+
+ "\1\32\1\33\1\34\23\17\1\35\4\17\1\36\4\17"+
+ "\1\26\3\17\1\37\12\17\1\40\4\17\3\0\50\17"+
+ "\1\41\2\42\4\41\1\43\3\41\1\44\1\41\1\42"+
+ "\1\41\3\0\6\41\22\44\1\42\1\41\2\44\3\41"+
+ "\1\44\1\45\7\41\11\46\1\47\4\46\4\0\66\46"+
+ "\4\0\1\50\47\46\6\17\1\23\1\17\1\51\1\52"+
+ "\1\53\3\17\2\54\1\0\1\54\1\27\30\17\1\35"+
+ "\10\17\1\55\1\54\4\17\6\56\1\57\1\56\1\60"+
+ "\1\56\1\25\4\56\1\26\1\0\1\26\12\56\1\61"+
+ "\1\56\1\61\1\56\1\61\3\56\1\61\14\56\1\61"+
+ "\10\56\5\62\1\63\5\62\1\64\3\62\3\0\6\62"+
+ "\22\64\1\62\1\65\2\64\3\62\1\64\1\62\1\66"+
+ "\6\62\16\11\2\67\52\11\13\62\1\44\3\62\3\0"+
+ "\6\62\22\44\2\62\2\44\3\62\1\44\4\62\1\70"+
+ "\16\62\1\44\3\62\3\0\6\62\22\44\2\62\2\44"+
+ "\1\62\1\71\1\62\1\44\15\62\1\63\5\62\1\44"+
+ "\3\62\3\0\6\62\22\44\2\62\2\44\3\62\1\44"+
+ "\11\62\2\42\2\62\1\63\5\62\1\44\1\62\1\42"+
+ "\1\62\3\0\6\62\22\44\1\42\1\62\2\44\3\62"+
+ "\1\44\10\62\13\72\1\44\3\72\3\0\6\72\22\44"+
+ "\2\72\2\44\3\72\1\44\1\72\1\73\6\72\116\0"+
+ "\1\74\56\0\1\75\10\0\1\76\47\0\1\77\1\100"+
+ "\1\101\4\102\1\77\1\102\1\77\1\102\1\103\2\77"+
+ "\2\104\1\0\1\104\6\102\2\105\3\106\3\107\1\110"+
+ "\1\111\1\110\2\112\1\103\1\113\1\103\1\114\1\115"+
+ "\1\116\1\102\1\117\1\120\2\77\1\104\1\103\3\77"+
+ "\1\104\4\77\47\0\1\121\23\0\2\42\12\0\1\42"+
+ "\34\0\1\42\20\0\2\44\10\0\3\44\12\0\23\44"+
+ "\1\0\2\44\3\0\1\44\21\0\1\122\10\0\1\76"+
+ "\40\0\1\123\6\0\1\77\1\100\1\101\4\102\1\77"+
+ "\1\102\1\124\1\102\1\103\2\77\2\104\1\0\1\104"+
"\6\102\2\105\3\106\3\107\1\110\1\111\1\110\2\112"+
"\1\103\1\113\1\103\1\114\1\115\1\116\1\102\1\117"+
- "\1\120\2\77\1\104\1\103\3\77\1\104\4\77\1\104"+
- "\61\0\1\125\21\0\1\64\11\0\22\64\2\0\2\64"+
- "\3\0\1\64\24\0\1\65\11\0\22\65\2\0\2\65"+
- "\3\0\1\65\22\0\1\126\62\0\1\127\34\0\1\130"+
- "\11\0\1\131\1\132\3\0\1\133\2\0\1\133\1\134"+
- "\1\135\1\136\12\0\1\137\57\0\2\100\44\0\1\100"+
- "\22\0\1\140\44\0\1\140\20\0\70\141\1\0\2\142"+
- "\3\0\1\143\17\0\2\142\4\0\3\142\3\0\1\142"+
- "\1\0\1\142\2\0\1\142\21\0\2\144\23\0\2\144"+
- "\4\0\3\144\3\0\1\144\1\0\1\144\2\0\1\144"+
- "\21\0\1\100\1\145\44\0\1\145\73\0\1\146\1\147"+
- "\66\0\1\150\10\0\1\151\67\0\1\152\1\153\2\0"+
- "\5\154\1\0\62\154\2\0\1\155\44\0\1\155\21\0"+
- "\2\156\23\0\2\156\4\0\3\156\3\0\1\156\1\0"+
- "\1\156\2\0\1\156\21\0\2\157\4\0\1\160\16\0"+
- "\2\157\4\0\3\157\3\0\1\157\1\0\1\157\2\0"+
- "\1\157\21\0\2\161\23\0\2\161\4\0\3\161\3\0"+
- "\1\161\1\0\1\161\2\0\1\161\21\0\1\100\1\162"+
- "\44\0\1\162\20\0\5\154\1\163\62\154\2\0\1\164"+
- "\44\0\1\164\21\0\2\165\4\0\1\156\16\0\2\165"+
- "\4\0\3\165\3\0\1\165\1\0\1\165\2\0\1\165"+
- "\21\0\2\166\23\0\2\166\4\0\3\166\3\0\1\166"+
- "\1\0\1\166\2\0\1\166\21\0\2\167\4\0\1\156"+
- "\16\0\2\167\4\0\3\167\3\0\1\167\1\0\1\167"+
- "\2\0\1\167\21\0\2\170\23\0\2\170\4\0\3\170"+
- "\3\0\1\170\1\0\1\170\2\0\1\170\21\0\2\171"+
- "\4\0\1\156\16\0\2\171\4\0\3\171\3\0\1\171"+
- "\1\0\1\171\2\0\1\171\21\0\2\172\4\0\1\156"+
- "\16\0\2\172\4\0\3\172\3\0\1\172\1\0\1\172"+
- "\2\0\1\172\21\0\2\173\4\0\1\156\16\0\2\173"+
- "\4\0\3\173\3\0\1\173\1\0\1\173\2\0\1\173"+
- "\21\0\2\174\4\0\1\156\16\0\2\174\4\0\3\174"+
- "\3\0\1\174\1\0\1\174\2\0\1\174\21\0\2\174"+
- "\4\0\1\160\16\0\2\174\4\0\3\174\3\0\1\174"+
- "\1\0\1\174\2\0\1\174\20\0";
+ "\1\120\2\77\1\104\1\103\3\77\1\104\4\77\64\0"+
+ "\1\125\20\0\1\64\14\0\22\64\2\0\2\64\3\0"+
+ "\1\64\23\0\1\65\14\0\22\65\2\0\2\65\3\0"+
+ "\1\65\21\0\1\126\64\0\1\127\37\0\1\130\11\0"+
+ "\1\131\1\132\3\0\1\133\2\0\1\133\1\134\1\135"+
+ "\1\136\11\0\1\137\61\0\2\100\47\0\1\100\21\0"+
+ "\1\140\47\0\1\140\17\0\17\141\3\0\50\141\1\0"+
+ "\2\142\3\0\1\143\22\0\2\142\4\0\3\142\3\0"+
+ "\1\142\1\0\1\142\2\0\1\142\20\0\2\144\26\0"+
+ "\2\144\4\0\3\144\3\0\1\144\1\0\1\144\2\0"+
+ "\1\144\20\0\1\100\1\145\47\0\1\145\75\0\1\146"+
+ "\1\147\70\0\1\150\10\0\1\151\71\0\1\152\1\153"+
+ "\1\0\5\154\1\0\64\154\2\0\1\155\47\0\1\155"+
+ "\20\0\2\156\26\0\2\156\4\0\3\156\3\0\1\156"+
+ "\1\0\1\156\2\0\1\156\20\0\2\157\4\0\1\160"+
+ "\21\0\2\157\4\0\3\157\3\0\1\157\1\0\1\157"+
+ "\2\0\1\157\20\0\2\161\26\0\2\161\4\0\3\161"+
+ "\3\0\1\161\1\0\1\161\2\0\1\161\20\0\1\100"+
+ "\1\162\47\0\1\162\17\0\5\154\1\163\64\154\2\0"+
+ "\1\164\47\0\1\164\20\0\2\165\4\0\1\156\21\0"+
+ "\2\165\4\0\3\165\3\0\1\165\1\0\1\165\2\0"+
+ "\1\165\20\0\2\166\26\0\2\166\4\0\3\166\3\0"+
+ "\1\166\1\0\1\166\2\0\1\166\20\0\2\167\4\0"+
+ "\1\156\21\0\2\167\4\0\3\167\3\0\1\167\1\0"+
+ "\1\167\2\0\1\167\20\0\2\170\26\0\2\170\4\0"+
+ "\3\170\3\0\1\170\1\0\1\170\2\0\1\170\20\0"+
+ "\2\171\4\0\1\156\21\0\2\171\4\0\3\171\3\0"+
+ "\1\171\1\0\1\171\2\0\1\171\20\0\2\172\4\0"+
+ "\1\156\21\0\2\172\4\0\3\172\3\0\1\172\1\0"+
+ "\1\172\2\0\1\172\20\0\2\173\4\0\1\156\21\0"+
+ "\2\173\4\0\3\173\3\0\1\173\1\0\1\173\2\0"+
+ "\1\173\20\0\2\174\4\0\1\156\21\0\2\174\4\0"+
+ "\3\174\3\0\1\174\1\0\1\174\2\0\1\174\20\0"+
+ "\2\174\4\0\1\160\21\0\2\174\4\0\3\174\3\0"+
+ "\1\174\1\0\1\174\2\0\1\174\17\0";
private static int [] zzUnpackTrans() {
- int [] result = new int[3080];
+ int [] result = new int[3190];
int offset = 0;
offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
return result;
private static final int ZZ_UNKNOWN_ERROR = 0;
private static final int ZZ_NO_MATCH = 1;
private static final int ZZ_PUSHBACK_2BIG = 2;
- private static final char[] EMPTY_BUFFER = new char[0];
- private static final int YYEOF = -1;
- private static java.io.Reader zzReader = null; // Fake
/* error messages for the codes above */
- private static final String ZZ_ERROR_MSG[] = {
- "Unkown internal scanner error",
+ private static final String[] ZZ_ERROR_MSG = {
+ "Unknown internal scanner error",
"Error: could not match input",
"Error: pushback value was too large"
};
return j;
}
+ /** the input device */
+ private java.io.Reader zzReader;
+
/** the current state of the DFA */
private int zzState;
boolean commentMode = false;
- _RegExLexer(java.io.Reader in) {
- this.zzReader = in;
- }
-
/**
- * Creates a new scanner.
- * There is also java.io.Reader version of this constructor.
+ * Creates a new scanner
*
- * @param in the java.io.Inputstream to read input from.
+ * @param in the java.io.Reader to read input from.
*/
- _RegExLexer(java.io.InputStream in) {
- this(new java.io.InputStreamReader(in));
+ _RegExLexer(java.io.Reader in) {
+ this.zzReader = in;
}
+
/**
* Unpacks the compressed character translation table.
*
* @return the unpacked character translation table
*/
private static char [] zzUnpackCMap(String packed) {
- char [] map = new char[0x10000];
+ char [] map = new char[0x110000];
int i = 0; /* index in packed string */
int j = 0; /* index in unpacked array */
- while (i < 1352) {
+ while (i < 2594) {
int count = packed.charAt(i++);
char value = packed.charAt(i++);
do map[j++] = value; while (--count > 0);
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 = (zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++] : zzBufferL.charAt(zzCurrentPosL++));
+ if (zzCurrentPosL < zzEndReadL) {
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL/*, zzEndReadL*/);
+ zzCurrentPosL += Character.charCount(zzInput);
+ }
else if (zzAtEOF) {
zzInput = YYEOF;
break zzForAction;
break zzForAction;
}
else {
- zzInput = (zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++] : zzBufferL.charAt(zzCurrentPosL++));
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL/*, zzEndReadL*/);
+ zzCurrentPosL += Character.charCount(zzInput);
}
}
int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
if (zzNext == -1) break zzForAction;
zzState = zzNext;
- int zzAttributes = zzAttrL[zzState];
+ zzAttributes = zzAttrL[zzState];
if ( (zzAttributes & 1) == 1 ) {
zzAction = zzState;
zzMarkedPosL = zzCurrentPosL;
// store back cached position
zzMarkedPos = zzMarkedPosL;
- switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
- case 81:
- { return RegExpTT.UNICODE_CHAR;
- }
- case 82: break;
- case 7:
- { if (yystate() != CLASS2) yypushstate(EMBRACED); return RegExpTT.LBRACE;
- }
- case 83: break;
- case 24:
- { return RegExpTT.COMMA;
- }
- case 84: break;
- case 67:
- { return RegExpTT.POS_LOOKAHEAD;
- }
- case 85: break;
- case 65:
- { yybegin(QUOTED_NAMED_GROUP); capturingGroupCount++; return RegExpTT.RUBY_QUOTED_NAMED_GROUP;
- }
- case 86: break;
- case 80:
- { return RegExpTT.COMMENT;
- }
- case 87: break;
- case 14:
- { return RegExpTT.STAR;
- }
- case 88: break;
- case 63:
- { yybegin(PY_COND_REF); return RegExpTT.PYTHON_COND_REF;
- }
- case 89: break;
- case 50:
- { return RegExpTT.CHAR_CLASS;
- }
- case 90: break;
- case 36:
- { handleOptions(); return RegExpTT.OPTIONS_OFF;
- }
- case 91: break;
- case 57:
- { yypopstate(); return RegExpTT.QUOTE_END;
- }
- case 92: break;
- case 35:
- { yybegin(YYINITIAL); return RegExpTT.GROUP_END;
- }
- case 93: break;
- case 42:
- // lookahead expression with fixed base length
- zzMarkedPos = zzStartRead + 1;
- { if (allowEmptyCharacterClass) yypushstate(CLASS2); else yypushstate(CLASS1);
+ if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
+ zzAtEOF = true;
+ zzDoEOF();
+ return null;
+ }
+ else {
+ switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
+ case 1:
+ { handleOptions(); return RegExpTT.OPTIONS_ON;
+ }
+ case 82: break;
+ case 2:
+ { yypopstate(); return RegExpTT.COMMENT;
+ }
+ case 83: break;
+ case 3:
+ { return RegExpTT.CHARACTER;
+ }
+ case 84: break;
+ case 4:
+ { return RegExpTT.DOT;
+ }
+ case 85: break;
+ case 5:
+ { capturingGroupCount++; return RegExpTT.GROUP_BEGIN;
+ }
+ case 86: break;
+ case 6:
+ { return RegExpTT.GROUP_END;
+ }
+ case 87: break;
+ case 7:
+ { if (yystate() != CLASS2) yypushstate(EMBRACED); return RegExpTT.LBRACE;
+ }
+ case 88: break;
+ case 8:
+ { yypushstate(CLASS2);
return RegExpTT.CLASS_BEGIN;
- }
- case 94: break;
- case 37:
- { yybegin(YYINITIAL); return RegExpTT.COLON;
- }
- case 95: break;
- case 6:
- { return RegExpTT.GROUP_END;
- }
- case 96: break;
- case 25:
- { assert false : yytext();
- }
- case 97: break;
- case 18:
- { return commentMode ? com.intellij.psi.TokenType.WHITE_SPACE : RegExpTT.CHARACTER;
- }
- case 98: break;
- case 47:
- { return commentMode ? RegExpTT.CHARACTER : RegExpTT.REDUNDANT_ESCAPE;
- }
- case 99: break;
- case 23:
- { return RegExpTT.NAME;
- }
- case 100: break;
- case 29:
- { yypopstate(); return RegExpTT.CLASS_END;
- }
- case 101: break;
- case 72:
- { yybegin(NAMED_GROUP); return RegExpTT.RUBY_NAMED_GROUP_REF;
- }
- case 102: break;
- case 34:
- { yybegin(YYINITIAL); return RegExpTT.BAD_CHARACTER;
- }
- case 103: break;
- case 53:
- { yypushstate(QUOTED); return RegExpTT.QUOTE_BEGIN;
- }
- case 104: break;
- case 40:
- { return RegExpTT.BAD_CHARACTER;
- }
- case 105: break;
- case 21:
- { return RegExpTT.NUMBER;
- }
- case 106: break;
- case 4:
- { return RegExpTT.DOT;
- }
- case 107: break;
- case 77:
- { return RegExpTT.NEG_LOOKBEHIND;
- }
- case 108: break;
- case 33:
- { yypopstate(); if (allowCategoryShorthand) return RegExpTT.CATEGORY_SHORT_HAND; else yypushback(1);
- }
- case 109: break;
- case 45:
- { return (allowOctalNoLeadingZero ? RegExpTT.OCT_CHAR : RegExpTT.BAD_OCT_VALUE);
- }
- case 110: break;
- case 68:
- { return RegExpTT.NEG_LOOKAHEAD;
- }
- case 111: break;
- case 10:
- { return commentMode ? com.intellij.psi.TokenType.WHITE_SPACE : RegExpTT.CTRL_CHARACTER;
- }
- case 112: break;
- case 66:
- { return RegExpTT.NON_CAPT_GROUP;
- }
- case 113: break;
- case 73:
- { yybegin(QUOTED_NAMED_GROUP); return RegExpTT.RUBY_QUOTED_NAMED_GROUP_REF;
- }
- case 114: break;
- case 28:
- { if (allowNestedCharacterClasses) {
+ }
+ case 89: break;
+ case 9:
+ { return StringEscapesTokenTypes.INVALID_CHARACTER_ESCAPE_TOKEN;
+ }
+ case 90: break;
+ case 10:
+ { return commentMode ? com.intellij.psi.TokenType.WHITE_SPACE : RegExpTT.CTRL_CHARACTER;
+ }
+ case 91: break;
+ case 11:
+ { return RegExpTT.CARET;
+ }
+ case 92: break;
+ case 12:
+ { return RegExpTT.DOLLAR;
+ }
+ case 93: break;
+ case 13:
+ { return RegExpTT.QUEST;
+ }
+ case 94: break;
+ case 14:
+ { return RegExpTT.STAR;
+ }
+ case 95: break;
+ case 15:
+ { return RegExpTT.PLUS;
+ }
+ case 96: break;
+ case 16:
+ { return RegExpTT.UNION;
+ }
+ case 97: break;
+ case 17:
+ { return RegExpTT.MINUS;
+ }
+ case 98: break;
+ case 18:
+ { return commentMode ? com.intellij.psi.TokenType.WHITE_SPACE : RegExpTT.CHARACTER;
+ }
+ case 99: break;
+ case 19:
+ { if (commentMode) { yypushstate(COMMENT); return RegExpTT.COMMENT; } else return RegExpTT.CHARACTER;
+ }
+ case 100: break;
+ case 20:
+ { if (allowDanglingMetacharacters) {
+ yypopstate(); yypushback(1);
+ } else {
+ return RegExpTT.BAD_CHARACTER;
+ }
+ }
+ case 101: break;
+ case 21:
+ { return RegExpTT.NUMBER;
+ }
+ case 102: break;
+ case 22:
+ { yypopstate(); return RegExpTT.RBRACE;
+ }
+ case 103: break;
+ case 23:
+ { return RegExpTT.NAME;
+ }
+ case 104: break;
+ case 24:
+ { return RegExpTT.COMMA;
+ }
+ case 105: break;
+ case 25:
+ { assert false : yytext();
+ }
+ case 106: break;
+ case 26:
+ { yybegin(CLASS2); return RegExpTT.CHARACTER;
+ }
+ case 107: break;
+ case 27:
+ { yybegin(CLASS1); return RegExpTT.CARET;
+ }
+ case 108: break;
+ case 28:
+ { if (allowNestedCharacterClasses) {
yypushstate(CLASS2);
return RegExpTT.CLASS_BEGIN;
}
return RegExpTT.CHARACTER;
- }
- case 115: break;
- case 19:
- { if (commentMode) { yypushstate(COMMENT); return RegExpTT.COMMENT; } else return RegExpTT.CHARACTER;
- }
- case 116: break;
- case 52:
- { yypushstate(PROP); return RegExpTT.PROPERTY;
- }
- case 117: break;
- case 8:
- { yypushstate(CLASS2);
+ }
+ case 109: break;
+ case 29:
+ { yypopstate(); return RegExpTT.CLASS_END;
+ }
+ case 110: break;
+ case 30:
+ { return commentMode ? com.intellij.psi.TokenType.WHITE_SPACE : RegExpTT.ESC_CHARACTER;
+ }
+ case 111: break;
+ case 31:
+ { yypopstate(); yypushback(1);
+ }
+ case 112: break;
+ case 32:
+ { yypopstate(); yypushstate(EMBRACED); return RegExpTT.LBRACE;
+ }
+ case 113: break;
+ case 33:
+ { yypopstate(); if (allowCategoryShorthand) return RegExpTT.CATEGORY_SHORT_HAND; else yypushback(1);
+ }
+ case 114: break;
+ case 34:
+ { yybegin(YYINITIAL); return RegExpTT.BAD_CHARACTER;
+ }
+ case 115: break;
+ case 35:
+ { yybegin(YYINITIAL); return RegExpTT.GROUP_END;
+ }
+ case 116: break;
+ case 36:
+ { handleOptions(); return RegExpTT.OPTIONS_OFF;
+ }
+ case 117: break;
+ case 37:
+ { yybegin(YYINITIAL); return RegExpTT.COLON;
+ }
+ case 118: break;
+ case 38:
+ { yybegin(YYINITIAL); return RegExpTT.GT;
+ }
+ case 119: break;
+ case 39:
+ { yybegin(YYINITIAL); return RegExpTT.QUOTE;
+ }
+ case 120: break;
+ case 40:
+ { return RegExpTT.BAD_CHARACTER;
+ }
+ case 121: break;
+ case 41:
+ { yybegin(OPTIONS); return RegExpTT.SET_OPTIONS;
+ }
+ case 122: break;
+ case 42:
+ // lookahead expression with fixed base length
+ zzMarkedPos = Character.offsetByCodePoints
+ (zzBufferL/*, zzStartRead, zzEndRead - zzStartRead*/, zzStartRead, 1);
+ { if (allowEmptyCharacterClass) yypushstate(CLASS2); else yypushstate(CLASS1);
return RegExpTT.CLASS_BEGIN;
- }
- case 118: break;
- case 76:
- { return RegExpTT.POS_LOOKBEHIND;
- }
- case 119: break;
- case 20:
- { if (allowDanglingMetacharacters) {
- yypopstate(); yypushback(1);
- } else {
- return RegExpTT.BAD_CHARACTER;
- }
- }
- case 120: break;
- case 78:
- { return RegExpTT.HEX_CHAR;
- }
- case 121: break;
- case 1:
- { handleOptions(); return RegExpTT.OPTIONS_ON;
- }
- case 122: break;
- case 44:
- { if (yystate() == CLASS2) return RegExpTT.ESC_CHARACTER;
+ }
+ case 123: break;
+ case 43:
+ { return RegExpTT.REDUNDANT_ESCAPE;
+ }
+ case 124: break;
+ case 44:
+ { if (yystate() == CLASS2) return RegExpTT.ESC_CHARACTER;
while (yylength() > 2 && Integer.parseInt(yytext().toString().substring(1)) > capturingGroupCount) {
yypushback(1);
}
return RegExpTT.BACKREF;
- }
- case 123: break;
- case 62:
- { yybegin(CLASS2); return RegExpTT.BRACKET_EXPRESSION_END;
- }
- case 124: break;
- case 2:
- { yypopstate(); return RegExpTT.COMMENT;
- }
- case 125: break;
- case 17:
- { return RegExpTT.MINUS;
- }
- case 126: break;
- case 48:
- { return RegExpTT.ESC_CTRL_CHARACTER;
- }
- case 127: break;
- case 32:
- { yypopstate(); yypushstate(EMBRACED); return RegExpTT.LBRACE;
- }
- case 128: break;
- case 13:
- { return RegExpTT.QUEST;
- }
- case 129: break;
- case 74:
- { yybegin(NAMED_GROUP); capturingGroupCount++; return RegExpTT.PYTHON_NAMED_GROUP;
- }
- case 130: break;
- case 5:
- { capturingGroupCount++; return RegExpTT.GROUP_BEGIN;
- }
- case 131: break;
- case 15:
- { return RegExpTT.PLUS;
- }
- case 132: break;
- case 70:
- { return RegExpTT.OCT_CHAR;
- }
- case 133: break;
- case 39:
- { yybegin(YYINITIAL); return RegExpTT.QUOTE;
- }
- case 134: break;
- case 31:
- { yypopstate(); yypushback(1);
- }
- case 135: break;
- case 27:
- { yybegin(CLASS1); return RegExpTT.CARET;
- }
- case 136: break;
- case 58:
- // lookahead expression with fixed base length
- zzMarkedPos = zzStartRead + 1;
- { if (allowNestedCharacterClasses) {
+ }
+ case 125: break;
+ case 45:
+ { return (allowOctalNoLeadingZero ? RegExpTT.OCT_CHAR : RegExpTT.BAD_OCT_VALUE);
+ }
+ case 126: break;
+ case 46:
+ { return RegExpTT.ESC_CHARACTER;
+ }
+ case 127: break;
+ case 47:
+ { return commentMode ? RegExpTT.CHARACTER : RegExpTT.REDUNDANT_ESCAPE;
+ }
+ case 128: break;
+ case 48:
+ { return RegExpTT.ESC_CTRL_CHARACTER;
+ }
+ case 129: break;
+ case 49:
+ { return yystate() != CLASS2 ? RegExpTT.BOUNDARY : RegExpTT.ESC_CHARACTER;
+ }
+ case 130: break;
+ case 50:
+ { return RegExpTT.CHAR_CLASS;
+ }
+ case 131: break;
+ case 51:
+ { if (xmlSchemaMode) return RegExpTT.CHAR_CLASS; else return StringEscapesTokenTypes.INVALID_CHARACTER_ESCAPE_TOKEN;
+ }
+ case 132: break;
+ case 52:
+ { yypushstate(PROP); return RegExpTT.PROPERTY;
+ }
+ case 133: break;
+ case 53:
+ { yypushstate(QUOTED); return RegExpTT.QUOTE_BEGIN;
+ }
+ case 134: break;
+ case 54:
+ { return RegExpTT.BAD_HEX_VALUE;
+ }
+ case 135: break;
+ case 55:
+ { return StringEscapesTokenTypes.INVALID_UNICODE_ESCAPE_TOKEN;
+ }
+ case 136: break;
+ case 56:
+ { return (allowHexDigitClass || allowHorizontalWhitespaceClass ? RegExpTT.CHAR_CLASS : StringEscapesTokenTypes.INVALID_CHARACTER_ESCAPE_TOKEN);
+ }
+ case 137: break;
+ case 57:
+ { yypopstate(); return RegExpTT.QUOTE_END;
+ }
+ case 138: break;
+ case 58:
+ // lookahead expression with fixed base length
+ zzMarkedPos = Character.offsetByCodePoints
+ (zzBufferL/*, zzStartRead, zzEndRead - zzStartRead*/, zzStartRead, 1);
+ { if (allowNestedCharacterClasses) {
yypushstate(CLASS1);
return RegExpTT.CLASS_BEGIN;
}
return RegExpTT.CHARACTER;
- }
- case 137: break;
- case 59:
- { if (allowPosixBracketExpressions) {
+ }
+ case 139: break;
+ case 59:
+ { if (allowPosixBracketExpressions) {
yybegin(BRACKET_EXPRESSION);
return RegExpTT.BRACKET_EXPRESSION_BEGIN;
} else {
yypushback(1);
return RegExpTT.CHARACTER;
}
- }
- case 138: break;
- case 60:
- { if (!allowNestedCharacterClasses) return RegExpTT.CHARACTER;
+ }
+ case 140: break;
+ case 60:
+ { if (!allowNestedCharacterClasses) return RegExpTT.CHARACTER;
return RegExpTT.REDUNDANT_ESCAPE;
- }
- case 139: break;
- case 38:
- { yybegin(YYINITIAL); return RegExpTT.GT;
- }
- case 140: break;
- case 75:
- { yybegin(PY_NAMED_GROUP_REF); return RegExpTT.PYTHON_NAMED_GROUP_REF;
- }
- case 141: break;
- case 16:
- { return RegExpTT.UNION;
- }
- case 142: break;
- case 3:
- { return RegExpTT.CHARACTER;
- }
- case 143: break;
- case 41:
- { yybegin(OPTIONS); return RegExpTT.SET_OPTIONS;
- }
- case 144: break;
- case 26:
- { yybegin(CLASS2); return RegExpTT.CHARACTER;
- }
- case 145: break;
- case 71:
- { if (xmlSchemaMode) { yypushback(1); return RegExpTT.CHAR_CLASS; } else return RegExpTT.CTRL;
- }
- case 146: break;
- case 30:
- { return commentMode ? com.intellij.psi.TokenType.WHITE_SPACE : RegExpTT.ESC_CHARACTER;
- }
- case 147: break;
- case 12:
- { return RegExpTT.DOLLAR;
- }
- case 148: break;
- case 61:
- { if (allowNestedCharacterClasses) return RegExpTT.ANDAND; else yypushback(1); return RegExpTT.CHARACTER;
- }
- case 149: break;
- case 51:
- { if (xmlSchemaMode) return RegExpTT.CHAR_CLASS; else return StringEscapesTokenTypes.INVALID_CHARACTER_ESCAPE_TOKEN;
- }
- case 150: break;
- case 43:
- { return RegExpTT.REDUNDANT_ESCAPE;
- }
- case 151: break;
- case 56:
- { return (allowHexDigitClass || allowHorizontalWhitespaceClass ? RegExpTT.CHAR_CLASS : StringEscapesTokenTypes.INVALID_CHARACTER_ESCAPE_TOKEN);
- }
- case 152: break;
- case 49:
- { return yystate() != CLASS2 ? RegExpTT.BOUNDARY : RegExpTT.ESC_CHARACTER;
- }
- case 153: break;
- case 22:
- { yypopstate(); return RegExpTT.RBRACE;
- }
- case 154: break;
- case 69:
- // lookahead expression with fixed base length
- zzMarkedPos = zzStartRead + 1;
- { if (allowEmptyCharacterClass) yypushstate(CLASS2); else yypushstate(NEGATE_CLASS1);
+ }
+ case 141: break;
+ case 61:
+ { if (allowNestedCharacterClasses) return RegExpTT.ANDAND; else yypushback(1); return RegExpTT.CHARACTER;
+ }
+ case 142: break;
+ case 62:
+ { yybegin(CLASS2); return RegExpTT.BRACKET_EXPRESSION_END;
+ }
+ case 143: break;
+ case 63:
+ { yybegin(PY_COND_REF); return RegExpTT.PYTHON_COND_REF;
+ }
+ case 144: break;
+ case 64:
+ { yybegin(NAMED_GROUP); capturingGroupCount++; return RegExpTT.RUBY_NAMED_GROUP;
+ }
+ case 145: break;
+ case 65:
+ { yybegin(QUOTED_NAMED_GROUP); capturingGroupCount++; return RegExpTT.RUBY_QUOTED_NAMED_GROUP;
+ }
+ case 146: break;
+ case 66:
+ { return RegExpTT.NON_CAPT_GROUP;
+ }
+ case 147: break;
+ case 67:
+ { return RegExpTT.POS_LOOKAHEAD;
+ }
+ case 148: break;
+ case 68:
+ { return RegExpTT.NEG_LOOKAHEAD;
+ }
+ case 149: break;
+ case 69:
+ // lookahead expression with fixed base length
+ zzMarkedPos = Character.offsetByCodePoints
+ (zzBufferL/*, zzStartRead, zzEndRead - zzStartRead*/, zzStartRead, 1);
+ { if (allowEmptyCharacterClass) yypushstate(CLASS2); else yypushstate(NEGATE_CLASS1);
return RegExpTT.CLASS_BEGIN;
- }
- case 155: break;
- case 64:
- { yybegin(NAMED_GROUP); capturingGroupCount++; return RegExpTT.RUBY_NAMED_GROUP;
- }
- case 156: break;
- case 55:
- { return StringEscapesTokenTypes.INVALID_UNICODE_ESCAPE_TOKEN;
- }
- case 157: break;
- case 54:
- { return RegExpTT.BAD_HEX_VALUE;
- }
- case 158: break;
- case 9:
- { return StringEscapesTokenTypes.INVALID_CHARACTER_ESCAPE_TOKEN;
- }
- case 159: break;
- case 11:
- { return RegExpTT.CARET;
- }
- case 160: break;
- case 46:
- { return RegExpTT.ESC_CHARACTER;
- }
- case 161: break;
- case 79:
- { if (allowOctalNoLeadingZero) return RegExpTT.OCT_CHAR;
+ }
+ case 150: break;
+ case 70:
+ { return RegExpTT.OCT_CHAR;
+ }
+ case 151: break;
+ case 71:
+ { if (xmlSchemaMode) { yypushback(1); return RegExpTT.CHAR_CLASS; } else return RegExpTT.CTRL;
+ }
+ case 152: break;
+ case 72:
+ { yybegin(NAMED_GROUP); return RegExpTT.RUBY_NAMED_GROUP_REF;
+ }
+ case 153: break;
+ case 73:
+ { yybegin(QUOTED_NAMED_GROUP); return RegExpTT.RUBY_QUOTED_NAMED_GROUP_REF;
+ }
+ case 154: break;
+ case 74:
+ { yybegin(NAMED_GROUP); capturingGroupCount++; return RegExpTT.PYTHON_NAMED_GROUP;
+ }
+ case 155: break;
+ case 75:
+ { yybegin(PY_NAMED_GROUP_REF); return RegExpTT.PYTHON_NAMED_GROUP_REF;
+ }
+ case 156: break;
+ case 76:
+ { return RegExpTT.POS_LOOKBEHIND;
+ }
+ case 157: break;
+ case 77:
+ { return RegExpTT.NEG_LOOKBEHIND;
+ }
+ case 158: break;
+ case 78:
+ { return RegExpTT.HEX_CHAR;
+ }
+ case 159: break;
+ case 79:
+ { if (allowOctalNoLeadingZero) return RegExpTT.OCT_CHAR;
if (yystate() == CLASS2) return RegExpTT.ESC_CHARACTER;
while (yylength() > 2 && Integer.parseInt(yytext().toString().substring(1)) > capturingGroupCount) {
yypushback(1);
}
return RegExpTT.BACKREF;
- }
- case 162: break;
- default:
- if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
- zzAtEOF = true;
- zzDoEOF();
- return null;
- }
- else {
+ }
+ case 160: break;
+ case 80:
+ { return RegExpTT.COMMENT;
+ }
+ case 161: break;
+ case 81:
+ { return RegExpTT.UNICODE_CHAR;
+ }
+ case 162: break;
+ default:
zzScanError(ZZ_NO_MATCH);
}
}
--- /dev/null
+/*
+ * Copyright 2000-2016 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import java.util.regex.Pattern
+
+target('default': 'Downloads custom JRE build from Teamcity server') {
+ def buildId = new URL("$jreTeamcityUrl/buildTypes/id:$jreBuildTypeId/builds/tags:$jreBuildTag/id").text
+ def buildNumber = new URL("$jreTeamcityUrl/builds/id:$buildId/number").text
+ java(jvm: "$workIdeaHome/jre/jre/bin/java", fork: "true", classname: "dummy", outputproperty: "jvmVersionOutput") {
+ jvmarg(value: "-version")
+ }
+ if (hasProperty("jvmVersionOutput") &&
+ jvmVersionOutput =~ /\(build .*release-b${Pattern.quote(buildNumber)}\)/ &&
+ jvmVersionOutput =~ (jreArchitecture == "64" ? /OpenJDK 64-Bit Server VM/ : /OpenJDK Server VM/)) {
+ echo "Latest version of custom JRE is installed, no update is required"
+ return
+ }
+ def files = new XmlSlurper().parse("$jreTeamcityUrl/builds/id:$buildId/artifacts/children/$jreArtifactPlatform")
+ def artifact = files.children().collect { it.@name.text() }.find {
+ it.startsWith(jreArtifactPrefix) && it.endsWith(jreArchitecture == "64" ? "_x64.tar.gz" : "_x86.tar.gz")
+ }
+ get src: "$jreTeamcityUrl/builds/id:$buildId/artifacts/content/$jreArtifactPlatform/$artifact", dest: deployDir
+ mkdir dir: "$deployDir/jre"
+ untar src: "$deployDir/$artifact", dest: "$deployDir/jre", compression: "gzip"
+ delete file: "$deployDir/$artifact"
+}
\ No newline at end of file
final VirtualFile[] files = library.getFiles(OrderRootType.CLASSES);
final List<PackagingElement<?>> elements = new ArrayList<PackagingElement<?>>();
for (VirtualFile file : files) {
- final String path = FileUtil.toSystemIndependentName(PathUtil.getLocalPath(file));
- elements.add(file.isDirectory() && file.isInLocalFileSystem() ? new DirectoryCopyPackagingElement(path) : new FileCopyPackagingElement(path));
+ String localPath = PathUtil.getLocalPath(file);
+ if (localPath != null) {
+ final String path = FileUtil.toSystemIndependentName(localPath);
+ elements.add(file.isDirectory() && file.isInLocalFileSystem() ? new DirectoryCopyPackagingElement(path) : new FileCopyPackagingElement(path));
+ }
}
return elements;
}
LOG.error("State is invalid " + myState.get());
}
DebuggerManagerThreadImpl.assertIsManagerThread();
- myPositionManager = createPositionManager();
+ if (myPositionManager == null) { // no need to reset on reattach
+ myPositionManager = createPositionManager();
+ }
LOG.debug("*******************VM attached******************");
checkVirtualMachineVersion(vm);
HighlightInfo info = HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(infoElement).description(description).escapedToolTip(toolTip).navigationShift(+1).create();
if (info != null) {
- registerFixesOnInvalidConstructorCall(constructorCall, classReference, list, aClass, constructors, results, infoElement, info);
+ JavaResolveResult[] methodCandidates = results;
+ if (constructorCall instanceof PsiNewExpression) {
+ methodCandidates = resolveHelper.getReferencedMethodCandidates((PsiCallExpression)constructorCall, true);
+ }
+ registerFixesOnInvalidConstructorCall(constructorCall, classReference, list, aClass, constructors, methodCandidates, infoElement, info);
registerMethodReturnFixAction(info, result, constructorCall);
holder.add(info);
}
-/* The following code was generated by JFlex 1.4.3 on 4/26/14 2:08 PM */
+/* The following code was generated by JFlex 1.7.0-SNAPSHOT tweaked for IntelliJ platform */
/*
* Copyright 2000-2013 JetBrains s.r.o.
/**
* This class is a scanner generated by
- * <a href="http://www.jflex.de/">JFlex</a> 1.4.3
- * on 4/26/14 2:08 PM from the specification file
- * <tt>/Users/ignatov/src/ultimate/tools/lexer/../../community/java/java-impl/src/com/intellij/spi/parsing/_SPILexer.flex</tt>
+ * <a href="http://www.jflex.de/">JFlex</a> 1.7.0-SNAPSHOT
+ * from the specification file <tt>/ideadev/tools/lexer/../../community/java/java-impl/src/com/intellij/spi/parsing/_SPILexer.flex</tt>
*/
class _SPILexer implements FlexLexer {
+
+ /** 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;
* Translates characters to character classes
*/
private static final String ZZ_CMAP_PACKED =
- "\11\0\1\1\1\5\1\0\1\1\1\5\22\0\1\1\2\0\1\4"+
+ "\11\0\1\1\1\5\1\10\1\1\1\5\22\0\1\1\2\0\1\4"+
"\1\6\11\0\1\7\1\0\12\3\7\0\32\2\4\0\1\2\1\0"+
- "\32\2\57\0\1\2\12\0\1\2\4\0\1\2\5\0\27\2\1\0"+
- "\37\2\1\0\u013f\2\31\0\162\2\4\0\14\2\16\0\5\2\11\0"+
- "\1\2\213\0\1\2\13\0\1\2\1\0\3\2\1\0\1\2\1\0"+
- "\24\2\1\0\54\2\1\0\46\2\1\0\5\2\4\0\202\2\10\0"+
- "\105\2\1\0\46\2\2\0\2\2\6\0\20\2\41\0\46\2\2\0"+
- "\1\2\7\0\47\2\110\0\33\2\5\0\3\2\56\0\32\2\5\0"+
- "\13\2\25\0\12\3\4\0\2\2\1\0\143\2\1\0\1\2\17\0"+
- "\2\2\7\0\2\2\12\3\3\2\2\0\1\2\20\0\1\2\1\0"+
- "\36\2\35\0\3\2\60\0\46\2\13\0\1\2\u0152\0\66\2\3\0"+
- "\1\2\22\0\1\2\7\0\12\2\4\0\12\3\25\0\10\2\2\0"+
- "\2\2\2\0\26\2\1\0\7\2\1\0\1\2\3\0\4\2\3\0"+
- "\1\2\36\0\2\2\1\0\3\2\4\0\12\3\2\2\23\0\6\2"+
- "\4\0\2\2\2\0\26\2\1\0\7\2\1\0\2\2\1\0\2\2"+
- "\1\0\2\2\37\0\4\2\1\0\1\2\7\0\12\3\2\0\3\2"+
- "\20\0\11\2\1\0\3\2\1\0\26\2\1\0\7\2\1\0\2\2"+
- "\1\0\5\2\3\0\1\2\22\0\1\2\17\0\2\2\4\0\12\3"+
- "\25\0\10\2\2\0\2\2\2\0\26\2\1\0\7\2\1\0\2\2"+
- "\1\0\5\2\3\0\1\2\36\0\2\2\1\0\3\2\4\0\12\3"+
- "\1\0\1\2\21\0\1\2\1\0\6\2\3\0\3\2\1\0\4\2"+
- "\3\0\2\2\1\0\1\2\1\0\2\2\3\0\2\2\3\0\3\2"+
- "\3\0\10\2\1\0\3\2\55\0\11\3\25\0\10\2\1\0\3\2"+
- "\1\0\27\2\1\0\12\2\1\0\5\2\46\0\2\2\4\0\12\3"+
- "\25\0\10\2\1\0\3\2\1\0\27\2\1\0\12\2\1\0\5\2"+
- "\3\0\1\2\40\0\1\2\1\0\2\2\4\0\12\3\25\0\10\2"+
- "\1\0\3\2\1\0\27\2\1\0\20\2\46\0\2\2\4\0\12\3"+
- "\25\0\22\2\3\0\30\2\1\0\11\2\1\0\1\2\2\0\7\2"+
- "\72\0\60\2\1\0\2\2\14\0\7\2\11\0\12\3\47\0\2\2"+
- "\1\0\1\2\2\0\2\2\1\0\1\2\2\0\1\2\6\0\4\2"+
- "\1\0\7\2\1\0\3\2\1\0\1\2\1\0\1\2\2\0\2\2"+
- "\1\0\4\2\1\0\2\2\11\0\1\2\2\0\5\2\1\0\1\2"+
- "\11\0\12\3\2\0\2\2\42\0\1\2\37\0\12\3\26\0\10\2"+
- "\1\0\42\2\35\0\4\2\164\0\42\2\1\0\5\2\1\0\2\2"+
- "\25\0\12\3\6\0\6\2\112\0\46\2\12\0\51\2\7\0\132\2"+
- "\5\0\104\2\5\0\122\2\6\0\7\2\1\0\77\2\1\0\1\2"+
- "\1\0\4\2\2\0\7\2\1\0\1\2\1\0\4\2\2\0\47\2"+
- "\1\0\1\2\1\0\4\2\2\0\37\2\1\0\1\2\1\0\4\2"+
- "\2\0\7\2\1\0\1\2\1\0\4\2\2\0\7\2\1\0\7\2"+
- "\1\0\27\2\1\0\37\2\1\0\1\2\1\0\4\2\2\0\7\2"+
- "\1\0\47\2\1\0\23\2\16\0\11\3\56\0\125\2\14\0\u026c\2"+
- "\2\0\10\2\12\0\32\2\5\0\113\2\25\0\15\2\1\0\4\2"+
- "\16\0\22\2\16\0\22\2\16\0\15\2\1\0\3\2\17\0\64\2"+
- "\43\0\1\2\4\0\1\2\3\0\12\3\46\0\12\3\6\0\130\2"+
- "\10\0\51\2\127\0\35\2\51\0\12\3\36\2\2\0\5\2\u038b\0"+
- "\154\2\224\0\234\2\4\0\132\2\6\0\26\2\2\0\6\2\2\0"+
- "\46\2\2\0\6\2\2\0\10\2\1\0\1\2\1\0\1\2\1\0"+
- "\1\2\1\0\37\2\2\0\65\2\1\0\7\2\1\0\1\2\3\0"+
- "\3\2\1\0\7\2\3\0\4\2\2\0\6\2\4\0\15\2\5\0"+
- "\3\2\1\0\7\2\164\0\1\2\15\0\1\2\202\0\1\2\4\0"+
- "\1\2\2\0\12\2\1\0\1\2\3\0\5\2\6\0\1\2\1\0"+
- "\1\2\1\0\1\2\1\0\4\2\1\0\3\2\1\0\7\2\3\0"+
- "\3\2\5\0\5\2\u0ebb\0\2\2\52\0\5\2\5\0\2\2\4\0"+
- "\126\2\6\0\3\2\1\0\132\2\1\0\4\2\5\0\50\2\4\0"+
- "\136\2\21\0\30\2\70\0\20\2\u0200\0\u19b6\2\112\0\u51a6\2\132\0"+
- "\u048d\2\u0773\0\u2ba4\2\u215c\0\u012e\2\2\0\73\2\225\0\7\2\14\0"+
- "\5\2\5\0\1\2\1\0\12\2\1\0\15\2\1\0\5\2\1\0"+
- "\1\2\1\0\2\2\1\0\2\2\1\0\154\2\41\0\u016b\2\22\0"+
- "\100\2\2\0\66\2\50\0\14\2\164\0\5\2\1\0\207\2\23\0"+
- "\12\3\7\0\32\2\6\0\32\2\13\0\131\2\3\0\6\2\2\0"+
- "\6\2\2\0\6\2\2\0\3\2\43\0";
+ "\32\2\12\0\1\10\44\0\1\2\12\0\1\2\4\0\1\2\5\0"+
+ "\27\2\1\0\37\2\1\0\u01ca\2\4\0\14\2\16\0\5\2\7\0"+
+ "\1\2\1\0\1\2\201\0\5\2\1\0\2\2\2\0\4\2\1\0"+
+ "\1\2\6\0\1\2\1\0\3\2\1\0\1\2\1\0\24\2\1\0"+
+ "\123\2\1\0\213\2\10\0\246\2\1\0\46\2\2\0\1\2\7\0"+
+ "\47\2\110\0\33\2\5\0\3\2\55\0\53\2\25\0\12\3\4\0"+
+ "\2\2\1\0\143\2\1\0\1\2\17\0\2\2\7\0\2\2\12\3"+
+ "\3\2\2\0\1\2\20\0\1\2\1\0\36\2\35\0\131\2\13\0"+
+ "\1\2\16\0\12\3\41\2\11\0\2\2\4\0\1\2\5\0\26\2"+
+ "\4\0\1\2\11\0\1\2\3\0\1\2\27\0\31\2\107\0\25\2"+
+ "\117\0\66\2\3\0\1\2\22\0\1\2\7\0\12\2\4\0\12\3"+
+ "\1\0\20\2\4\0\10\2\2\0\2\2\2\0\26\2\1\0\7\2"+
+ "\1\0\1\2\3\0\4\2\3\0\1\2\20\0\1\2\15\0\2\2"+
+ "\1\0\3\2\4\0\12\3\2\2\23\0\6\2\4\0\2\2\2\0"+
+ "\26\2\1\0\7\2\1\0\2\2\1\0\2\2\1\0\2\2\37\0"+
+ "\4\2\1\0\1\2\7\0\12\3\2\0\3\2\20\0\11\2\1\0"+
+ "\3\2\1\0\26\2\1\0\7\2\1\0\2\2\1\0\5\2\3\0"+
+ "\1\2\22\0\1\2\17\0\2\2\4\0\12\3\11\0\1\2\13\0"+
+ "\10\2\2\0\2\2\2\0\26\2\1\0\7\2\1\0\2\2\1\0"+
+ "\5\2\3\0\1\2\36\0\2\2\1\0\3\2\4\0\12\3\1\0"+
+ "\1\2\21\0\1\2\1\0\6\2\3\0\3\2\1\0\4\2\3\0"+
+ "\2\2\1\0\1\2\1\0\2\2\3\0\2\2\3\0\3\2\3\0"+
+ "\14\2\26\0\1\2\25\0\12\3\25\0\10\2\1\0\3\2\1\0"+
+ "\27\2\1\0\20\2\3\0\1\2\32\0\3\2\5\0\2\2\4\0"+
+ "\12\3\25\0\10\2\1\0\3\2\1\0\27\2\1\0\12\2\1\0"+
+ "\5\2\3\0\1\2\40\0\1\2\1\0\2\2\4\0\12\3\1\0"+
+ "\2\2\22\0\10\2\1\0\3\2\1\0\51\2\2\0\1\2\20\0"+
+ "\1\2\20\0\3\2\4\0\12\3\12\0\6\2\5\0\22\2\3\0"+
+ "\30\2\1\0\11\2\1\0\1\2\2\0\7\2\37\0\12\3\21\0"+
+ "\60\2\1\0\2\2\14\0\7\2\11\0\12\3\47\0\2\2\1\0"+
+ "\1\2\2\0\2\2\1\0\1\2\2\0\1\2\6\0\4\2\1\0"+
+ "\7\2\1\0\3\2\1\0\1\2\1\0\1\2\2\0\2\2\1\0"+
+ "\4\2\1\0\2\2\11\0\1\2\2\0\5\2\1\0\1\2\11\0"+
+ "\12\3\2\0\4\2\40\0\1\2\37\0\12\3\26\0\10\2\1\0"+
+ "\44\2\33\0\5\2\163\0\53\2\24\0\1\2\12\3\6\0\6\2"+
+ "\4\0\4\2\3\0\1\2\3\0\2\2\7\0\3\2\4\0\15\2"+
+ "\14\0\1\2\1\0\12\3\6\0\46\2\1\0\1\2\5\0\1\2"+
+ "\2\0\53\2\1\0\u014d\2\1\0\4\2\2\0\7\2\1\0\1\2"+
+ "\1\0\4\2\2\0\51\2\1\0\4\2\2\0\41\2\1\0\4\2"+
+ "\2\0\7\2\1\0\1\2\1\0\4\2\2\0\17\2\1\0\71\2"+
+ "\1\0\4\2\2\0\103\2\45\0\20\2\20\0\126\2\2\0\6\2"+
+ "\3\0\u026c\2\2\0\21\2\1\0\32\2\5\0\113\2\6\0\10\2"+
+ "\7\0\15\2\1\0\4\2\16\0\22\2\16\0\22\2\16\0\15\2"+
+ "\1\0\3\2\17\0\64\2\43\0\1\2\4\0\1\2\3\0\12\3"+
+ "\46\0\12\3\6\0\130\2\10\0\51\2\1\0\1\2\5\0\106\2"+
+ "\12\0\37\2\47\0\12\3\36\2\2\0\5\2\13\0\54\2\4\0"+
+ "\32\2\6\0\12\3\46\0\27\2\11\0\65\2\53\0\12\3\6\0"+
+ "\12\3\15\0\1\2\135\0\57\2\21\0\7\2\4\0\12\3\51\0"+
+ "\36\2\15\0\2\2\12\3\54\2\32\0\44\2\34\0\12\3\3\0"+
+ "\3\2\12\3\44\2\153\0\4\2\1\0\4\2\3\0\2\2\11\0"+
+ "\300\2\100\0\u0116\2\2\0\6\2\2\0\46\2\2\0\6\2\2\0"+
+ "\10\2\1\0\1\2\1\0\1\2\1\0\1\2\1\0\37\2\2\0"+
+ "\65\2\1\0\7\2\1\0\1\2\3\0\3\2\1\0\7\2\3\0"+
+ "\4\2\2\0\6\2\4\0\15\2\5\0\3\2\1\0\7\2\53\0"+
+ "\1\10\1\10\107\0\1\2\15\0\1\2\20\0\15\2\145\0\1\2"+
+ "\4\0\1\2\2\0\12\2\1\0\1\2\3\0\5\2\6\0\1\2"+
+ "\1\0\1\2\1\0\1\2\1\0\4\2\1\0\13\2\2\0\4\2"+
+ "\5\0\5\2\4\0\1\2\64\0\2\2\u0a7b\0\57\2\1\0\57\2"+
+ "\1\0\205\2\6\0\4\2\3\0\2\2\14\0\46\2\1\0\1\2"+
+ "\5\0\1\2\2\0\70\2\7\0\1\2\20\0\27\2\11\0\7\2"+
+ "\1\0\7\2\1\0\7\2\1\0\7\2\1\0\7\2\1\0\7\2"+
+ "\1\0\7\2\1\0\7\2\120\0\1\2\u01d5\0\2\2\52\0\5\2"+
+ "\5\0\2\2\4\0\126\2\6\0\3\2\1\0\132\2\1\0\4\2"+
+ "\5\0\51\2\3\0\136\2\21\0\33\2\65\0\20\2\u0200\0\u19b6\2"+
+ "\112\0\u51d6\2\52\0\u048d\2\103\0\56\2\2\0\u010d\2\3\0\20\2"+
+ "\12\3\2\2\24\0\57\2\20\0\37\2\2\0\106\2\61\0\11\2"+
+ "\2\0\147\2\2\0\43\2\2\0\10\2\77\0\13\2\1\0\3\2"+
+ "\1\0\4\2\1\0\27\2\35\0\64\2\16\0\62\2\34\0\12\3"+
+ "\30\0\6\2\3\0\1\2\1\0\1\2\2\0\12\3\34\2\12\0"+
+ "\27\2\31\0\35\2\7\0\57\2\34\0\1\2\12\3\6\0\5\2"+
+ "\1\0\12\2\12\3\5\2\1\0\51\2\27\0\3\2\1\0\10\2"+
+ "\4\0\12\3\6\0\27\2\3\0\1\2\3\0\62\2\1\0\1\2"+
+ "\3\0\2\2\2\0\5\2\2\0\1\2\1\0\1\2\30\0\3\2"+
+ "\2\0\13\2\7\0\3\2\14\0\6\2\2\0\6\2\2\0\6\2"+
+ "\11\0\7\2\1\0\7\2\1\0\53\2\1\0\12\2\12\0\163\2"+
+ "\15\0\12\3\6\0\u2ba4\2\14\0\27\2\4\0\61\2\u2104\0\u016e\2"+
+ "\2\0\152\2\46\0\7\2\14\0\5\2\5\0\1\2\1\0\12\2"+
+ "\1\0\15\2\1\0\5\2\1\0\1\2\1\0\2\2\1\0\2\2"+
+ "\1\0\154\2\41\0\u016b\2\22\0\100\2\2\0\66\2\50\0\14\2"+
+ "\164\0\5\2\1\0\207\2\23\0\12\3\7\0\32\2\6\0\32\2"+
+ "\13\0\131\2\3\0\6\2\2\0\6\2\2\0\6\2\2\0\3\2"+
+ "\43\0\14\2\1\0\32\2\1\0\23\2\1\0\2\2\1\0\17\2"+
+ "\2\0\16\2\42\0\173\2\u0185\0\35\2\3\0\61\2\57\0\40\2"+
+ "\20\0\21\2\1\0\10\2\6\0\46\2\12\0\36\2\2\0\44\2"+
+ "\4\0\10\2\60\0\236\2\2\0\12\3\126\0\50\2\10\0\64\2"+
+ "\234\0\u0137\2\11\0\26\2\12\0\10\2\230\0\6\2\2\0\1\2"+
+ "\1\0\54\2\1\0\2\2\3\0\1\2\2\0\27\2\12\0\27\2"+
+ "\11\0\37\2\101\0\23\2\1\0\2\2\12\0\26\2\12\0\32\2"+
+ "\106\0\70\2\6\0\2\2\100\0\1\2\17\0\4\2\1\0\3\2"+
+ "\1\0\33\2\54\0\35\2\3\0\35\2\43\0\10\2\1\0\34\2"+
+ "\33\0\66\2\12\0\26\2\12\0\23\2\15\0\22\2\156\0\111\2"+
+ "\67\0\63\2\15\0\63\2\u0310\0\65\2\56\0\12\3\23\0\55\2"+
+ "\40\0\31\2\7\0\12\3\11\0\44\2\17\0\12\3\20\0\43\2"+
+ "\3\0\1\2\14\0\60\2\16\0\4\2\13\0\12\3\1\2\1\0"+
+ "\1\2\43\0\22\2\1\0\31\2\124\0\7\2\1\0\1\2\1\0"+
+ "\4\2\1\0\17\2\1\0\12\2\7\0\57\2\21\0\12\3\13\0"+
+ "\10\2\2\0\2\2\2\0\26\2\1\0\7\2\1\0\2\2\1\0"+
+ "\5\2\3\0\1\2\22\0\1\2\14\0\5\2\u011e\0\60\2\24\0"+
+ "\2\2\1\0\1\2\10\0\12\3\246\0\57\2\51\0\4\2\44\0"+
+ "\60\2\24\0\1\2\13\0\12\3\46\0\53\2\25\0\12\3\66\0"+
+ "\32\2\26\0\12\3\u0166\0\100\2\12\3\25\0\1\2\u01c0\0\71\2"+
+ "\u0507\0\u039a\2\346\0\304\2\u0abc\0\u042f\2\u0fd1\0\u0247\2\u21b9\0\u0239\2"+
+ "\7\0\37\2\1\0\12\3\146\0\36\2\22\0\60\2\20\0\4\2"+
+ "\14\0\12\3\11\0\25\2\5\0\23\2\u0370\0\105\2\13\0\1\2"+
+ "\102\0\15\2\u4060\0\2\2\u0bfe\0\153\2\5\0\15\2\3\0\11\2"+
+ "\7\0\12\2\u1766\0\125\2\1\0\107\2\1\0\2\2\2\0\1\2"+
+ "\2\0\2\2\2\0\4\2\1\0\14\2\1\0\1\2\1\0\7\2"+
+ "\1\0\101\2\1\0\4\2\2\0\10\2\1\0\7\2\1\0\34\2"+
+ "\1\0\4\2\1\0\5\2\1\0\1\2\3\0\7\2\1\0\u0154\2"+
+ "\2\0\31\2\1\0\31\2\1\0\37\2\1\0\31\2\1\0\37\2"+
+ "\1\0\31\2\1\0\37\2\1\0\31\2\1\0\37\2\1\0\31\2"+
+ "\1\0\10\2\2\0\62\3\u1000\0\305\2\u053b\0\4\2\1\0\33\2"+
+ "\1\0\2\2\1\0\1\2\2\0\1\2\1\0\12\2\1\0\4\2"+
+ "\1\0\1\2\1\0\1\2\6\0\1\2\4\0\1\2\1\0\1\2"+
+ "\1\0\1\2\1\0\3\2\1\0\2\2\1\0\1\2\2\0\1\2"+
+ "\1\0\1\2\1\0\1\2\1\0\1\2\1\0\1\2\1\0\2\2"+
+ "\1\0\1\2\2\0\4\2\1\0\7\2\1\0\4\2\1\0\4\2"+
+ "\1\0\1\2\1\0\12\2\1\0\21\2\5\0\3\2\1\0\5\2"+
+ "\1\0\21\2\u1144\0\ua6d7\2\51\0\u1035\2\13\0\336\2\2\0\u1682\2"+
+ "\u295e\0\u021e\2\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\u05f0\0";
/**
* Translates characters to character classes
private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
private static final String ZZ_ROWMAP_PACKED_0 =
- "\0\0\0\10\0\20\0\30\0\40\0\10\0\10";
+ "\0\0\0\11\0\22\0\33\0\44\0\11\0\11";
private static int [] zzUnpackRowMap() {
int [] result = new int[7];
private static final String ZZ_TRANS_PACKED_0 =
"\1\2\1\3\1\4\1\2\1\5\1\3\1\6\1\7"+
- "\11\0\1\3\3\0\1\3\4\0\2\4\4\0\5\5"+
- "\1\0\2\5";
+ "\13\0\1\3\3\0\1\3\5\0\2\4\5\0\5\5"+
+ "\1\0\3\5";
private static int [] zzUnpackTrans() {
- int [] result = new int[40];
+ int [] result = new int[45];
int offset = 0;
offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
return result;
private static final int ZZ_UNKNOWN_ERROR = 0;
private static final int ZZ_NO_MATCH = 1;
private static final int ZZ_PUSHBACK_2BIG = 2;
- private static final char[] EMPTY_BUFFER = new char[0];
- private static final int YYEOF = -1;
- private static java.io.Reader zzReader = null; // Fake
/* error messages for the codes above */
- private static final String ZZ_ERROR_MSG[] = {
- "Unkown internal scanner error",
+ private static final String[] ZZ_ERROR_MSG = {
+ "Unknown internal scanner error",
"Error: could not match input",
"Error: pushback value was too large"
};
return j;
}
+ /** the input device */
+ private java.io.Reader zzReader;
+
/** the current state of the DFA */
private int zzState;
this((java.io.Reader)null);
}
- public void goTo(int offset) {
- zzCurrentPos = zzMarkedPos = zzStartRead = offset;
- zzPushbackPos = 0;
- zzAtEOF = offset < zzEndRead;
- }
-
-
- _SPILexer(java.io.Reader in) {
- this.zzReader = in;
- }
/**
- * Creates a new scanner.
- * There is also java.io.Reader version of this constructor.
+ * Creates a new scanner
*
- * @param in the java.io.Inputstream to read input from.
+ * @param in the java.io.Reader to read input from.
*/
- _SPILexer(java.io.InputStream in) {
- this(new java.io.InputStreamReader(in));
+ _SPILexer(java.io.Reader in) {
+ this.zzReader = in;
}
+
/**
* Unpacks the compressed character translation table.
*
* @return the unpacked character translation table
*/
private static char [] zzUnpackCMap(String packed) {
- char [] map = new char[0x10000];
+ char [] map = new char[0x110000];
int i = 0; /* index in packed string */
int j = 0; /* index in unpacked array */
- while (i < 1212) {
+ while (i < 2454) {
int count = packed.charAt(i++);
char value = packed.charAt(i++);
do map[j++] = value; while (--count > 0);
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 = (zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++] : zzBufferL.charAt(zzCurrentPosL++));
+ if (zzCurrentPosL < zzEndReadL) {
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL/*, zzEndReadL*/);
+ zzCurrentPosL += Character.charCount(zzInput);
+ }
else if (zzAtEOF) {
zzInput = YYEOF;
break zzForAction;
break zzForAction;
}
else {
- zzInput = (zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++] : zzBufferL.charAt(zzCurrentPosL++));
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL/*, zzEndReadL*/);
+ zzCurrentPosL += Character.charCount(zzInput);
}
}
int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
if (zzNext == -1) break zzForAction;
zzState = zzNext;
- int zzAttributes = zzAttrL[zzState];
+ zzAttributes = zzAttrL[zzState];
if ( (zzAttributes & 1) == 1 ) {
zzAction = zzState;
zzMarkedPosL = zzCurrentPosL;
// store back cached position
zzMarkedPos = zzMarkedPosL;
- switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
- case 2:
- { return JavaTokenType.WHITE_SPACE;
- }
- case 7: break;
- case 3:
- { return SPITokenType.IDENTIFIER;
- }
- case 8: break;
- case 6:
- { return JavaTokenType.DOT;
- }
- case 9: break;
- case 5:
- { return SPITokenType.DOLLAR;
- }
- case 10: break;
- case 4:
- { return JavaTokenType.END_OF_LINE_COMMENT;
- }
- case 11: break;
- case 1:
- { return JavaTokenType.BAD_CHARACTER;
- }
- case 12: break;
- default:
- if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
- zzAtEOF = true;
- zzDoEOF();
- return null;
- }
- else {
+ if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
+ zzAtEOF = true;
+ zzDoEOF();
+ return null;
+ }
+ else {
+ switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
+ case 1:
+ { return JavaTokenType.BAD_CHARACTER;
+ }
+ case 7: break;
+ case 2:
+ { return JavaTokenType.WHITE_SPACE;
+ }
+ case 8: break;
+ case 3:
+ { return SPITokenType.IDENTIFIER;
+ }
+ case 9: break;
+ case 4:
+ { return JavaTokenType.END_OF_LINE_COMMENT;
+ }
+ case 10: break;
+ case 5:
+ { return SPITokenType.DOLLAR;
+ }
+ case 11: break;
+ case 6:
+ { return JavaTokenType.DOT;
+ }
+ case 12: break;
+ default:
zzScanError(ZZ_NO_MATCH);
}
}
public _SPILexer() {
this((java.io.Reader)null);
}
-
- public void goTo(int offset) {
- zzCurrentPos = zzMarkedPos = zzStartRead = offset;
- zzPushbackPos = 0;
- zzAtEOF = offset < zzEndRead;
- }
%}
%unicode
-/*
- * Copyright 2000-2015 JetBrains s.r.o.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* The following code was generated by JFlex 1.4.3 on 5/15/15 11:22 AM */
+/* The following code was generated by JFlex 1.7.0-SNAPSHOT tweaked for IntelliJ platform */
/* It's an automatically generated code. Do not modify it. */
package com.intellij.lang.java.lexer;
/**
* This class is a scanner generated by
- * <a href="http://www.jflex.de/">JFlex</a> 1.4.3
- * on 5/15/15 11:22 AM from the specification file
- * <tt>C:/ws/IDEA/tools/lexer/../../community/java/java-psi-impl/src/com/intellij/lang/java/lexer/_JavaDocLexer.flex</tt>
+ * <a href="http://www.jflex.de/">JFlex</a> 1.7.0-SNAPSHOT
+ * from the specification file <tt>/ideadev/tools/lexer/../../community/java/java-psi-impl/src/com/intellij/lang/java/lexer/_JavaDocLexer.flex</tt>
*/
class _JavaDocLexer implements FlexLexer {
+
+ /** This character denotes the end of file */
+ public static final int YYEOF = -1;
+
/** initial size of the lookahead buffer */
private static final int ZZ_BUFFERSIZE = 16384;
/** lexical states */
- public static final int CODE_TAG = 18;
- public static final int INLINE_TAG_NAME = 16;
- public static final int PARAM_TAG_SPACE = 8;
- public static final int COMMENT_DATA = 4;
- public static final int DOC_TAG_VALUE = 10;
- public static final int CODE_TAG_SPACE = 20;
+ public static final int YYINITIAL = 0;
public static final int COMMENT_DATA_START = 2;
+ public static final int COMMENT_DATA = 4;
public static final int TAG_DOC_SPACE = 6;
- public static final int YYINITIAL = 0;
+ public static final int PARAM_TAG_SPACE = 8;
+ public static final int DOC_TAG_VALUE = 10;
public static final int DOC_TAG_VALUE_IN_PAREN = 12;
public static final int DOC_TAG_VALUE_IN_LTGT = 14;
+ public static final int INLINE_TAG_NAME = 16;
+ public static final int CODE_TAG = 18;
+ public static final int CODE_TAG_SPACE = 20;
/**
* ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
* Translates characters to character classes
*/
private static final String ZZ_CMAP_PACKED =
- "\11\0\1\2\1\35\1\0\1\2\1\1\22\0\1\2\2\0\1\14"+
+ "\11\0\1\2\1\1\1\35\1\36\1\1\22\0\1\2\2\0\1\14"+
"\1\4\3\0\1\12\1\13\1\10\1\0\1\15\1\5\1\3\1\7"+
"\12\3\1\5\1\0\1\23\1\0\1\24\1\0\1\16\32\4\1\11"+
"\1\0\1\11\1\0\1\4\1\0\1\20\1\4\1\26\1\30\1\31"+
"\3\4\1\33\2\4\1\32\1\22\1\4\1\27\1\17\1\4\1\21"+
- "\1\4\1\34\6\4\1\25\1\0\1\6\44\0\4\4\4\0\1\4"+
- "\12\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\201\0\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\10\0\236\4\11\0\46\4"+
- "\2\0\1\4\7\0\47\4\7\0\1\4\100\0\33\4\5\0\3\4"+
- "\30\0\1\4\24\0\53\4\43\0\2\4\1\0\143\4\1\0\1\4"+
- "\17\0\2\4\7\0\2\4\12\0\3\4\2\0\1\4\20\0\1\4"+
- "\1\0\36\4\35\0\131\4\13\0\1\4\30\0\41\4\11\0\2\4"+
- "\4\0\1\4\5\0\26\4\4\0\1\4\11\0\1\4\3\0\1\4"+
- "\27\0\31\4\107\0\1\4\1\0\13\4\127\0\66\4\3\0\1\4"+
- "\22\0\1\4\7\0\12\4\17\0\7\4\1\0\7\4\5\0\10\4"+
- "\2\0\2\4\2\0\26\4\1\0\7\4\1\0\1\4\3\0\4\4"+
- "\3\0\1\4\20\0\1\4\15\0\2\4\1\0\3\4\16\0\4\4"+
- "\7\0\1\4\11\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\37\0\4\4\1\0\1\4"+
- "\23\0\3\4\20\0\11\4\1\0\3\4\1\0\26\4\1\0\7\4"+
- "\1\0\2\4\1\0\5\4\3\0\1\4\22\0\1\4\17\0\2\4"+
- "\17\0\1\4\23\0\10\4\2\0\2\4\2\0\26\4\1\0\7\4"+
- "\1\0\2\4\1\0\5\4\3\0\1\4\36\0\2\4\1\0\3\4"+
- "\17\0\1\4\21\0\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\26\0\1\4\50\0\1\4\13\0\10\4\1\0\3\4"+
- "\1\0\27\4\1\0\12\4\1\0\5\4\3\0\1\4\32\0\2\4"+
- "\6\0\2\4\43\0\10\4\1\0\3\4\1\0\27\4\1\0\12\4"+
- "\1\0\5\4\3\0\1\4\40\0\1\4\1\0\2\4\17\0\2\4"+
- "\22\0\10\4\1\0\3\4\1\0\51\4\2\0\1\4\20\0\1\4"+
- "\21\0\2\4\30\0\6\4\5\0\22\4\3\0\30\4\1\0\11\4"+
- "\1\0\1\4\2\0\7\4\72\0\60\4\1\0\2\4\13\0\10\4"+
- "\72\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\0\2\4\11\0\1\4\2\0\5\4"+
- "\1\0\1\4\25\0\4\4\40\0\1\4\77\0\10\4\1\0\44\4"+
- "\33\0\5\4\163\0\53\4\24\0\1\4\20\0\6\4\4\0\4\4"+
- "\3\0\1\4\3\0\2\4\7\0\3\4\4\0\15\4\14\0\1\4"+
- "\21\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"+
- "\45\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\16\0\22\4"+
- "\16\0\22\4\16\0\15\4\1\0\3\4\17\0\64\4\43\0\1\4"+
- "\3\0\2\4\103\0\130\4\10\0\51\4\1\0\1\4\5\0\106\4"+
- "\12\0\35\4\63\0\36\4\2\0\5\4\13\0\54\4\25\0\7\4"+
- "\70\0\27\4\11\0\65\4\122\0\1\4\135\0\57\4\21\0\7\4"+
- "\67\0\36\4\15\0\2\4\12\0\54\4\32\0\44\4\51\0\3\4"+
- "\12\0\44\4\153\0\4\4\1\0\4\4\3\0\2\4\11\0\300\4"+
- "\100\0\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\102\0\2\4"+
- "\23\0\1\4\34\0\1\4\15\0\1\4\20\0\15\4\3\0\33\4"+
- "\107\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\0\2\4\14\0\46\4"+
- "\1\0\1\4\5\0\1\4\2\0\70\4\7\0\1\4\20\0\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\120\0\1\4\u01d5\0\3\4"+
- "\31\0\11\4\7\0\5\4\2\0\5\4\4\0\126\4\6\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\0\2\4\24\0\57\4\20\0\31\4"+
- "\10\0\120\4\47\0\11\4\2\0\147\4\2\0\4\4\1\0\4\4"+
- "\14\0\13\4\115\0\12\4\1\0\3\4\1\0\4\4\1\0\27\4"+
- "\25\0\1\4\7\0\64\4\16\0\62\4\76\0\6\4\3\0\1\4"+
- "\16\0\34\4\12\0\27\4\31\0\35\4\7\0\57\4\34\0\1\4"+
- "\60\0\51\4\27\0\3\4\1\0\10\4\24\0\27\4\3\0\1\4"+
- "\5\0\60\4\1\0\1\4\3\0\2\4\2\0\5\4\2\0\1\4"+
- "\1\0\1\4\30\0\3\4\2\0\13\4\7\0\3\4\14\0\6\4"+
- "\2\0\6\4\2\0\6\4\11\0\7\4\1\0\7\4\221\0\43\4"+
- "\35\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\0\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\66\0\2\4"+
- "\30\0\3\4\31\0\1\4\6\0\5\4\1\0\207\4\7\0\1\4"+
- "\34\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"+
- "\31\0";
+ "\1\4\1\34\6\4\1\25\1\0\1\6\7\0\1\35\34\0\4\4"+
+ "\4\0\1\4\12\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"+
+ "\201\0\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\10\0\236\4"+
+ "\11\0\46\4\2\0\1\4\7\0\47\4\7\0\1\4\100\0\33\4"+
+ "\5\0\3\4\30\0\1\4\24\0\53\4\43\0\2\4\1\0\143\4"+
+ "\1\0\1\4\17\0\2\4\7\0\2\4\12\0\3\4\2\0\1\4"+
+ "\20\0\1\4\1\0\36\4\35\0\131\4\13\0\1\4\30\0\41\4"+
+ "\11\0\2\4\4\0\1\4\5\0\26\4\4\0\1\4\11\0\1\4"+
+ "\3\0\1\4\27\0\31\4\107\0\1\4\1\0\13\4\127\0\66\4"+
+ "\3\0\1\4\22\0\1\4\7\0\12\4\17\0\7\4\1\0\7\4"+
+ "\5\0\10\4\2\0\2\4\2\0\26\4\1\0\7\4\1\0\1\4"+
+ "\3\0\4\4\3\0\1\4\20\0\1\4\15\0\2\4\1\0\3\4"+
+ "\16\0\4\4\7\0\1\4\11\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\37\0\4\4"+
+ "\1\0\1\4\23\0\3\4\20\0\11\4\1\0\3\4\1\0\26\4"+
+ "\1\0\7\4\1\0\2\4\1\0\5\4\3\0\1\4\22\0\1\4"+
+ "\17\0\2\4\17\0\1\4\23\0\10\4\2\0\2\4\2\0\26\4"+
+ "\1\0\7\4\1\0\2\4\1\0\5\4\3\0\1\4\36\0\2\4"+
+ "\1\0\3\4\17\0\1\4\21\0\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\26\0\1\4\50\0\1\4\13\0\10\4"+
+ "\1\0\3\4\1\0\27\4\1\0\12\4\1\0\5\4\3\0\1\4"+
+ "\32\0\2\4\6\0\2\4\43\0\10\4\1\0\3\4\1\0\27\4"+
+ "\1\0\12\4\1\0\5\4\3\0\1\4\40\0\1\4\1\0\2\4"+
+ "\17\0\2\4\22\0\10\4\1\0\3\4\1\0\51\4\2\0\1\4"+
+ "\20\0\1\4\21\0\2\4\30\0\6\4\5\0\22\4\3\0\30\4"+
+ "\1\0\11\4\1\0\1\4\2\0\7\4\72\0\60\4\1\0\2\4"+
+ "\13\0\10\4\72\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\0\2\4\11\0\1\4"+
+ "\2\0\5\4\1\0\1\4\25\0\4\4\40\0\1\4\77\0\10\4"+
+ "\1\0\44\4\33\0\5\4\163\0\53\4\24\0\1\4\20\0\6\4"+
+ "\4\0\4\4\3\0\1\4\3\0\2\4\7\0\3\4\4\0\15\4"+
+ "\14\0\1\4\21\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\45\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"+
+ "\16\0\22\4\16\0\22\4\16\0\15\4\1\0\3\4\17\0\64\4"+
+ "\43\0\1\4\3\0\2\4\103\0\130\4\10\0\51\4\1\0\1\4"+
+ "\5\0\106\4\12\0\35\4\63\0\36\4\2\0\5\4\13\0\54\4"+
+ "\25\0\7\4\70\0\27\4\11\0\65\4\122\0\1\4\135\0\57\4"+
+ "\21\0\7\4\67\0\36\4\15\0\2\4\12\0\54\4\32\0\44\4"+
+ "\51\0\3\4\12\0\44\4\153\0\4\4\1\0\4\4\3\0\2\4"+
+ "\11\0\300\4\100\0\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"+
+ "\53\0\1\35\1\35\25\0\2\4\23\0\1\4\34\0\1\4\15\0"+
+ "\1\4\20\0\15\4\3\0\33\4\107\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\0\2\4\14\0\46\4\1\0\1\4\5\0\1\4\2\0"+
+ "\70\4\7\0\1\4\20\0\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\120\0\1\4\u01d5\0\3\4\31\0\11\4\7\0\5\4\2\0"+
+ "\5\4\4\0\126\4\6\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\0"+
+ "\2\4\24\0\57\4\20\0\31\4\10\0\120\4\47\0\11\4\2\0"+
+ "\147\4\2\0\4\4\1\0\4\4\14\0\13\4\115\0\12\4\1\0"+
+ "\3\4\1\0\4\4\1\0\27\4\25\0\1\4\7\0\64\4\16\0"+
+ "\62\4\76\0\6\4\3\0\1\4\16\0\34\4\12\0\27\4\31\0"+
+ "\35\4\7\0\57\4\34\0\1\4\60\0\51\4\27\0\3\4\1\0"+
+ "\10\4\24\0\27\4\3\0\1\4\5\0\60\4\1\0\1\4\3\0"+
+ "\2\4\2\0\5\4\2\0\1\4\1\0\1\4\30\0\3\4\2\0"+
+ "\13\4\7\0\3\4\14\0\6\4\2\0\6\4\2\0\6\4\11\0"+
+ "\7\4\1\0\7\4\221\0\43\4\35\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\0\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\66\0\2\4\30\0\3\4\31\0\1\4\6\0"+
+ "\5\4\1\0\207\4\7\0\1\4\34\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\31\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\u010b\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\u0362\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\17\0\4\4\1\0\3\4\1\0\33\4\54\0\35\4\203\0"+
+ "\66\4\12\0\26\4\12\0\23\4\215\0\111\4\u03ba\0\65\4\113\0"+
+ "\55\4\40\0\31\4\32\0\44\4\134\0\60\4\16\0\4\4\u04bb\0"+
+ "\53\4\u0955\0\u036f\4\221\0\143\4\u0b9d\0\u042f\4\u33d1\0\u0239\4\u04c7\0"+
+ "\105\4\13\0\1\4\102\0\15\4\u4060\0\2\4\u23fe\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\u1634\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\uffff\0\uffff\0\uffff\0\u05f0\0";
/**
* Translates characters to character classes
private static final String ZZ_ACTION_PACKED_0 =
"\13\0\3\1\1\2\1\3\1\4\2\2\1\5\1\6"+
"\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16"+
- "\1\17\1\12\1\20\1\1\3\21\1\22\1\0\1\23"+
- "\1\0\6\24\1\25\12\24\1\26\1\24\2\27\2\24";
+ "\1\17\1\12\1\20\1\1\1\21\1\22\2\21\1\0"+
+ "\1\23\1\0\6\24\1\25\12\24\1\26\1\24\2\27"+
+ "\2\24";
private static int [] zzUnpackAction() {
int [] result = new int[63];
private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
private static final String ZZ_ROWMAP_PACKED_0 =
- "\0\0\0\36\0\74\0\132\0\170\0\226\0\264\0\322"+
- "\0\360\0\u010e\0\u012c\0\u014a\0\u0168\0\u0186\0\u014a\0\u01a4"+
- "\0\u014a\0\u0186\0\u01c2\0\u014a\0\u01e0\0\u01fe\0\u021c\0\u023a"+
- "\0\u0258\0\u014a\0\u014a\0\u014a\0\u014a\0\u014a\0\u0276\0\u014a"+
- "\0\u0294\0\u014a\0\u02b2\0\u0186\0\u02b2\0\u02d0\0\u014a\0\u0186"+
- "\0\u02ee\0\u030c\0\u032a\0\u0348\0\u0366\0\u0384\0\u014a\0\u03a2"+
- "\0\u03c0\0\u03de\0\u03fc\0\u041a\0\u0438\0\u0456\0\u0474\0\u0492"+
- "\0\u04b0\0\u032a\0\u04ce\0\u02ee\0\u032a\0\u04ec\0\u050a";
+ "\0\0\0\37\0\76\0\135\0\174\0\233\0\272\0\331"+
+ "\0\370\0\u0117\0\u0136\0\u0155\0\u0174\0\u0193\0\u0155\0\u01b2"+
+ "\0\u0155\0\u0193\0\u01d1\0\u0155\0\u01f0\0\u020f\0\u022e\0\u024d"+
+ "\0\u026c\0\u0155\0\u0155\0\u0155\0\u0155\0\u0155\0\u028b\0\u0155"+
+ "\0\u02aa\0\u0155\0\u02c9\0\u02c9\0\u0193\0\u02e8\0\u0155\0\u0193"+
+ "\0\u0307\0\u0326\0\u0345\0\u0364\0\u0383\0\u03a2\0\u0155\0\u03c1"+
+ "\0\u03e0\0\u03ff\0\u041e\0\u043d\0\u045c\0\u047b\0\u049a\0\u04b9"+
+ "\0\u04d8\0\u0345\0\u04f7\0\u0307\0\u0345\0\u0516\0\u0535";
private static int [] zzUnpackRowMap() {
int [] result = new int[63];
private static final int [] ZZ_TRANS = zzUnpackTrans();
private static final String ZZ_TRANS_PACKED_0 =
- "\7\14\1\15\1\16\25\14\1\17\2\20\3\17\1\21"+
- "\1\17\1\22\5\17\1\23\6\17\1\24\7\17\1\20"+
- "\1\17\1\20\1\25\3\17\1\21\1\17\1\22\14\17"+
- "\1\24\7\17\1\20\1\14\2\26\3\14\1\21\1\14"+
- "\1\16\24\14\1\26\1\14\2\27\5\14\1\16\24\14"+
- "\1\27\1\17\2\30\2\31\1\17\1\21\1\17\1\22"+
- "\1\31\1\32\1\17\1\33\1\34\1\17\4\31\1\35"+
- "\2\17\7\31\1\30\1\14\2\20\2\31\3\14\1\16"+
- "\1\31\1\14\1\36\1\14\1\34\1\14\4\31\3\14"+
- "\7\31\1\20\4\14\1\37\3\14\1\16\6\14\4\37"+
- "\1\14\1\40\1\14\7\37\11\14\1\16\5\14\1\41"+
- "\17\14\1\42\2\43\3\42\1\21\1\42\1\44\14\42"+
- "\1\24\7\42\1\45\1\42\2\43\3\42\1\21\1\42"+
- "\1\44\24\42\1\45\46\0\1\46\34\0\1\47\1\50"+
- "\26\0\2\20\32\0\1\20\1\51\2\0\14\51\1\52"+
- "\15\51\3\0\1\25\34\0\2\26\32\0\1\26\1\0"+
- "\2\27\32\0\1\27\1\0\2\30\32\0\1\30\3\0"+
- "\2\31\4\0\1\31\5\0\4\31\3\0\7\31\4\0"+
- "\3\37\11\0\4\37\3\0\7\37\1\0\1\53\2\0"+
- "\3\53\1\0\10\53\1\54\6\53\1\55\3\53\1\56"+
- "\2\53\2\0\2\45\32\0\1\45\10\0\1\57\25\0"+
- "\1\51\2\0\32\51\1\0\1\51\2\0\15\51\1\60"+
- "\14\51\1\0\1\53\2\0\3\53\1\0\26\53\1\0"+
- "\1\53\2\0\3\53\1\0\11\53\1\61\14\53\1\0"+
- "\1\53\2\0\3\53\1\0\20\53\1\62\5\53\1\0"+
- "\1\53\2\0\3\53\1\0\24\53\1\63\1\53\1\0"+
- "\1\51\2\0\16\51\1\64\13\51\1\0\1\53\2\0"+
- "\3\53\1\0\12\53\1\65\13\53\1\0\1\53\2\0"+
- "\3\53\1\0\21\53\1\66\4\53\1\0\1\53\2\0"+
- "\3\53\1\0\25\53\1\67\1\0\1\51\2\0\15\51"+
- "\1\70\14\51\1\0\1\53\2\0\3\53\1\0\11\53"+
- "\1\71\14\53\1\0\1\53\2\0\3\53\1\0\22\53"+
- "\1\72\3\53\1\0\1\53\2\0\3\53\1\0\22\53"+
- "\1\73\3\53\1\0\1\51\2\0\17\51\1\74\12\51"+
- "\1\0\1\53\2\0\3\53\1\0\13\53\1\75\12\53"+
- "\1\0\1\53\2\0\3\53\1\0\12\53\1\76\13\53"+
- "\1\0\1\53\2\0\3\53\1\0\11\53\1\77\14\53"+
- "\1\0\1\53\2\0\3\53\1\0\23\53\1\72\2\53"+
- "\1\0";
+ "\7\14\1\15\1\16\26\14\1\17\2\20\3\17\1\21"+
+ "\1\17\1\22\5\17\1\23\6\17\1\24\7\17\1\14"+
+ "\1\20\1\17\1\20\1\25\3\17\1\21\1\17\1\22"+
+ "\14\17\1\24\7\17\1\14\1\25\1\14\2\26\3\14"+
+ "\1\21\1\14\1\16\25\14\1\26\1\14\2\27\5\14"+
+ "\1\16\25\14\1\27\1\17\2\30\2\31\1\17\1\21"+
+ "\1\17\1\22\1\31\1\32\1\17\1\33\1\34\1\17"+
+ "\4\31\1\35\2\17\7\31\1\14\1\30\1\14\2\20"+
+ "\2\31\3\14\1\16\1\31\1\14\1\36\1\14\1\34"+
+ "\1\14\4\31\3\14\7\31\1\14\1\20\4\14\1\37"+
+ "\3\14\1\16\6\14\4\37\1\14\1\40\1\14\7\37"+
+ "\12\14\1\16\5\14\1\41\20\14\1\42\1\43\1\44"+
+ "\3\42\1\21\1\42\1\45\14\42\1\24\7\42\1\14"+
+ "\1\43\1\42\1\43\1\44\3\42\1\21\1\42\1\45"+
+ "\24\42\1\14\1\43\47\0\1\46\35\0\1\47\1\50"+
+ "\27\0\2\20\33\0\1\20\1\51\2\0\14\51\1\52"+
+ "\16\51\3\0\1\25\33\0\1\25\1\0\2\26\33\0"+
+ "\1\26\1\0\2\27\33\0\1\27\1\0\2\30\33\0"+
+ "\1\30\3\0\2\31\4\0\1\31\5\0\4\31\3\0"+
+ "\7\31\5\0\3\37\11\0\4\37\3\0\7\37\2\0"+
+ "\1\53\2\0\3\53\1\0\10\53\1\54\6\53\1\55"+
+ "\3\53\1\56\3\53\2\0\2\43\33\0\1\43\10\0"+
+ "\1\57\26\0\1\51\2\0\33\51\1\0\1\51\2\0"+
+ "\15\51\1\60\15\51\1\0\1\53\2\0\3\53\1\0"+
+ "\27\53\1\0\1\53\2\0\3\53\1\0\11\53\1\61"+
+ "\15\53\1\0\1\53\2\0\3\53\1\0\20\53\1\62"+
+ "\6\53\1\0\1\53\2\0\3\53\1\0\24\53\1\63"+
+ "\2\53\1\0\1\51\2\0\16\51\1\64\14\51\1\0"+
+ "\1\53\2\0\3\53\1\0\12\53\1\65\14\53\1\0"+
+ "\1\53\2\0\3\53\1\0\21\53\1\66\5\53\1\0"+
+ "\1\53\2\0\3\53\1\0\25\53\1\67\1\53\1\0"+
+ "\1\51\2\0\15\51\1\70\15\51\1\0\1\53\2\0"+
+ "\3\53\1\0\11\53\1\71\15\53\1\0\1\53\2\0"+
+ "\3\53\1\0\22\53\1\72\4\53\1\0\1\53\2\0"+
+ "\3\53\1\0\22\53\1\73\4\53\1\0\1\51\2\0"+
+ "\17\51\1\74\13\51\1\0\1\53\2\0\3\53\1\0"+
+ "\13\53\1\75\13\53\1\0\1\53\2\0\3\53\1\0"+
+ "\12\53\1\76\14\53\1\0\1\53\2\0\3\53\1\0"+
+ "\11\53\1\77\15\53\1\0\1\53\2\0\3\53\1\0"+
+ "\23\53\1\72\3\53\1\0";
private static int [] zzUnpackTrans() {
- int [] result = new int[1320];
+ int [] result = new int[1364];
int offset = 0;
offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
return result;
private static final int ZZ_UNKNOWN_ERROR = 0;
private static final int ZZ_NO_MATCH = 1;
private static final int ZZ_PUSHBACK_2BIG = 2;
- private static final char[] EMPTY_BUFFER = new char[0];
- private static final int YYEOF = -1;
- private static java.io.Reader zzReader = null; // Fake
/* error messages for the codes above */
- private static final String ZZ_ERROR_MSG[] = {
- "Unkown internal scanner error",
+ private static final String[] ZZ_ERROR_MSG = {
+ "Unknown internal scanner error",
"Error: could not match input",
"Error: pushback value was too large"
};
return j;
}
+ /** the input device */
+ private java.io.Reader zzReader;
+
/** the current state of the DFA */
private int zzState;
public void goTo(int offset) {
zzCurrentPos = zzMarkedPos = zzStartRead = offset;
zzPushbackPos = 0;
- zzAtEOF = offset < zzEndRead;
+ zzAtEOF = false;
}
* @return the unpacked character translation table
*/
private static char [] zzUnpackCMap(String packed) {
- char [] map = new char[0x10000];
+ char [] map = new char[0x110000];
int i = 0; /* index in packed string */
int j = 0; /* index in unpacked array */
- while (i < 1662) {
+ while (i < 2172) {
int count = packed.charAt(i++);
char value = packed.charAt(i++);
do map[j++] = value; while (--count > 0);
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 = (zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++] : zzBufferL.charAt(zzCurrentPosL++));
+ if (zzCurrentPosL < zzEndReadL) {
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL/*, zzEndReadL*/);
+ zzCurrentPosL += Character.charCount(zzInput);
+ }
else if (zzAtEOF) {
zzInput = YYEOF;
break zzForAction;
break zzForAction;
}
else {
- zzInput = (zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++] : zzBufferL.charAt(zzCurrentPosL++));
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL/*, zzEndReadL*/);
+ zzCurrentPosL += Character.charCount(zzInput);
}
}
int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
if (zzNext == -1) break zzForAction;
zzState = zzNext;
- int zzAttributes = zzAttrL[zzState];
+ zzAttributes = zzAttrL[zzState];
if ( (zzAttributes & 1) == 1 ) {
zzAction = zzState;
zzMarkedPosL = zzCurrentPosL;
// store back cached position
zzMarkedPos = zzMarkedPosL;
- switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
- case 12:
- { return myTokenTypes.tagValueSharp();
- }
- case 24: break;
- case 17:
- { yybegin(CODE_TAG); return myTokenTypes.commentData();
- }
- case 25: break;
- case 16:
- { yybegin(COMMENT_DATA); return myTokenTypes.tagValueGT();
- }
- case 26: break;
- case 3:
- { return myTokenTypes.space();
- }
- case 27: break;
- case 6:
- { return myTokenTypes.commentData();
- }
- case 28: break;
- case 4:
- { yybegin(COMMENT_DATA); return myTokenTypes.inlineTagEnd();
- }
- case 29: break;
- case 21:
- { yybegin(COMMENT_DATA_START); return myTokenTypes.commentStart();
- }
- case 30: break;
- case 7:
- { if (checkAhead('<') || checkAhead('\"')) yybegin(COMMENT_DATA);
+ if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
+ zzAtEOF = true;
+ zzDoEOF();
+ return null;
+ }
+ else {
+ switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
+ case 1:
+ { return myTokenTypes.badCharacter();
+ }
+ case 24: break;
+ case 2:
+ { yybegin(COMMENT_DATA); return myTokenTypes.commentData();
+ }
+ case 25: break;
+ case 3:
+ { return myTokenTypes.space();
+ }
+ case 26: break;
+ case 4:
+ { yybegin(COMMENT_DATA); return myTokenTypes.inlineTagEnd();
+ }
+ case 27: break;
+ case 5:
+ { if (checkAhead('@')) {
+ yybegin(INLINE_TAG_NAME);
+ return myTokenTypes.inlineTagStart();
+ }
+ else{
+ yybegin(COMMENT_DATA);
+ return myTokenTypes.inlineTagStart();
+ }
+ }
+ case 28: break;
+ case 6:
+ { return myTokenTypes.commentData();
+ }
+ case 29: break;
+ case 7:
+ { if (checkAhead('<') || checkAhead('\"')) yybegin(COMMENT_DATA);
else if (checkAhead('\u007b') ) yybegin(COMMENT_DATA); // lbrace - there's a error in JLex when typing lbrace directly
else yybegin(DOC_TAG_VALUE);
return myTokenTypes.space();
- }
- case 31: break;
- case 8:
- { yybegin(DOC_TAG_VALUE); return myTokenTypes.space();
- }
- case 32: break;
- case 10:
- { return myTokenTypes.tagValueToken();
- }
- case 33: break;
- case 20:
- { yybegin(TAG_DOC_SPACE); return myTokenTypes.tagName();
- }
- case 34: break;
- case 18:
- { yybegin(CODE_TAG);
- return myTokenTypes.space();
- }
- case 35: break;
- case 9:
- { yybegin(COMMENT_DATA); return myTokenTypes.space();
- }
- case 36: break;
- case 23:
- { yybegin(PARAM_TAG_SPACE); return myTokenTypes.tagName();
- }
- case 37: break;
- case 22:
- { yybegin(CODE_TAG_SPACE); return myTokenTypes.tagName();
- }
- case 38: break;
- case 1:
- { return myTokenTypes.badCharacter();
- }
- case 39: break;
- case 15:
- { yybegin(DOC_TAG_VALUE); return myTokenTypes.tagValueRParen();
- }
- case 40: break;
- case 11:
- { yybegin(DOC_TAG_VALUE_IN_PAREN); return myTokenTypes.tagValueLParen();
- }
- case 41: break;
- case 13:
- { return myTokenTypes.tagValueComma();
- }
- case 42: break;
- case 14:
- { if (myJdk15Enabled) {
+ }
+ case 30: break;
+ case 8:
+ { yybegin(DOC_TAG_VALUE); return myTokenTypes.space();
+ }
+ case 31: break;
+ case 9:
+ { yybegin(COMMENT_DATA); return myTokenTypes.space();
+ }
+ case 32: break;
+ case 10:
+ { return myTokenTypes.tagValueToken();
+ }
+ case 33: break;
+ case 11:
+ { yybegin(DOC_TAG_VALUE_IN_PAREN); return myTokenTypes.tagValueLParen();
+ }
+ case 34: break;
+ case 12:
+ { return myTokenTypes.tagValueSharp();
+ }
+ case 35: break;
+ case 13:
+ { return myTokenTypes.tagValueComma();
+ }
+ case 36: break;
+ case 14:
+ { if (myJdk15Enabled) {
yybegin(DOC_TAG_VALUE_IN_LTGT);
return myTokenTypes.tagValueLT();
}
yybegin(COMMENT_DATA);
return myTokenTypes.commentData();
}
- }
- case 43: break;
- case 5:
- { if (checkAhead('@')) {
- yybegin(INLINE_TAG_NAME);
- return myTokenTypes.inlineTagStart();
- }
- else{
- yybegin(COMMENT_DATA);
- return myTokenTypes.inlineTagStart();
- }
- }
- case 44: break;
- case 2:
- { yybegin(COMMENT_DATA); return myTokenTypes.commentData();
- }
- case 45: break;
- case 19:
- { return myTokenTypes.commentEnd();
- }
- case 46: break;
- default:
- if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
- zzAtEOF = true;
- zzDoEOF();
- return null;
- }
- else {
+ }
+ case 37: break;
+ case 15:
+ { yybegin(DOC_TAG_VALUE); return myTokenTypes.tagValueRParen();
+ }
+ case 38: break;
+ case 16:
+ { yybegin(COMMENT_DATA); return myTokenTypes.tagValueGT();
+ }
+ case 39: break;
+ case 17:
+ { yybegin(CODE_TAG); return myTokenTypes.commentData();
+ }
+ case 40: break;
+ case 18:
+ { yybegin(CODE_TAG);
+ return myTokenTypes.space();
+ }
+ case 41: break;
+ case 19:
+ { return myTokenTypes.commentEnd();
+ }
+ case 42: break;
+ case 20:
+ { yybegin(TAG_DOC_SPACE); return myTokenTypes.tagName();
+ }
+ case 43: break;
+ case 21:
+ { yybegin(COMMENT_DATA_START); return myTokenTypes.commentStart();
+ }
+ case 44: break;
+ case 22:
+ { yybegin(CODE_TAG_SPACE); return myTokenTypes.tagName();
+ }
+ case 45: break;
+ case 23:
+ { yybegin(PARAM_TAG_SPACE); return myTokenTypes.tagName();
+ }
+ case 46: break;
+ default:
zzScanError(ZZ_NO_MATCH);
}
}
+/* The following code was generated by JFlex 1.7.0-SNAPSHOT tweaked for IntelliJ platform */
+
/*
- * Copyright 2000-2015 JetBrains s.r.o.
+ * Copyright 2000-2013 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
-/* The following code was generated by JFlex 1.4.3 on 4/28/15 5:41 PM */
package com.intellij.lang.java.lexer;
import com.intellij.pom.java.LanguageLevel;
/**
* This class is a scanner generated by
- * <a href="http://www.jflex.de/">JFlex</a> 1.4.3
- * on 28.04.2015 17:41 from the specification file
- * <tt>[community/]java/java-psi-impl/src/com/intellij/lang/java/lexer/_JavaLexer.flex</tt>
+ * <a href="http://www.jflex.de/">JFlex</a> 1.7.0-SNAPSHOT
+ * from the specification file <tt>/ideadev/tools/lexer/../../community/java/java-psi-impl/src/com/intellij/lang/java/lexer/_JavaLexer.flex</tt>
*/
class _JavaLexer implements FlexLexer {
+
+ /** 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;
* Translates characters to character classes
*/
private static final String ZZ_CMAP_PACKED =
- "\11\3\1\1\1\6\1\0\1\1\1\6\16\3\4\0\1\1\1\60"+
+ "\11\3\1\1\1\6\1\104\1\1\1\6\16\3\4\0\1\1\1\60"+
"\1\26\1\0\1\2\1\67\1\65\1\25\1\70\1\71\1\5\1\62"+
"\1\77\1\22\1\20\1\4\1\13\11\7\1\102\1\76\1\63\1\57"+
"\1\64\1\101\1\103\1\11\1\15\1\11\1\17\1\21\1\16\5\2"+
"\1\10\1\0\1\34\1\40\1\41\1\47\1\32\1\33\1\52\1\45"+
"\1\46\1\2\1\43\1\35\1\50\1\37\1\42\1\53\1\2\1\30"+
"\1\36\1\27\1\31\1\54\1\55\1\51\1\44\1\56\1\72\1\61"+
- "\1\73\1\100\41\3\2\0\4\2\4\0\1\2\2\0\1\3\7\0"+
- "\1\2\4\0\1\2\5\0\27\2\1\0\37\2\1\0\u01ca\2\4\0"+
- "\14\2\16\0\5\2\7\0\1\2\1\0\1\2\21\0\160\3\5\2"+
- "\1\0\2\2\2\0\4\2\10\0\1\2\1\0\3\2\1\0\1\2"+
- "\1\0\24\2\1\0\123\2\1\0\213\2\1\0\5\3\2\0\236\2"+
- "\11\0\46\2\2\0\1\2\7\0\47\2\7\0\1\2\1\0\55\3"+
- "\1\0\1\3\1\0\2\3\1\0\2\3\1\0\1\3\10\0\33\2"+
- "\5\0\3\2\15\0\5\3\6\0\1\2\4\0\13\3\5\0\53\2"+
- "\37\3\4\0\2\2\1\3\143\2\1\0\1\2\10\3\1\0\6\3"+
- "\2\2\2\3\1\0\4\3\2\2\12\3\3\2\2\0\1\2\17\0"+
- "\1\3\1\2\1\3\36\2\33\3\2\0\131\2\13\3\1\2\16\0"+
- "\12\3\41\2\11\3\2\2\4\0\1\2\5\0\26\2\4\3\1\2"+
- "\11\3\1\2\3\3\1\2\5\3\22\0\31\2\3\3\104\0\1\2"+
- "\1\0\13\2\67\0\33\3\1\0\4\3\66\2\3\3\1\2\22\3"+
- "\1\2\7\3\12\2\2\3\2\0\12\3\1\0\7\2\1\0\7\2"+
- "\1\0\3\3\1\0\10\2\2\0\2\2\2\0\26\2\1\0\7\2"+
- "\1\0\1\2\3\0\4\2\2\0\1\3\1\2\7\3\2\0\2\3"+
- "\2\0\3\3\1\2\10\0\1\3\4\0\2\2\1\0\3\2\2\3"+
- "\2\0\12\3\4\2\7\0\1\2\5\0\3\3\1\0\6\2\4\0"+
- "\2\2\2\0\26\2\1\0\7\2\1\0\2\2\1\0\2\2\1\0"+
- "\2\2\2\0\1\3\1\0\5\3\4\0\2\3\2\0\3\3\3\0"+
- "\1\3\7\0\4\2\1\0\1\2\7\0\14\3\3\2\1\3\13\0"+
- "\3\3\1\0\11\2\1\0\3\2\1\0\26\2\1\0\7\2\1\0"+
- "\2\2\1\0\5\2\2\0\1\3\1\2\10\3\1\0\3\3\1\0"+
- "\3\3\2\0\1\2\17\0\2\2\2\3\2\0\12\3\1\0\1\2"+
- "\17\0\3\3\1\0\10\2\2\0\2\2\2\0\26\2\1\0\7\2"+
- "\1\0\2\2\1\0\5\2\2\0\1\3\1\2\7\3\2\0\2\3"+
- "\2\0\3\3\10\0\2\3\4\0\2\2\1\0\3\2\2\3\2\0"+
- "\12\3\1\0\1\2\20\0\1\3\1\2\1\0\6\2\3\0\3\2"+
- "\1\0\4\2\3\0\2\2\1\0\1\2\1\0\2\2\3\0\2\2"+
- "\3\0\3\2\3\0\14\2\4\0\5\3\3\0\3\3\1\0\4\3"+
- "\2\0\1\2\6\0\1\3\16\0\12\3\11\0\1\2\7\0\3\3"+
+ "\1\73\1\100\6\3\1\105\32\3\2\0\4\2\4\0\1\2\2\0"+
+ "\1\3\7\0\1\2\4\0\1\2\5\0\27\2\1\0\37\2\1\0"+
+ "\u01ca\2\4\0\14\2\16\0\5\2\7\0\1\2\1\0\1\2\21\0"+
+ "\160\3\5\2\1\0\2\2\2\0\4\2\10\0\1\2\1\0\3\2"+
+ "\1\0\1\2\1\0\24\2\1\0\123\2\1\0\213\2\1\0\5\3"+
+ "\2\0\236\2\11\0\46\2\2\0\1\2\7\0\47\2\7\0\1\2"+
+ "\1\0\55\3\1\0\1\3\1\0\2\3\1\0\2\3\1\0\1\3"+
+ "\10\0\33\2\5\0\3\2\15\0\5\3\6\0\1\2\4\0\13\3"+
+ "\5\0\53\2\37\3\4\0\2\2\1\3\143\2\1\0\1\2\10\3"+
+ "\1\0\6\3\2\2\2\3\1\0\4\3\2\2\12\3\3\2\2\0"+
+ "\1\2\17\0\1\3\1\2\1\3\36\2\33\3\2\0\131\2\13\3"+
+ "\1\2\16\0\12\3\41\2\11\3\2\2\4\0\1\2\5\0\26\2"+
+ "\4\3\1\2\11\3\1\2\3\3\1\2\5\3\22\0\31\2\3\3"+
+ "\104\0\1\2\1\0\13\2\67\0\33\3\1\0\4\3\66\2\3\3"+
+ "\1\2\22\3\1\2\7\3\12\2\2\3\2\0\12\3\1\0\7\2"+
+ "\1\0\7\2\1\0\3\3\1\0\10\2\2\0\2\2\2\0\26\2"+
+ "\1\0\7\2\1\0\1\2\3\0\4\2\2\0\1\3\1\2\7\3"+
+ "\2\0\2\3\2\0\3\3\1\2\10\0\1\3\4\0\2\2\1\0"+
+ "\3\2\2\3\2\0\12\3\4\2\7\0\1\2\5\0\3\3\1\0"+
+ "\6\2\4\0\2\2\2\0\26\2\1\0\7\2\1\0\2\2\1\0"+
+ "\2\2\1\0\2\2\2\0\1\3\1\0\5\3\4\0\2\3\2\0"+
+ "\3\3\3\0\1\3\7\0\4\2\1\0\1\2\7\0\14\3\3\2"+
+ "\1\3\13\0\3\3\1\0\11\2\1\0\3\2\1\0\26\2\1\0"+
+ "\7\2\1\0\2\2\1\0\5\2\2\0\1\3\1\2\10\3\1\0"+
+ "\3\3\1\0\3\3\2\0\1\2\17\0\2\2\2\3\2\0\12\3"+
+ "\1\0\1\2\17\0\3\3\1\0\10\2\2\0\2\2\2\0\26\2"+
+ "\1\0\7\2\1\0\2\2\1\0\5\2\2\0\1\3\1\2\7\3"+
+ "\2\0\2\3\2\0\3\3\10\0\2\3\4\0\2\2\1\0\3\2"+
+ "\2\3\2\0\12\3\1\0\1\2\20\0\1\3\1\2\1\0\6\2"+
+ "\3\0\3\2\1\0\4\2\3\0\2\2\1\0\1\2\1\0\2\2"+
+ "\3\0\2\2\3\0\3\2\3\0\14\2\4\0\5\3\3\0\3\3"+
+ "\1\0\4\3\2\0\1\2\6\0\1\3\16\0\12\3\11\0\1\2"+
+ "\7\0\3\3\1\0\10\2\1\0\3\2\1\0\27\2\1\0\12\2"+
+ "\1\0\5\2\3\0\1\2\7\3\1\0\3\3\1\0\4\3\7\0"+
+ "\2\3\1\0\2\2\6\0\2\2\2\3\2\0\12\3\22\0\2\3"+
"\1\0\10\2\1\0\3\2\1\0\27\2\1\0\12\2\1\0\5\2"+
- "\3\0\1\2\7\3\1\0\3\3\1\0\4\3\7\0\2\3\1\0"+
- "\2\2\6\0\2\2\2\3\2\0\12\3\22\0\2\3\1\0\10\2"+
- "\1\0\3\2\1\0\27\2\1\0\12\2\1\0\5\2\2\0\1\3"+
- "\1\2\7\3\1\0\3\3\1\0\4\3\7\0\2\3\7\0\1\2"+
- "\1\0\2\2\2\3\2\0\12\3\1\0\2\2\17\0\2\3\1\0"+
- "\10\2\1\0\3\2\1\0\51\2\2\0\1\2\7\3\1\0\3\3"+
- "\1\0\4\3\1\2\10\0\1\3\10\0\2\2\2\3\2\0\12\3"+
- "\12\0\6\2\2\0\2\3\1\0\22\2\3\0\30\2\1\0\11\2"+
- "\1\0\1\2\2\0\7\2\3\0\1\3\4\0\6\3\1\0\1\3"+
- "\1\0\10\3\22\0\2\3\15\0\60\2\1\3\2\2\7\3\4\0"+
- "\10\2\10\3\1\0\12\3\47\0\2\2\1\0\1\2\2\0\2\2"+
- "\1\0\1\2\2\0\1\2\6\0\4\2\1\0\7\2\1\0\3\2"+
- "\1\0\1\2\1\0\1\2\2\0\2\2\1\0\4\2\1\3\2\2"+
- "\6\3\1\0\2\3\1\2\2\0\5\2\1\0\1\2\1\0\6\3"+
- "\2\0\12\3\2\0\4\2\40\0\1\2\27\0\2\3\6\0\12\3"+
- "\13\0\1\3\1\0\1\3\1\0\1\3\4\0\2\3\10\2\1\0"+
- "\44\2\4\0\24\3\1\0\2\3\5\2\13\3\1\0\44\3\11\0"+
- "\1\3\71\0\53\2\24\3\1\2\12\3\6\0\6\2\4\3\4\2"+
- "\3\3\1\2\3\3\2\2\7\3\3\2\4\3\15\2\14\3\1\2"+
- "\17\3\2\0\46\2\1\0\1\2\5\0\1\2\2\0\53\2\1\0"+
- "\u014d\2\1\0\4\2\2\0\7\2\1\0\1\2\1\0\4\2\2\0"+
- "\51\2\1\0\4\2\2\0\41\2\1\0\4\2\2\0\7\2\1\0"+
- "\1\2\1\0\4\2\2\0\17\2\1\0\71\2\1\0\4\2\2\0"+
- "\103\2\2\0\3\3\40\0\20\2\20\0\125\2\14\0\u026c\2\2\0"+
- "\21\2\1\0\32\2\5\0\113\2\3\0\3\2\17\0\15\2\1\0"+
- "\4\2\3\3\13\0\22\2\3\3\13\0\22\2\2\3\14\0\15\2"+
- "\1\0\3\2\1\0\2\3\14\0\64\2\40\3\3\0\1\2\3\0"+
- "\2\2\1\3\2\0\12\3\41\0\3\3\2\0\12\3\6\0\130\2"+
- "\10\0\51\2\1\3\1\2\5\0\106\2\12\0\35\2\3\0\14\3"+
- "\4\0\14\3\12\0\12\3\36\2\2\0\5\2\13\0\54\2\4\0"+
- "\21\3\7\2\2\3\6\0\12\3\46\0\27\2\5\3\4\0\65\2"+
- "\12\3\1\0\35\3\2\0\13\3\6\0\12\3\15\0\1\2\130\0"+
- "\5\3\57\2\21\3\7\2\4\0\12\3\21\0\11\3\14\0\3\3"+
- "\36\2\15\3\2\2\12\3\54\2\16\3\14\0\44\2\24\3\10\0"+
- "\12\3\3\0\3\2\12\3\44\2\122\0\3\3\1\0\25\3\4\2"+
- "\1\3\4\2\3\3\2\2\11\0\300\2\47\3\25\0\4\3\u0116\2"+
- "\2\0\6\2\2\0\46\2\2\0\6\2\2\0\10\2\1\0\1\2"+
- "\1\0\1\2\1\0\1\2\1\0\37\2\2\0\65\2\1\0\7\2"+
- "\1\0\1\2\3\0\3\2\1\0\7\2\3\0\4\2\2\0\6\2"+
- "\4\0\15\2\5\0\3\2\1\0\7\2\16\0\5\3\32\0\5\3"+
- "\20\0\2\2\23\0\1\2\13\0\5\3\5\0\6\3\1\0\1\2"+
- "\15\0\1\2\20\0\15\2\3\0\33\2\25\0\15\3\4\0\1\3"+
- "\3\0\14\3\21\0\1\2\4\0\1\2\2\0\12\2\1\0\1\2"+
- "\3\0\5\2\6\0\1\2\1\0\1\2\1\0\1\2\1\0\4\2"+
- "\1\0\13\2\2\0\4\2\5\0\5\2\4\0\1\2\21\0\51\2"+
- "\u0a77\0\57\2\1\0\57\2\1\0\205\2\6\0\4\2\3\3\2\2"+
- "\14\0\46\2\1\0\1\2\5\0\1\2\2\0\70\2\7\0\1\2"+
- "\17\0\1\3\27\2\11\0\7\2\1\0\7\2\1\0\7\2\1\0"+
+ "\2\0\1\3\1\2\7\3\1\0\3\3\1\0\4\3\7\0\2\3"+
+ "\7\0\1\2\1\0\2\2\2\3\2\0\12\3\1\0\2\2\17\0"+
+ "\2\3\1\0\10\2\1\0\3\2\1\0\51\2\2\0\1\2\7\3"+
+ "\1\0\3\3\1\0\4\3\1\2\10\0\1\3\10\0\2\2\2\3"+
+ "\2\0\12\3\12\0\6\2\2\0\2\3\1\0\22\2\3\0\30\2"+
+ "\1\0\11\2\1\0\1\2\2\0\7\2\3\0\1\3\4\0\6\3"+
+ "\1\0\1\3\1\0\10\3\22\0\2\3\15\0\60\2\1\3\2\2"+
+ "\7\3\4\0\10\2\10\3\1\0\12\3\47\0\2\2\1\0\1\2"+
+ "\2\0\2\2\1\0\1\2\2\0\1\2\6\0\4\2\1\0\7\2"+
+ "\1\0\3\2\1\0\1\2\1\0\1\2\2\0\2\2\1\0\4\2"+
+ "\1\3\2\2\6\3\1\0\2\3\1\2\2\0\5\2\1\0\1\2"+
+ "\1\0\6\3\2\0\12\3\2\0\4\2\40\0\1\2\27\0\2\3"+
+ "\6\0\12\3\13\0\1\3\1\0\1\3\1\0\1\3\4\0\2\3"+
+ "\10\2\1\0\44\2\4\0\24\3\1\0\2\3\5\2\13\3\1\0"+
+ "\44\3\11\0\1\3\71\0\53\2\24\3\1\2\12\3\6\0\6\2"+
+ "\4\3\4\2\3\3\1\2\3\3\2\2\7\3\3\2\4\3\15\2"+
+ "\14\3\1\2\17\3\2\0\46\2\1\0\1\2\5\0\1\2\2\0"+
+ "\53\2\1\0\u014d\2\1\0\4\2\2\0\7\2\1\0\1\2\1\0"+
+ "\4\2\2\0\51\2\1\0\4\2\2\0\41\2\1\0\4\2\2\0"+
+ "\7\2\1\0\1\2\1\0\4\2\2\0\17\2\1\0\71\2\1\0"+
+ "\4\2\2\0\103\2\2\0\3\3\40\0\20\2\20\0\125\2\14\0"+
+ "\u026c\2\2\0\21\2\1\0\32\2\5\0\113\2\3\0\3\2\17\0"+
+ "\15\2\1\0\4\2\3\3\13\0\22\2\3\3\13\0\22\2\2\3"+
+ "\14\0\15\2\1\0\3\2\1\0\2\3\14\0\64\2\40\3\3\0"+
+ "\1\2\3\0\2\2\1\3\2\0\12\3\41\0\3\3\2\0\12\3"+
+ "\6\0\130\2\10\0\51\2\1\3\1\2\5\0\106\2\12\0\35\2"+
+ "\3\0\14\3\4\0\14\3\12\0\12\3\36\2\2\0\5\2\13\0"+
+ "\54\2\4\0\21\3\7\2\2\3\6\0\12\3\46\0\27\2\5\3"+
+ "\4\0\65\2\12\3\1\0\35\3\2\0\13\3\6\0\12\3\15\0"+
+ "\1\2\130\0\5\3\57\2\21\3\7\2\4\0\12\3\21\0\11\3"+
+ "\14\0\3\3\36\2\15\3\2\2\12\3\54\2\16\3\14\0\44\2"+
+ "\24\3\10\0\12\3\3\0\3\2\12\3\44\2\122\0\3\3\1\0"+
+ "\25\3\4\2\1\3\4\2\3\3\2\2\11\0\300\2\47\3\25\0"+
+ "\4\3\u0116\2\2\0\6\2\2\0\46\2\2\0\6\2\2\0\10\2"+
+ "\1\0\1\2\1\0\1\2\1\0\1\2\1\0\37\2\2\0\65\2"+
+ "\1\0\7\2\1\0\1\2\3\0\3\2\1\0\7\2\3\0\4\2"+
+ "\2\0\6\2\4\0\15\2\5\0\3\2\1\0\7\2\16\0\5\3"+
+ "\30\0\1\104\1\104\5\3\20\0\2\2\23\0\1\2\13\0\5\3"+
+ "\5\0\6\3\1\0\1\2\15\0\1\2\20\0\15\2\3\0\33\2"+
+ "\25\0\15\3\4\0\1\3\3\0\14\3\21\0\1\2\4\0\1\2"+
+ "\2\0\12\2\1\0\1\2\3\0\5\2\6\0\1\2\1\0\1\2"+
+ "\1\0\1\2\1\0\4\2\1\0\13\2\2\0\4\2\5\0\5\2"+
+ "\4\0\1\2\21\0\51\2\u0a77\0\57\2\1\0\57\2\1\0\205\2"+
+ "\6\0\4\2\3\3\2\2\14\0\46\2\1\0\1\2\5\0\1\2"+
+ "\2\0\70\2\7\0\1\2\17\0\1\3\27\2\11\0\7\2\1\0"+
"\7\2\1\0\7\2\1\0\7\2\1\0\7\2\1\0\7\2\1\0"+
- "\40\3\57\0\1\2\u01d5\0\3\2\31\0\11\2\6\3\1\0\5\2"+
- "\2\0\5\2\4\0\126\2\2\0\2\3\2\0\3\2\1\0\132\2"+
- "\1\0\4\2\5\0\51\2\3\0\136\2\21\0\33\2\65\0\20\2"+
- "\u0200\0\u19b6\2\112\0\u51cd\2\63\0\u048d\2\103\0\56\2\2\0\u010d\2"+
- "\3\0\20\2\12\3\2\2\24\0\57\2\1\3\4\0\12\3\1\0"+
- "\31\2\7\0\1\3\120\2\2\3\45\0\11\2\2\0\147\2\2\0"+
- "\4\2\1\0\4\2\14\0\13\2\115\0\12\2\1\3\3\2\1\3"+
- "\4\2\1\3\27\2\5\3\20\0\1\2\7\0\64\2\14\0\2\3"+
- "\62\2\21\3\13\0\12\3\6\0\22\3\6\2\3\0\1\2\4\0"+
- "\12\3\34\2\10\3\2\0\27\2\15\3\14\0\35\2\3\0\4\3"+
- "\57\2\16\3\16\0\1\2\12\3\46\0\51\2\16\3\11\0\3\2"+
- "\1\3\10\2\2\3\2\0\12\3\6\0\27\2\3\0\1\2\1\3"+
- "\4\0\60\2\1\3\1\2\3\3\2\2\2\3\5\2\2\3\1\2"+
- "\1\3\1\2\30\0\3\2\2\0\13\2\5\3\2\0\3\2\2\3"+
- "\12\0\6\2\2\0\6\2\2\0\6\2\11\0\7\2\1\0\7\2"+
- "\221\0\43\2\10\3\1\0\2\3\2\0\12\3\6\0\u2ba4\2\14\0"+
- "\27\2\4\0\61\2\u2104\0\u016e\2\2\0\152\2\46\0\7\2\14\0"+
- "\5\2\5\0\1\2\1\3\12\2\1\0\15\2\1\0\5\2\1\0"+
- "\1\2\1\0\2\2\1\0\2\2\1\0\154\2\41\0\u016b\2\22\0"+
- "\100\2\2\0\66\2\50\0\15\2\3\0\20\3\20\0\7\3\14\0"+
- "\2\2\30\0\3\2\31\0\1\2\6\0\5\2\1\0\207\2\2\0"+
- "\1\3\4\0\1\2\13\0\12\3\7\0\32\2\4\0\1\2\1\0"+
- "\32\2\13\0\131\2\3\0\6\2\2\0\6\2\2\0\6\2\2\0"+
- "\3\2\3\0\2\2\3\0\2\2\22\0\3\3\4\0";
+ "\7\2\1\0\7\2\1\0\40\3\57\0\1\2\u01d5\0\3\2\31\0"+
+ "\11\2\6\3\1\0\5\2\2\0\5\2\4\0\126\2\2\0\2\3"+
+ "\2\0\3\2\1\0\132\2\1\0\4\2\5\0\51\2\3\0\136\2"+
+ "\21\0\33\2\65\0\20\2\u0200\0\u19b6\2\112\0\u51cd\2\63\0\u048d\2"+
+ "\103\0\56\2\2\0\u010d\2\3\0\20\2\12\3\2\2\24\0\57\2"+
+ "\1\3\4\0\12\3\1\0\31\2\7\0\1\3\120\2\2\3\45\0"+
+ "\11\2\2\0\147\2\2\0\4\2\1\0\4\2\14\0\13\2\115\0"+
+ "\12\2\1\3\3\2\1\3\4\2\1\3\27\2\5\3\20\0\1\2"+
+ "\7\0\64\2\14\0\2\3\62\2\21\3\13\0\12\3\6\0\22\3"+
+ "\6\2\3\0\1\2\4\0\12\3\34\2\10\3\2\0\27\2\15\3"+
+ "\14\0\35\2\3\0\4\3\57\2\16\3\16\0\1\2\12\3\46\0"+
+ "\51\2\16\3\11\0\3\2\1\3\10\2\2\3\2\0\12\3\6\0"+
+ "\27\2\3\0\1\2\1\3\4\0\60\2\1\3\1\2\3\3\2\2"+
+ "\2\3\5\2\2\3\1\2\1\3\1\2\30\0\3\2\2\0\13\2"+
+ "\5\3\2\0\3\2\2\3\12\0\6\2\2\0\6\2\2\0\6\2"+
+ "\11\0\7\2\1\0\7\2\221\0\43\2\10\3\1\0\2\3\2\0"+
+ "\12\3\6\0\u2ba4\2\14\0\27\2\4\0\61\2\u2104\0\u016e\2\2\0"+
+ "\152\2\46\0\7\2\14\0\5\2\5\0\1\2\1\3\12\2\1\0"+
+ "\15\2\1\0\5\2\1\0\1\2\1\0\2\2\1\0\2\2\1\0"+
+ "\154\2\41\0\u016b\2\22\0\100\2\2\0\66\2\50\0\15\2\3\0"+
+ "\20\3\20\0\7\3\14\0\2\2\30\0\3\2\31\0\1\2\6\0"+
+ "\5\2\1\0\207\2\2\0\1\3\4\0\1\2\13\0\12\3\7\0"+
+ "\32\2\4\0\1\2\1\0\32\2\13\0\131\2\3\0\6\2\2\0"+
+ "\6\2\2\0\6\2\2\0\3\2\3\0\2\2\3\0\2\2\22\0"+
+ "\3\3\4\0\14\2\1\0\32\2\1\0\23\2\1\0\2\2\1\0"+
+ "\17\2\2\0\16\2\42\0\173\2\105\0\65\2\210\0\1\3\202\0"+
+ "\35\2\3\0\61\2\57\0\37\2\21\0\33\2\65\0\36\2\2\0"+
+ "\44\2\4\0\10\2\1\0\5\2\52\0\236\2\2\0\12\3\u0356\0"+
+ "\6\2\2\0\1\2\1\0\54\2\1\0\2\2\3\0\1\2\2\0"+
+ "\27\2\252\0\26\2\12\0\32\2\106\0\70\2\6\0\2\2\100\0"+
+ "\1\2\3\3\1\0\2\3\5\0\4\3\4\2\1\0\3\2\1\0"+
+ "\33\2\4\0\3\3\4\0\1\3\40\0\35\2\203\0\66\2\12\0"+
+ "\26\2\12\0\23\2\215\0\111\2\u03b7\0\3\3\65\2\17\3\37\0"+
+ "\12\3\20\0\3\3\55\2\13\3\2\0\1\3\22\0\31\2\7\0"+
+ "\12\3\6\0\3\3\44\2\16\3\1\0\12\3\100\0\3\3\60\2"+
+ "\16\3\4\2\13\0\12\3\u04a6\0\53\2\15\3\10\0\12\3\u0936\0"+
+ "\u036f\2\221\0\143\2\u0b9d\0\u042f\2\u33d1\0\u0239\2\u04c7\0\105\2\13\0"+
+ "\1\2\56\3\20\0\4\3\15\2\u4060\0\2\2\u2163\0\5\3\3\0"+
+ "\26\3\2\0\7\3\36\0\4\3\224\0\3\3\u01bb\0\125\2\1\0"+
+ "\107\2\1\0\2\2\2\0\1\2\2\0\2\2\2\0\4\2\1\0"+
+ "\14\2\1\0\1\2\1\0\7\2\1\0\101\2\1\0\4\2\2\0"+
+ "\10\2\1\0\7\2\1\0\34\2\1\0\4\2\1\0\5\2\1\0"+
+ "\1\2\3\0\7\2\1\0\u0154\2\2\0\31\2\1\0\31\2\1\0"+
+ "\37\2\1\0\31\2\1\0\37\2\1\0\31\2\1\0\37\2\1\0"+
+ "\31\2\1\0\37\2\1\0\31\2\1\0\10\2\2\0\62\3\u1600\0"+
+ "\4\2\1\0\33\2\1\0\2\2\1\0\1\2\2\0\1\2\1\0"+
+ "\12\2\1\0\4\2\1\0\1\2\1\0\1\2\6\0\1\2\4\0"+
+ "\1\2\1\0\1\2\1\0\1\2\1\0\3\2\1\0\2\2\1\0"+
+ "\1\2\2\0\1\2\1\0\1\2\1\0\1\2\1\0\1\2\1\0"+
+ "\1\2\1\0\2\2\1\0\1\2\2\0\4\2\1\0\7\2\1\0"+
+ "\4\2\1\0\4\2\1\0\1\2\1\0\12\2\1\0\21\2\5\0"+
+ "\3\2\1\0\5\2\1\0\21\2\u1144\0\ua6d7\2\51\0\u1035\2\13\0"+
+ "\336\2\u3fe2\0\u021e\2\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\3\36\0\140\3\200\0\360\3\uffff\0\uffff\0\ufe12\0";
/**
* Translates characters to character classes
private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
private static final String ZZ_ROWMAP_PACKED_0 =
- "\0\0\0\104\0\210\0\314\0\u0110\0\u0154\0\u0198\0\u01dc"+
- "\0\u0220\0\u0264\0\u02a8\0\u02ec\0\u0330\0\u0374\0\u03b8\0\u03fc"+
- "\0\u0440\0\u0484\0\u04c8\0\u050c\0\u0550\0\u0594\0\u05d8\0\u061c"+
- "\0\u0660\0\u06a4\0\u06e8\0\u072c\0\u0770\0\u07b4\0\u07f8\0\u083c"+
- "\0\u0880\0\104\0\u08c4\0\u0908\0\u094c\0\104\0\104\0\104"+
- "\0\104\0\104\0\104\0\104\0\104\0\104\0\104\0\u0990"+
- "\0\104\0\u09d4\0\u0a18\0\104\0\104\0\104\0\104\0\104"+
- "\0\u0a5c\0\u0aa0\0\u0ae4\0\u0b28\0\u0b6c\0\104\0\104\0\104"+
- "\0\u0bb0\0\104\0\u0bf4\0\104\0\u0c38\0\u0c7c\0\u0cc0\0\u0d04"+
- "\0\u0d48\0\u0d8c\0\u0dd0\0\u0e14\0\u0e58\0\u0e9c\0\u0ee0\0\u0f24"+
- "\0\u0f68\0\u0fac\0\u0ff0\0\u1034\0\u1078\0\u10bc\0\u1100\0\u1144"+
- "\0\u1188\0\u11cc\0\u1210\0\u1254\0\u1298\0\u12dc\0\u1320\0\u1364"+
- "\0\314\0\u13a8\0\u13ec\0\u1430\0\u1474\0\u14b8\0\u14fc\0\u1540"+
- "\0\u1584\0\u15c8\0\u160c\0\104\0\104\0\104\0\104\0\104"+
- "\0\104\0\104\0\u1650\0\104\0\104\0\104\0\104\0\104"+
- "\0\u1694\0\u16d8\0\u171c\0\u1760\0\u17a4\0\104\0\u17e8\0\u182c"+
- "\0\314\0\u1870\0\u18b4\0\u18f8\0\u193c\0\u1980\0\u19c4\0\u1a08"+
- "\0\u1a4c\0\314\0\u1a90\0\u1ad4\0\u1b18\0\u1b5c\0\u1ba0\0\u1be4"+
- "\0\u1c28\0\u1c6c\0\u1cb0\0\u1cf4\0\u1d38\0\314\0\u1d7c\0\u1dc0"+
- "\0\u1e04\0\u1e48\0\u1e8c\0\u1ed0\0\u1f14\0\u1f58\0\u1f9c\0\u1fe0"+
- "\0\u2024\0\u2068\0\u20ac\0\u20f0\0\u2134\0\u2178\0\u21bc\0\u2200"+
- "\0\u2244\0\u2288\0\u22cc\0\u2310\0\104\0\u2354\0\u2398\0\104"+
- "\0\u23dc\0\314\0\u2420\0\u2464\0\314\0\u24a8\0\314\0\314"+
- "\0\u24ec\0\u2530\0\u2574\0\u25b8\0\u25fc\0\u2640\0\314\0\u2684"+
- "\0\u26c8\0\u270c\0\u2750\0\u2794\0\u27d8\0\314\0\u281c\0\u2860"+
- "\0\u28a4\0\314\0\u28e8\0\314\0\u292c\0\u2970\0\u29b4\0\314"+
- "\0\u29f8\0\u2a3c\0\u2a80\0\u2ac4\0\u2b08\0\u2b4c\0\314\0\u2b90"+
- "\0\u2bd4\0\u2c18\0\u2c5c\0\u2ca0\0\314\0\u2ce4\0\104\0\u2d28"+
- "\0\u2d6c\0\u2db0\0\u2df4\0\u2e38\0\314\0\314\0\u2e7c\0\u2ec0"+
- "\0\u2f04\0\u2f48\0\u2f8c\0\314\0\u2fd0\0\314\0\u3014\0\u3058"+
- "\0\314\0\u309c\0\314\0\314\0\u30e0\0\314\0\u3124\0\u3168"+
- "\0\u31ac\0\u31f0\0\u3234\0\u3278\0\u32bc\0\u3300\0\u3344\0\u3388"+
- "\0\u33cc\0\314\0\u3410\0\314\0\314\0\u3454\0\u3498\0\314"+
- "\0\u34dc\0\u3520\0\314\0\u3564\0\314\0\314\0\u35a8\0\u35ec"+
- "\0\u3630\0\u3674\0\u36b8\0\314\0\u36fc\0\314\0\u3740\0\u3784"+
- "\0\314\0\u37c8\0\u380c\0\u3850\0\314\0\314\0\u3894\0\u38d8"+
- "\0\u391c\0\314\0\u3960\0\u39a4\0\u39e8\0\u3a2c\0\314\0\u3a70"+
- "\0\314\0\314\0\u3ab4\0\u3af8\0\314\0\314\0\u3b3c\0\314"+
- "\0\u3b80\0\u3bc4\0\u3c08\0\u3c4c\0\314\0\314\0\u3c90\0\314"+
- "\0\u3cd4\0\u3d18\0\314\0\u3d5c\0\314\0\314\0\u3da0\0\314";
+ "\0\0\0\106\0\214\0\322\0\u0118\0\u015e\0\u01a4\0\u01ea"+
+ "\0\u0230\0\u0276\0\u02bc\0\u0302\0\u0348\0\u038e\0\u03d4\0\u041a"+
+ "\0\u0460\0\u04a6\0\u04ec\0\u0532\0\u0578\0\u05be\0\u0604\0\u064a"+
+ "\0\u0690\0\u06d6\0\u071c\0\u0762\0\u07a8\0\u07ee\0\u0834\0\u087a"+
+ "\0\u08c0\0\106\0\u0906\0\u094c\0\u0992\0\106\0\106\0\106"+
+ "\0\106\0\106\0\106\0\106\0\106\0\106\0\106\0\u09d8"+
+ "\0\106\0\u0a1e\0\u0a64\0\106\0\106\0\106\0\106\0\106"+
+ "\0\u0aaa\0\u0af0\0\u0b36\0\u0b7c\0\u0bc2\0\106\0\106\0\106"+
+ "\0\u0c08\0\106\0\u0c4e\0\106\0\u0c94\0\u0cda\0\u0d20\0\u0d66"+
+ "\0\u0dac\0\u0df2\0\u0e38\0\u0e7e\0\u0ec4\0\u0f0a\0\u0f50\0\u0f96"+
+ "\0\u0fdc\0\u1022\0\u1068\0\u10ae\0\u10f4\0\u113a\0\u1180\0\u11c6"+
+ "\0\u120c\0\u1252\0\u1298\0\u12de\0\u1324\0\u136a\0\u13b0\0\u13f6"+
+ "\0\322\0\u143c\0\u1482\0\u14c8\0\u150e\0\u1554\0\u159a\0\u15e0"+
+ "\0\u1626\0\u166c\0\u16b2\0\106\0\106\0\106\0\106\0\106"+
+ "\0\106\0\106\0\u16f8\0\106\0\106\0\106\0\106\0\106"+
+ "\0\u173e\0\u1784\0\u17ca\0\u1810\0\u1856\0\106\0\u189c\0\u18e2"+
+ "\0\322\0\u1928\0\u196e\0\u19b4\0\u19fa\0\u1a40\0\u1a86\0\u1acc"+
+ "\0\u1b12\0\322\0\u1b58\0\u1b9e\0\u1be4\0\u1c2a\0\u1c70\0\u1cb6"+
+ "\0\u1cfc\0\u1d42\0\u1d88\0\u1dce\0\u1e14\0\322\0\u1e5a\0\u1ea0"+
+ "\0\u1ee6\0\u1f2c\0\u1f72\0\u1fb8\0\u1ffe\0\u2044\0\u208a\0\u20d0"+
+ "\0\u2116\0\u215c\0\u21a2\0\u21e8\0\u222e\0\u2274\0\u22ba\0\u2300"+
+ "\0\u2346\0\u238c\0\u23d2\0\u2418\0\106\0\u245e\0\u24a4\0\106"+
+ "\0\u24ea\0\322\0\u2530\0\u2576\0\322\0\u25bc\0\322\0\322"+
+ "\0\u2602\0\u2648\0\u268e\0\u26d4\0\u271a\0\u2760\0\322\0\u27a6"+
+ "\0\u27ec\0\u2832\0\u2878\0\u28be\0\u2904\0\322\0\u294a\0\u2990"+
+ "\0\u29d6\0\322\0\u2a1c\0\322\0\u2a62\0\u2aa8\0\u2aee\0\322"+
+ "\0\u2b34\0\u2b7a\0\u2bc0\0\u2c06\0\u2c4c\0\u2c92\0\322\0\u2cd8"+
+ "\0\u2d1e\0\u2d64\0\u2daa\0\u2df0\0\322\0\u2e36\0\106\0\u2e7c"+
+ "\0\u2ec2\0\u2f08\0\u2f4e\0\u2f94\0\322\0\322\0\u2fda\0\u3020"+
+ "\0\u3066\0\u30ac\0\u30f2\0\322\0\u3138\0\322\0\u317e\0\u31c4"+
+ "\0\322\0\u320a\0\322\0\322\0\u3250\0\322\0\u3296\0\u32dc"+
+ "\0\u3322\0\u3368\0\u33ae\0\u33f4\0\u343a\0\u3480\0\u34c6\0\u350c"+
+ "\0\u3552\0\322\0\u3598\0\322\0\322\0\u35de\0\u3624\0\322"+
+ "\0\u366a\0\u36b0\0\322\0\u36f6\0\322\0\322\0\u373c\0\u3782"+
+ "\0\u37c8\0\u380e\0\u3854\0\322\0\u389a\0\322\0\u38e0\0\u3926"+
+ "\0\322\0\u396c\0\u39b2\0\u39f8\0\322\0\322\0\u3a3e\0\u3a84"+
+ "\0\u3aca\0\322\0\u3b10\0\u3b56\0\u3b9c\0\u3be2\0\322\0\u3c28"+
+ "\0\322\0\322\0\u3c6e\0\u3cb4\0\322\0\322\0\u3cfa\0\322"+
+ "\0\u3d40\0\u3d86\0\u3dcc\0\u3e12\0\322\0\322\0\u3e58\0\322"+
+ "\0\u3e9e\0\u3ee4\0\322\0\u3f2a\0\322\0\322\0\u3f70\0\322";
private static int [] zzUnpackRowMap() {
int [] result = new int[320];
"\2\4\1\31\1\32\1\33\1\34\1\4\1\35\1\36"+
"\1\37\1\40\1\41\1\42\1\43\1\44\1\45\1\46"+
"\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56"+
- "\1\57\1\60\1\61\105\0\1\3\4\0\1\3\77\0"+
+ "\1\57\1\60\1\61\111\0\1\3\4\0\1\3\101\0"+
"\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\30\4\31\0\1\62\1\63\51\0\1\64\103\0\1\65"+
- "\33\0\2\7\1\0\1\66\1\7\2\0\1\67\1\70"+
- "\1\71\1\72\10\0\1\72\1\67\1\0\1\66\11\0"+
- "\1\70\43\0\2\7\1\0\1\66\1\7\1\73\1\74"+
+ "\30\4\26\0\1\4\4\0\1\62\1\63\51\0\1\64"+
+ "\105\0\1\65\35\0\2\7\1\0\1\66\1\7\2\0"+
"\1\67\1\70\1\71\1\72\10\0\1\72\1\67\1\0"+
- "\1\66\2\0\1\74\6\0\1\70\1\0\1\73\41\0"+
- "\1\71\3\0\1\71\4\0\1\75\105\0\1\76\34\0"+
- "\1\77\4\0\1\100\17\0\6\13\1\0\15\13\1\101"+
- "\1\102\56\13\6\14\1\0\15\14\1\103\1\14\1\104"+
- "\55\14\2\0\2\4\3\0\11\4\1\0\1\4\1\0"+
- "\1\4\3\0\1\4\1\105\14\4\1\106\11\4\27\0"+
- "\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\3\4\1\107\24\4\27\0\2\4\3\0\11\4\1\0"+
- "\1\4\1\0\1\4\3\0\6\4\1\110\1\4\1\111"+
- "\11\4\1\112\5\4\27\0\2\4\3\0\11\4\1\0"+
+ "\1\66\11\0\1\70\45\0\2\7\1\0\1\66\1\7"+
+ "\1\73\1\74\1\67\1\70\1\71\1\72\10\0\1\72"+
+ "\1\67\1\0\1\66\2\0\1\74\6\0\1\70\1\0"+
+ "\1\73\43\0\1\71\3\0\1\71\4\0\1\75\107\0"+
+ "\1\76\34\0\1\77\4\0\1\100\21\0\6\13\1\0"+
+ "\15\13\1\101\1\102\60\13\6\14\1\0\15\14\1\103"+
+ "\1\14\1\104\57\14\2\0\2\4\3\0\11\4\1\0"+
+ "\1\4\1\0\1\4\3\0\1\4\1\105\14\4\1\106"+
+ "\11\4\26\0\1\4\2\0\2\4\3\0\11\4\1\0"+
+ "\1\4\1\0\1\4\3\0\3\4\1\107\24\4\26\0"+
+ "\1\4\2\0\2\4\3\0\11\4\1\0\1\4\1\0"+
+ "\1\4\3\0\6\4\1\110\1\4\1\111\11\4\1\112"+
+ "\5\4\26\0\1\4\2\0\2\4\3\0\11\4\1\0"+
"\1\4\1\0\1\4\3\0\5\4\1\113\1\114\4\4"+
- "\1\115\3\4\1\116\10\4\27\0\2\4\3\0\11\4"+
- "\1\0\1\4\1\0\1\4\3\0\7\4\1\117\1\4"+
- "\1\120\16\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\13\4\1\121\14\4\27\0\2\4"+
- "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\1\122"+
- "\1\4\1\123\12\4\1\124\1\125\7\4\1\126\1\4"+
- "\27\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
- "\3\0\2\4\1\127\1\130\1\4\1\131\22\4\27\0"+
- "\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\1\4\1\132\11\4\1\133\1\4\1\134\12\4\27\0"+
- "\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\5\4\1\135\1\136\4\4\1\137\2\4\1\140\11\4"+
- "\27\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
- "\3\0\4\4\1\141\3\4\1\142\10\4\1\143\6\4"+
- "\27\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
- "\3\0\3\4\1\144\7\4\1\145\14\4\27\0\2\4"+
+ "\1\115\3\4\1\116\10\4\26\0\1\4\2\0\2\4"+
+ "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\7\4"+
+ "\1\117\1\4\1\120\16\4\26\0\1\4\2\0\2\4"+
"\3\0\11\4\1\0\1\4\1\0\1\4\3\0\13\4"+
- "\1\146\14\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\1\4\1\147\1\150\2\4\1\151"+
- "\22\4\27\0\2\4\3\0\11\4\1\0\1\4\1\0"+
- "\1\4\3\0\13\4\1\152\14\4\27\0\2\4\3\0"+
- "\11\4\1\0\1\4\1\0\1\4\3\0\16\4\1\153"+
- "\11\4\104\0\1\154\103\0\1\155\103\0\1\156\1\0"+
- "\1\157\101\0\1\160\2\0\1\161\100\0\1\162\3\0"+
- "\1\163\77\0\1\164\5\0\1\165\75\0\1\166\103\0"+
- "\1\167\126\0\1\170\1\0\6\62\1\0\75\62\5\171"+
- "\1\172\76\171\7\0\2\71\2\0\1\71\2\0\1\67"+
- "\1\70\1\0\1\72\10\0\1\72\1\67\13\0\1\70"+
- "\43\0\2\173\2\0\1\173\2\0\1\67\1\70\2\0"+
- "\1\173\10\0\1\67\13\0\1\70\12\0\1\173\30\0"+
- "\3\174\1\66\1\174\1\0\3\174\1\175\1\174\10\0"+
- "\3\174\1\66\2\0\2\174\5\0\1\174\43\0\2\74"+
- "\1\0\1\66\1\74\21\0\1\66\66\0\1\176\63\0"+
- "\6\13\1\0\75\13\6\14\1\0\75\14\2\0\2\4"+
- "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\2\4"+
- "\1\177\2\4\1\200\7\4\1\201\12\4\27\0\2\4"+
+ "\1\121\14\4\26\0\1\4\2\0\2\4\3\0\11\4"+
+ "\1\0\1\4\1\0\1\4\3\0\1\122\1\4\1\123"+
+ "\12\4\1\124\1\125\7\4\1\126\1\4\26\0\1\4"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\2\4\1\127\1\130\1\4\1\131\22\4\26\0"+
+ "\1\4\2\0\2\4\3\0\11\4\1\0\1\4\1\0"+
+ "\1\4\3\0\1\4\1\132\11\4\1\133\1\4\1\134"+
+ "\12\4\26\0\1\4\2\0\2\4\3\0\11\4\1\0"+
+ "\1\4\1\0\1\4\3\0\5\4\1\135\1\136\4\4"+
+ "\1\137\2\4\1\140\11\4\26\0\1\4\2\0\2\4"+
+ "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\4\4"+
+ "\1\141\3\4\1\142\10\4\1\143\6\4\26\0\1\4"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\3\4\1\144\7\4\1\145\14\4\26\0\1\4"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\13\4\1\146\14\4\26\0\1\4\2\0\2\4"+
"\3\0\11\4\1\0\1\4\1\0\1\4\3\0\1\4"+
- "\1\202\15\4\1\203\10\4\27\0\2\4\3\0\11\4"+
- "\1\0\1\4\1\0\1\4\3\0\1\204\27\4\27\0"+
+ "\1\147\1\150\2\4\1\151\22\4\26\0\1\4\2\0"+
"\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\7\4\1\205\20\4\27\0\2\4\3\0\11\4\1\0"+
- "\1\4\1\0\1\4\3\0\2\4\1\206\25\4\27\0"+
+ "\13\4\1\152\14\4\26\0\1\4\2\0\2\4\3\0"+
+ "\11\4\1\0\1\4\1\0\1\4\3\0\16\4\1\153"+
+ "\11\4\26\0\1\4\57\0\1\154\105\0\1\155\105\0"+
+ "\1\156\1\0\1\157\103\0\1\160\2\0\1\161\102\0"+
+ "\1\162\3\0\1\163\101\0\1\164\5\0\1\165\77\0"+
+ "\1\166\105\0\1\167\130\0\1\170\3\0\6\62\1\0"+
+ "\77\62\5\171\1\172\100\171\7\0\2\71\2\0\1\71"+
+ "\2\0\1\67\1\70\1\0\1\72\10\0\1\72\1\67"+
+ "\13\0\1\70\45\0\2\173\2\0\1\173\2\0\1\67"+
+ "\1\70\2\0\1\173\10\0\1\67\13\0\1\70\12\0"+
+ "\1\173\32\0\3\174\1\66\1\174\1\0\3\174\1\175"+
+ "\1\174\10\0\3\174\1\66\2\0\2\174\5\0\1\174"+
+ "\45\0\2\74\1\0\1\66\1\74\21\0\1\66\70\0"+
+ "\1\176\65\0\6\13\1\0\77\13\6\14\1\0\77\14"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\2\4\1\177\2\4\1\200\7\4\1\201\12\4"+
+ "\26\0\1\4\2\0\2\4\3\0\11\4\1\0\1\4"+
+ "\1\0\1\4\3\0\1\4\1\202\15\4\1\203\10\4"+
+ "\26\0\1\4\2\0\2\4\3\0\11\4\1\0\1\4"+
+ "\1\0\1\4\3\0\1\204\27\4\26\0\1\4\2\0"+
"\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\1\207\27\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\6\4\1\210\21\4\27\0\2\4"+
+ "\7\4\1\205\20\4\26\0\1\4\2\0\2\4\3\0"+
+ "\11\4\1\0\1\4\1\0\1\4\3\0\2\4\1\206"+
+ "\25\4\26\0\1\4\2\0\2\4\3\0\11\4\1\0"+
+ "\1\4\1\0\1\4\3\0\1\207\27\4\26\0\1\4"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\6\4\1\210\21\4\26\0\1\4\2\0\2\4"+
"\3\0\11\4\1\0\1\4\1\0\1\4\3\0\13\4"+
- "\1\211\14\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\1\4\1\212\26\4\27\0\2\4"+
- "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\10\4"+
- "\1\213\17\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\7\4\1\214\20\4\27\0\2\4"+
+ "\1\211\14\4\26\0\1\4\2\0\2\4\3\0\11\4"+
+ "\1\0\1\4\1\0\1\4\3\0\1\4\1\212\26\4"+
+ "\26\0\1\4\2\0\2\4\3\0\11\4\1\0\1\4"+
+ "\1\0\1\4\3\0\10\4\1\213\17\4\26\0\1\4"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\7\4\1\214\20\4\26\0\1\4\2\0\2\4"+
"\3\0\11\4\1\0\1\4\1\0\1\4\3\0\7\4"+
- "\1\215\20\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\10\4\1\216\17\4\27\0\2\4"+
- "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\1\4"+
- "\1\217\3\4\1\220\22\4\27\0\2\4\3\0\11\4"+
- "\1\0\1\4\1\0\1\4\3\0\24\4\1\221\3\4"+
- "\27\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
- "\3\0\10\4\1\222\17\4\27\0\2\4\3\0\11\4"+
- "\1\0\1\4\1\0\1\4\3\0\13\4\1\223\14\4"+
- "\27\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
- "\3\0\17\4\1\224\10\4\27\0\2\4\3\0\11\4"+
- "\1\0\1\4\1\0\1\4\3\0\6\4\1\225\21\4"+
- "\27\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
- "\3\0\26\4\1\226\1\4\27\0\2\4\3\0\11\4"+
- "\1\0\1\4\1\0\1\4\3\0\1\227\27\4\27\0"+
+ "\1\215\20\4\26\0\1\4\2\0\2\4\3\0\11\4"+
+ "\1\0\1\4\1\0\1\4\3\0\10\4\1\216\17\4"+
+ "\26\0\1\4\2\0\2\4\3\0\11\4\1\0\1\4"+
+ "\1\0\1\4\3\0\1\4\1\217\3\4\1\220\22\4"+
+ "\26\0\1\4\2\0\2\4\3\0\11\4\1\0\1\4"+
+ "\1\0\1\4\3\0\24\4\1\221\3\4\26\0\1\4"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\10\4\1\222\17\4\26\0\1\4\2\0\2\4"+
+ "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\13\4"+
+ "\1\223\14\4\26\0\1\4\2\0\2\4\3\0\11\4"+
+ "\1\0\1\4\1\0\1\4\3\0\17\4\1\224\10\4"+
+ "\26\0\1\4\2\0\2\4\3\0\11\4\1\0\1\4"+
+ "\1\0\1\4\3\0\6\4\1\225\21\4\26\0\1\4"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\26\4\1\226\1\4\26\0\1\4\2\0\2\4"+
+ "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\1\227"+
+ "\27\4\26\0\1\4\2\0\2\4\3\0\11\4\1\0"+
+ "\1\4\1\0\1\4\3\0\3\4\1\230\24\4\26\0"+
+ "\1\4\2\0\2\4\3\0\11\4\1\0\1\4\1\0"+
+ "\1\4\3\0\13\4\1\231\14\4\26\0\1\4\2\0"+
"\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\3\4\1\230\24\4\27\0\2\4\3\0\11\4\1\0"+
- "\1\4\1\0\1\4\3\0\13\4\1\231\14\4\27\0"+
+ "\1\232\27\4\26\0\1\4\2\0\2\4\3\0\11\4"+
+ "\1\0\1\4\1\0\1\4\3\0\1\233\6\4\1\234"+
+ "\20\4\26\0\1\4\2\0\2\4\3\0\11\4\1\0"+
+ "\1\4\1\0\1\4\3\0\5\4\1\235\22\4\26\0"+
+ "\1\4\2\0\2\4\3\0\11\4\1\0\1\4\1\0"+
+ "\1\4\3\0\10\4\1\236\17\4\26\0\1\4\2\0"+
"\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\1\232\27\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\1\233\6\4\1\234\20\4\27\0"+
+ "\5\4\1\237\22\4\26\0\1\4\2\0\2\4\3\0"+
+ "\11\4\1\0\1\4\1\0\1\4\3\0\1\240\6\4"+
+ "\1\241\20\4\26\0\1\4\2\0\2\4\3\0\11\4"+
+ "\1\0\1\4\1\0\1\4\3\0\24\4\1\242\3\4"+
+ "\26\0\1\4\2\0\2\4\3\0\11\4\1\0\1\4"+
+ "\1\0\1\4\3\0\4\4\1\243\23\4\26\0\1\4"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\2\4\1\244\25\4\26\0\1\4\2\0\2\4"+
+ "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\1\245"+
+ "\27\4\26\0\1\4\2\0\2\4\3\0\11\4\1\0"+
+ "\1\4\1\0\1\4\3\0\13\4\1\246\3\4\1\247"+
+ "\10\4\26\0\1\4\2\0\2\4\3\0\11\4\1\0"+
+ "\1\4\1\0\1\4\3\0\11\4\1\250\16\4\26\0"+
+ "\1\4\2\0\2\4\3\0\11\4\1\0\1\4\1\0"+
+ "\1\4\3\0\12\4\1\251\15\4\26\0\1\4\2\0"+
"\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\5\4\1\235\22\4\27\0\2\4\3\0\11\4\1\0"+
- "\1\4\1\0\1\4\3\0\10\4\1\236\17\4\27\0"+
+ "\6\4\1\252\10\4\1\253\10\4\26\0\1\4\2\0"+
"\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\5\4\1\237\22\4\27\0\2\4\3\0\11\4\1\0"+
- "\1\4\1\0\1\4\3\0\1\240\6\4\1\241\20\4"+
- "\27\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
- "\3\0\24\4\1\242\3\4\27\0\2\4\3\0\11\4"+
- "\1\0\1\4\1\0\1\4\3\0\4\4\1\243\23\4"+
- "\27\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
- "\3\0\2\4\1\244\25\4\27\0\2\4\3\0\11\4"+
- "\1\0\1\4\1\0\1\4\3\0\1\245\27\4\27\0"+
+ "\17\4\1\254\10\4\26\0\1\4\57\0\1\255\26\0"+
+ "\5\171\1\256\100\171\4\257\1\260\1\172\100\257\7\0"+
+ "\2\173\2\0\1\173\2\0\1\67\1\70\13\0\1\67"+
+ "\13\0\1\70\45\0\3\174\1\66\1\174\1\0\3\174"+
+ "\1\261\1\174\1\0\1\72\6\0\3\174\1\66\2\0"+
+ "\2\174\5\0\1\174\3\0\1\72\41\0\3\261\1\0"+
+ "\1\261\1\0\3\261\1\0\1\261\10\0\3\261\3\0"+
+ "\2\261\5\0\1\261\40\0\2\4\3\0\11\4\1\0"+
+ "\1\4\1\0\1\4\3\0\3\4\1\262\24\4\26\0"+
+ "\1\4\2\0\2\4\3\0\11\4\1\0\1\4\1\0"+
+ "\1\4\3\0\10\4\1\263\17\4\26\0\1\4\2\0"+
"\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\13\4\1\246\3\4\1\247\10\4\27\0\2\4\3\0"+
- "\11\4\1\0\1\4\1\0\1\4\3\0\11\4\1\250"+
- "\16\4\27\0\2\4\3\0\11\4\1\0\1\4\1\0"+
- "\1\4\3\0\12\4\1\251\15\4\27\0\2\4\3\0"+
- "\11\4\1\0\1\4\1\0\1\4\3\0\6\4\1\252"+
- "\10\4\1\253\10\4\27\0\2\4\3\0\11\4\1\0"+
- "\1\4\1\0\1\4\3\0\17\4\1\254\10\4\104\0"+
- "\1\255\24\0\5\171\1\256\76\171\4\257\1\260\1\172"+
- "\76\257\7\0\2\173\2\0\1\173\2\0\1\67\1\70"+
- "\13\0\1\67\13\0\1\70\43\0\3\174\1\66\1\174"+
- "\1\0\3\174\1\261\1\174\1\0\1\72\6\0\3\174"+
- "\1\66\2\0\2\174\5\0\1\174\3\0\1\72\37\0"+
- "\3\261\1\0\1\261\1\0\3\261\1\0\1\261\10\0"+
- "\3\261\3\0\2\261\5\0\1\261\36\0\2\4\3\0"+
- "\11\4\1\0\1\4\1\0\1\4\3\0\3\4\1\262"+
- "\24\4\27\0\2\4\3\0\11\4\1\0\1\4\1\0"+
- "\1\4\3\0\10\4\1\263\17\4\27\0\2\4\3\0"+
- "\11\4\1\0\1\4\1\0\1\4\3\0\13\4\1\264"+
- "\14\4\27\0\2\4\3\0\11\4\1\0\1\4\1\0"+
- "\1\4\3\0\7\4\1\265\20\4\27\0\2\4\3\0"+
- "\11\4\1\0\1\4\1\0\1\4\3\0\2\4\1\266"+
- "\25\4\27\0\2\4\3\0\11\4\1\0\1\4\1\0"+
- "\1\4\3\0\3\4\1\267\24\4\27\0\2\4\3\0"+
- "\11\4\1\0\1\4\1\0\1\4\3\0\21\4\1\270"+
- "\6\4\27\0\2\4\3\0\11\4\1\0\1\4\1\0"+
- "\1\4\3\0\3\4\1\271\24\4\27\0\2\4\3\0"+
- "\11\4\1\0\1\4\1\0\1\4\3\0\7\4\1\272"+
- "\20\4\27\0\2\4\3\0\11\4\1\0\1\4\1\0"+
- "\1\4\3\0\5\4\1\273\22\4\27\0\2\4\3\0"+
- "\11\4\1\0\1\4\1\0\1\4\3\0\5\4\1\274"+
- "\22\4\27\0\2\4\3\0\11\4\1\0\1\4\1\0"+
- "\1\4\3\0\3\4\1\275\24\4\27\0\2\4\3\0"+
- "\11\4\1\0\1\4\1\0\1\4\3\0\1\276\27\4"+
- "\27\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
- "\3\0\23\4\1\277\4\4\27\0\2\4\3\0\11\4"+
- "\1\0\1\4\1\0\1\4\3\0\17\4\1\300\10\4"+
- "\27\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
- "\3\0\1\301\27\4\27\0\2\4\3\0\11\4\1\0"+
- "\1\4\1\0\1\4\3\0\3\4\1\302\24\4\27\0"+
+ "\13\4\1\264\14\4\26\0\1\4\2\0\2\4\3\0"+
+ "\11\4\1\0\1\4\1\0\1\4\3\0\7\4\1\265"+
+ "\20\4\26\0\1\4\2\0\2\4\3\0\11\4\1\0"+
+ "\1\4\1\0\1\4\3\0\2\4\1\266\25\4\26\0"+
+ "\1\4\2\0\2\4\3\0\11\4\1\0\1\4\1\0"+
+ "\1\4\3\0\3\4\1\267\24\4\26\0\1\4\2\0"+
"\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\12\4\1\303\15\4\27\0\2\4\3\0\11\4\1\0"+
- "\1\4\1\0\1\4\3\0\1\4\1\304\26\4\27\0"+
+ "\21\4\1\270\6\4\26\0\1\4\2\0\2\4\3\0"+
+ "\11\4\1\0\1\4\1\0\1\4\3\0\3\4\1\271"+
+ "\24\4\26\0\1\4\2\0\2\4\3\0\11\4\1\0"+
+ "\1\4\1\0\1\4\3\0\7\4\1\272\20\4\26\0"+
+ "\1\4\2\0\2\4\3\0\11\4\1\0\1\4\1\0"+
+ "\1\4\3\0\5\4\1\273\22\4\26\0\1\4\2\0"+
"\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\1\305\27\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\6\4\1\306\21\4\27\0\2\4"+
+ "\5\4\1\274\22\4\26\0\1\4\2\0\2\4\3\0"+
+ "\11\4\1\0\1\4\1\0\1\4\3\0\3\4\1\275"+
+ "\24\4\26\0\1\4\2\0\2\4\3\0\11\4\1\0"+
+ "\1\4\1\0\1\4\3\0\1\276\27\4\26\0\1\4"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\23\4\1\277\4\4\26\0\1\4\2\0\2\4"+
"\3\0\11\4\1\0\1\4\1\0\1\4\3\0\17\4"+
- "\1\307\10\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\5\4\1\310\22\4\27\0\2\4"+
- "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\6\4"+
- "\1\311\21\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\3\4\1\312\24\4\27\0\2\4"+
- "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\12\4"+
- "\1\313\15\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\3\4\1\314\24\4\27\0\2\4"+
- "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\7\4"+
- "\1\315\20\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\1\316\6\4\1\317\20\4\27\0"+
+ "\1\300\10\4\26\0\1\4\2\0\2\4\3\0\11\4"+
+ "\1\0\1\4\1\0\1\4\3\0\1\301\27\4\26\0"+
+ "\1\4\2\0\2\4\3\0\11\4\1\0\1\4\1\0"+
+ "\1\4\3\0\3\4\1\302\24\4\26\0\1\4\2\0"+
"\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\1\4\1\320\26\4\27\0\2\4\3\0\11\4\1\0"+
- "\1\4\1\0\1\4\3\0\3\4\1\321\24\4\27\0"+
- "\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\1\322\27\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\6\4\1\323\4\4\1\324\14\4"+
- "\27\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
- "\3\0\5\4\1\325\22\4\27\0\2\4\3\0\11\4"+
- "\1\0\1\4\1\0\1\4\3\0\11\4\1\326\16\4"+
- "\27\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
- "\3\0\13\4\1\327\14\4\27\0\2\4\3\0\11\4"+
- "\1\0\1\4\1\0\1\4\3\0\1\330\27\4\27\0"+
+ "\12\4\1\303\15\4\26\0\1\4\2\0\2\4\3\0"+
+ "\11\4\1\0\1\4\1\0\1\4\3\0\1\4\1\304"+
+ "\26\4\26\0\1\4\2\0\2\4\3\0\11\4\1\0"+
+ "\1\4\1\0\1\4\3\0\1\305\27\4\26\0\1\4"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\6\4\1\306\21\4\26\0\1\4\2\0\2\4"+
+ "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\17\4"+
+ "\1\307\10\4\26\0\1\4\2\0\2\4\3\0\11\4"+
+ "\1\0\1\4\1\0\1\4\3\0\5\4\1\310\22\4"+
+ "\26\0\1\4\2\0\2\4\3\0\11\4\1\0\1\4"+
+ "\1\0\1\4\3\0\6\4\1\311\21\4\26\0\1\4"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\3\4\1\312\24\4\26\0\1\4\2\0\2\4"+
+ "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\12\4"+
+ "\1\313\15\4\26\0\1\4\2\0\2\4\3\0\11\4"+
+ "\1\0\1\4\1\0\1\4\3\0\3\4\1\314\24\4"+
+ "\26\0\1\4\2\0\2\4\3\0\11\4\1\0\1\4"+
+ "\1\0\1\4\3\0\7\4\1\315\20\4\26\0\1\4"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\1\316\6\4\1\317\20\4\26\0\1\4\2\0"+
"\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\25\4\1\331\2\4\27\0\2\4\3\0\11\4\1\0"+
- "\1\4\1\0\1\4\3\0\6\4\1\332\21\4\27\0"+
+ "\1\4\1\320\26\4\26\0\1\4\2\0\2\4\3\0"+
+ "\11\4\1\0\1\4\1\0\1\4\3\0\3\4\1\321"+
+ "\24\4\26\0\1\4\2\0\2\4\3\0\11\4\1\0"+
+ "\1\4\1\0\1\4\3\0\1\322\27\4\26\0\1\4"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\6\4\1\323\4\4\1\324\14\4\26\0\1\4"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\5\4\1\325\22\4\26\0\1\4\2\0\2\4"+
+ "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\11\4"+
+ "\1\326\16\4\26\0\1\4\2\0\2\4\3\0\11\4"+
+ "\1\0\1\4\1\0\1\4\3\0\13\4\1\327\14\4"+
+ "\26\0\1\4\2\0\2\4\3\0\11\4\1\0\1\4"+
+ "\1\0\1\4\3\0\1\330\27\4\26\0\1\4\2\0"+
"\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\14\4\1\333\13\4\27\0\2\4\3\0\11\4\1\0"+
- "\1\4\1\0\1\4\3\0\5\4\1\334\22\4\27\0"+
+ "\25\4\1\331\2\4\26\0\1\4\2\0\2\4\3\0"+
+ "\11\4\1\0\1\4\1\0\1\4\3\0\6\4\1\332"+
+ "\21\4\26\0\1\4\2\0\2\4\3\0\11\4\1\0"+
+ "\1\4\1\0\1\4\3\0\14\4\1\333\13\4\26\0"+
+ "\1\4\2\0\2\4\3\0\11\4\1\0\1\4\1\0"+
+ "\1\4\3\0\5\4\1\334\22\4\26\0\1\4\2\0"+
"\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\20\4\1\335\7\4\27\0\2\4\3\0\11\4\1\0"+
- "\1\4\1\0\1\4\3\0\6\4\1\336\21\4\25\0"+
- "\4\171\1\337\1\256\76\171\5\257\1\340\76\257\7\0"+
- "\3\261\1\0\1\261\1\0\3\261\1\0\1\261\1\0"+
- "\1\72\6\0\3\261\3\0\2\261\5\0\1\261\3\0"+
- "\1\72\32\0\2\4\3\0\11\4\1\0\1\4\1\0"+
- "\1\4\3\0\7\4\1\341\20\4\27\0\2\4\3\0"+
- "\11\4\1\0\1\4\1\0\1\4\3\0\26\4\1\342"+
- "\1\4\27\0\2\4\3\0\11\4\1\0\1\4\1\0"+
- "\1\4\3\0\1\4\1\343\26\4\27\0\2\4\3\0"+
- "\11\4\1\0\1\4\1\0\1\4\3\0\10\4\1\344"+
- "\17\4\27\0\2\4\3\0\11\4\1\0\1\4\1\0"+
- "\1\4\3\0\3\4\1\345\24\4\27\0\2\4\3\0"+
- "\11\4\1\0\1\4\1\0\1\4\3\0\1\346\27\4"+
- "\27\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
- "\3\0\6\4\1\347\21\4\27\0\2\4\3\0\11\4"+
- "\1\0\1\4\1\0\1\4\3\0\1\4\1\350\26\4"+
- "\27\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
- "\3\0\1\4\1\351\26\4\27\0\2\4\3\0\11\4"+
- "\1\0\1\4\1\0\1\4\3\0\12\4\1\352\15\4"+
- "\27\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
- "\3\0\17\4\1\353\10\4\27\0\2\4\3\0\11\4"+
- "\1\0\1\4\1\0\1\4\3\0\1\4\1\354\26\4"+
- "\27\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
- "\3\0\16\4\1\355\11\4\27\0\2\4\3\0\11\4"+
- "\1\0\1\4\1\0\1\4\3\0\1\356\27\4\27\0"+
+ "\20\4\1\335\7\4\26\0\1\4\2\0\2\4\3\0"+
+ "\11\4\1\0\1\4\1\0\1\4\3\0\6\4\1\336"+
+ "\21\4\26\0\1\4\4\171\1\337\1\256\100\171\5\257"+
+ "\1\340\100\257\7\0\3\261\1\0\1\261\1\0\3\261"+
+ "\1\0\1\261\1\0\1\72\6\0\3\261\3\0\2\261"+
+ "\5\0\1\261\3\0\1\72\34\0\2\4\3\0\11\4"+
+ "\1\0\1\4\1\0\1\4\3\0\7\4\1\341\20\4"+
+ "\26\0\1\4\2\0\2\4\3\0\11\4\1\0\1\4"+
+ "\1\0\1\4\3\0\26\4\1\342\1\4\26\0\1\4"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\1\4\1\343\26\4\26\0\1\4\2\0\2\4"+
+ "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\10\4"+
+ "\1\344\17\4\26\0\1\4\2\0\2\4\3\0\11\4"+
+ "\1\0\1\4\1\0\1\4\3\0\3\4\1\345\24\4"+
+ "\26\0\1\4\2\0\2\4\3\0\11\4\1\0\1\4"+
+ "\1\0\1\4\3\0\1\346\27\4\26\0\1\4\2\0"+
"\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\12\4\1\357\15\4\27\0\2\4\3\0\11\4\1\0"+
- "\1\4\1\0\1\4\3\0\25\4\1\360\2\4\27\0"+
+ "\6\4\1\347\21\4\26\0\1\4\2\0\2\4\3\0"+
+ "\11\4\1\0\1\4\1\0\1\4\3\0\1\4\1\350"+
+ "\26\4\26\0\1\4\2\0\2\4\3\0\11\4\1\0"+
+ "\1\4\1\0\1\4\3\0\1\4\1\351\26\4\26\0"+
+ "\1\4\2\0\2\4\3\0\11\4\1\0\1\4\1\0"+
+ "\1\4\3\0\12\4\1\352\15\4\26\0\1\4\2\0"+
"\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\14\4\1\361\13\4\27\0\2\4\3\0\11\4\1\0"+
- "\1\4\1\0\1\4\3\0\3\4\1\362\24\4\27\0"+
+ "\17\4\1\353\10\4\26\0\1\4\2\0\2\4\3\0"+
+ "\11\4\1\0\1\4\1\0\1\4\3\0\1\4\1\354"+
+ "\26\4\26\0\1\4\2\0\2\4\3\0\11\4\1\0"+
+ "\1\4\1\0\1\4\3\0\16\4\1\355\11\4\26\0"+
+ "\1\4\2\0\2\4\3\0\11\4\1\0\1\4\1\0"+
+ "\1\4\3\0\1\356\27\4\26\0\1\4\2\0\2\4"+
+ "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\12\4"+
+ "\1\357\15\4\26\0\1\4\2\0\2\4\3\0\11\4"+
+ "\1\0\1\4\1\0\1\4\3\0\25\4\1\360\2\4"+
+ "\26\0\1\4\2\0\2\4\3\0\11\4\1\0\1\4"+
+ "\1\0\1\4\3\0\14\4\1\361\13\4\26\0\1\4"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\3\4\1\362\24\4\26\0\1\4\2\0\2\4"+
+ "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\16\4"+
+ "\1\363\11\4\26\0\1\4\2\0\2\4\3\0\11\4"+
+ "\1\0\1\4\1\0\1\4\3\0\7\4\1\364\20\4"+
+ "\26\0\1\4\2\0\2\4\3\0\11\4\1\0\1\4"+
+ "\1\0\1\4\3\0\17\4\1\365\10\4\26\0\1\4"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\1\366\27\4\26\0\1\4\2\0\2\4\3\0"+
+ "\11\4\1\0\1\4\1\0\1\4\3\0\1\4\1\367"+
+ "\26\4\26\0\1\4\2\0\2\4\3\0\11\4\1\0"+
+ "\1\4\1\0\1\4\3\0\5\4\1\370\22\4\26\0"+
+ "\1\4\2\0\2\4\3\0\11\4\1\0\1\4\1\0"+
+ "\1\4\3\0\3\4\1\371\24\4\26\0\1\4\2\0"+
"\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\16\4\1\363\11\4\27\0\2\4\3\0\11\4\1\0"+
- "\1\4\1\0\1\4\3\0\7\4\1\364\20\4\27\0"+
+ "\1\4\1\372\26\4\26\0\1\4\2\0\2\4\3\0"+
+ "\11\4\1\0\1\4\1\0\1\4\3\0\2\4\1\373"+
+ "\25\4\26\0\1\4\2\0\2\4\3\0\11\4\1\0"+
+ "\1\4\1\0\1\4\3\0\6\4\1\374\21\4\26\0"+
+ "\1\4\2\0\2\4\3\0\11\4\1\0\1\4\1\0"+
+ "\1\4\3\0\3\4\1\375\24\4\26\0\1\4\2\0"+
"\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\17\4\1\365\10\4\27\0\2\4\3\0\11\4\1\0"+
- "\1\4\1\0\1\4\3\0\1\366\27\4\27\0\2\4"+
- "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\1\4"+
- "\1\367\26\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\5\4\1\370\22\4\27\0\2\4"+
- "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\3\4"+
- "\1\371\24\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\1\4\1\372\26\4\27\0\2\4"+
- "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\2\4"+
- "\1\373\25\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\6\4\1\374\21\4\27\0\2\4"+
+ "\5\4\1\376\22\4\26\0\1\4\2\0\2\4\3\0"+
+ "\11\4\1\0\1\4\1\0\1\4\3\0\17\4\1\377"+
+ "\10\4\26\0\1\4\2\0\2\4\3\0\11\4\1\0"+
+ "\1\4\1\0\1\4\3\0\5\4\1\u0100\22\4\26\0"+
+ "\1\4\2\0\2\4\3\0\11\4\1\0\1\4\1\0"+
+ "\1\4\3\0\1\u0101\27\4\26\0\1\4\2\0\2\4"+
"\3\0\11\4\1\0\1\4\1\0\1\4\3\0\3\4"+
- "\1\375\24\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\5\4\1\376\22\4\27\0\2\4"+
- "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\17\4"+
- "\1\377\10\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\5\4\1\u0100\22\4\27\0\2\4"+
- "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\1\u0101"+
- "\27\4\27\0\2\4\3\0\11\4\1\0\1\4\1\0"+
- "\1\4\3\0\3\4\1\u0102\24\4\25\0\4\257\1\260"+
- "\1\340\76\257\2\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\17\4\1\u0103\10\4\27\0\2\4"+
+ "\1\u0102\24\4\26\0\1\4\4\257\1\260\1\340\100\257"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\17\4\1\u0103\10\4\26\0\1\4\2\0\2\4"+
"\3\0\11\4\1\0\1\4\1\0\1\4\3\0\7\4"+
- "\1\u0104\20\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\10\4\1\u0105\17\4\27\0\2\4"+
- "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\20\4"+
- "\1\u0106\7\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\6\4\1\u0107\21\4\27\0\2\4"+
+ "\1\u0104\20\4\26\0\1\4\2\0\2\4\3\0\11\4"+
+ "\1\0\1\4\1\0\1\4\3\0\10\4\1\u0105\17\4"+
+ "\26\0\1\4\2\0\2\4\3\0\11\4\1\0\1\4"+
+ "\1\0\1\4\3\0\20\4\1\u0106\7\4\26\0\1\4"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\6\4\1\u0107\21\4\26\0\1\4\2\0\2\4"+
"\3\0\11\4\1\0\1\4\1\0\1\4\3\0\1\u0108"+
- "\27\4\27\0\2\4\3\0\11\4\1\0\1\4\1\0"+
- "\1\4\3\0\5\4\1\u0109\22\4\27\0\2\4\3\0"+
- "\11\4\1\0\1\4\1\0\1\4\3\0\1\u010a\27\4"+
- "\27\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
- "\3\0\12\4\1\u010b\15\4\27\0\2\4\3\0\11\4"+
+ "\27\4\26\0\1\4\2\0\2\4\3\0\11\4\1\0"+
+ "\1\4\1\0\1\4\3\0\5\4\1\u0109\22\4\26\0"+
+ "\1\4\2\0\2\4\3\0\11\4\1\0\1\4\1\0"+
+ "\1\4\3\0\1\u010a\27\4\26\0\1\4\2\0\2\4"+
+ "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\12\4"+
+ "\1\u010b\15\4\26\0\1\4\2\0\2\4\3\0\11\4"+
"\1\0\1\4\1\0\1\4\3\0\1\4\1\u010c\26\4"+
- "\27\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
- "\3\0\16\4\1\u010d\11\4\27\0\2\4\3\0\11\4"+
- "\1\0\1\4\1\0\1\4\3\0\3\4\1\u010e\24\4"+
- "\27\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
- "\3\0\5\4\1\u010f\22\4\27\0\2\4\3\0\11\4"+
+ "\26\0\1\4\2\0\2\4\3\0\11\4\1\0\1\4"+
+ "\1\0\1\4\3\0\16\4\1\u010d\11\4\26\0\1\4"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\3\4\1\u010e\24\4\26\0\1\4\2\0\2\4"+
+ "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\5\4"+
+ "\1\u010f\22\4\26\0\1\4\2\0\2\4\3\0\11\4"+
"\1\0\1\4\1\0\1\4\3\0\10\4\1\u0110\17\4"+
- "\27\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
- "\3\0\4\4\1\u0111\23\4\27\0\2\4\3\0\11\4"+
- "\1\0\1\4\1\0\1\4\3\0\10\4\1\u0112\17\4"+
- "\27\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
- "\3\0\21\4\1\u0113\6\4\27\0\2\4\3\0\11\4"+
- "\1\0\1\4\1\0\1\4\3\0\1\u0114\27\4\27\0"+
- "\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\6\4\1\u0115\21\4\27\0\2\4\3\0\11\4\1\0"+
- "\1\4\1\0\1\4\3\0\3\4\1\u0116\24\4\27\0"+
- "\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\12\4\1\u0117\15\4\27\0\2\4\3\0\11\4\1\0"+
- "\1\4\1\0\1\4\3\0\1\u0118\27\4\27\0\2\4"+
- "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\12\4"+
- "\1\u0119\15\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\23\4\1\u011a\4\4\27\0\2\4"+
- "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\17\4"+
- "\1\u011b\10\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\3\4\1\u011c\24\4\27\0\2\4"+
- "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\7\4"+
- "\1\u011d\20\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\15\4\1\u011e\12\4\27\0\2\4"+
- "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\12\4"+
- "\1\u011f\15\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\4\4\1\u0120\23\4\27\0\2\4"+
- "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\13\4"+
- "\1\u0121\14\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\10\4\1\u0122\17\4\27\0\2\4"+
- "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\2\4"+
- "\1\u0123\25\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\5\4\1\u0124\22\4\27\0\2\4"+
- "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\12\4"+
- "\1\u0125\15\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\3\4\1\u0126\24\4\27\0\2\4"+
- "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\1\u0127"+
- "\27\4\27\0\2\4\3\0\11\4\1\0\1\4\1\0"+
- "\1\4\3\0\1\u0128\27\4\27\0\2\4\3\0\11\4"+
- "\1\0\1\4\1\0\1\4\3\0\3\4\1\u0129\24\4"+
- "\27\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
- "\3\0\3\4\1\u012a\24\4\27\0\2\4\3\0\11\4"+
- "\1\0\1\4\1\0\1\4\3\0\6\4\1\u012b\21\4"+
- "\27\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
- "\3\0\10\4\1\u012c\17\4\27\0\2\4\3\0\11\4"+
- "\1\0\1\4\1\0\1\4\3\0\1\u012d\27\4\27\0"+
- "\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\24\4\1\u012e\3\4\27\0\2\4\3\0\11\4\1\0"+
- "\1\4\1\0\1\4\3\0\10\4\1\u012f\17\4\27\0"+
- "\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\3\4\1\u0130\24\4\27\0\2\4\3\0\11\4\1\0"+
- "\1\4\1\0\1\4\3\0\12\4\1\u0131\15\4\27\0"+
+ "\26\0\1\4\2\0\2\4\3\0\11\4\1\0\1\4"+
+ "\1\0\1\4\3\0\4\4\1\u0111\23\4\26\0\1\4"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\10\4\1\u0112\17\4\26\0\1\4\2\0\2\4"+
+ "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\21\4"+
+ "\1\u0113\6\4\26\0\1\4\2\0\2\4\3\0\11\4"+
+ "\1\0\1\4\1\0\1\4\3\0\1\u0114\27\4\26\0"+
+ "\1\4\2\0\2\4\3\0\11\4\1\0\1\4\1\0"+
+ "\1\4\3\0\6\4\1\u0115\21\4\26\0\1\4\2\0"+
"\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\3\4\1\u0132\24\4\27\0\2\4\3\0\11\4\1\0"+
- "\1\4\1\0\1\4\3\0\10\4\1\u0133\17\4\27\0"+
+ "\3\4\1\u0116\24\4\26\0\1\4\2\0\2\4\3\0"+
+ "\11\4\1\0\1\4\1\0\1\4\3\0\12\4\1\u0117"+
+ "\15\4\26\0\1\4\2\0\2\4\3\0\11\4\1\0"+
+ "\1\4\1\0\1\4\3\0\1\u0118\27\4\26\0\1\4"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\12\4\1\u0119\15\4\26\0\1\4\2\0\2\4"+
+ "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\23\4"+
+ "\1\u011a\4\4\26\0\1\4\2\0\2\4\3\0\11\4"+
+ "\1\0\1\4\1\0\1\4\3\0\17\4\1\u011b\10\4"+
+ "\26\0\1\4\2\0\2\4\3\0\11\4\1\0\1\4"+
+ "\1\0\1\4\3\0\3\4\1\u011c\24\4\26\0\1\4"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\7\4\1\u011d\20\4\26\0\1\4\2\0\2\4"+
+ "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\15\4"+
+ "\1\u011e\12\4\26\0\1\4\2\0\2\4\3\0\11\4"+
+ "\1\0\1\4\1\0\1\4\3\0\12\4\1\u011f\15\4"+
+ "\26\0\1\4\2\0\2\4\3\0\11\4\1\0\1\4"+
+ "\1\0\1\4\3\0\4\4\1\u0120\23\4\26\0\1\4"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\13\4\1\u0121\14\4\26\0\1\4\2\0\2\4"+
+ "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\10\4"+
+ "\1\u0122\17\4\26\0\1\4\2\0\2\4\3\0\11\4"+
+ "\1\0\1\4\1\0\1\4\3\0\2\4\1\u0123\25\4"+
+ "\26\0\1\4\2\0\2\4\3\0\11\4\1\0\1\4"+
+ "\1\0\1\4\3\0\5\4\1\u0124\22\4\26\0\1\4"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\12\4\1\u0125\15\4\26\0\1\4\2\0\2\4"+
+ "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\3\4"+
+ "\1\u0126\24\4\26\0\1\4\2\0\2\4\3\0\11\4"+
+ "\1\0\1\4\1\0\1\4\3\0\1\u0127\27\4\26\0"+
+ "\1\4\2\0\2\4\3\0\11\4\1\0\1\4\1\0"+
+ "\1\4\3\0\1\u0128\27\4\26\0\1\4\2\0\2\4"+
+ "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\3\4"+
+ "\1\u0129\24\4\26\0\1\4\2\0\2\4\3\0\11\4"+
+ "\1\0\1\4\1\0\1\4\3\0\3\4\1\u012a\24\4"+
+ "\26\0\1\4\2\0\2\4\3\0\11\4\1\0\1\4"+
+ "\1\0\1\4\3\0\6\4\1\u012b\21\4\26\0\1\4"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\10\4\1\u012c\17\4\26\0\1\4\2\0\2\4"+
+ "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\1\u012d"+
+ "\27\4\26\0\1\4\2\0\2\4\3\0\11\4\1\0"+
+ "\1\4\1\0\1\4\3\0\24\4\1\u012e\3\4\26\0"+
+ "\1\4\2\0\2\4\3\0\11\4\1\0\1\4\1\0"+
+ "\1\4\3\0\10\4\1\u012f\17\4\26\0\1\4\2\0"+
"\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\3\4\1\u0134\24\4\27\0\2\4\3\0\11\4\1\0"+
- "\1\4\1\0\1\4\3\0\3\4\1\u0135\24\4\27\0"+
+ "\3\4\1\u0130\24\4\26\0\1\4\2\0\2\4\3\0"+
+ "\11\4\1\0\1\4\1\0\1\4\3\0\12\4\1\u0131"+
+ "\15\4\26\0\1\4\2\0\2\4\3\0\11\4\1\0"+
+ "\1\4\1\0\1\4\3\0\3\4\1\u0132\24\4\26\0"+
+ "\1\4\2\0\2\4\3\0\11\4\1\0\1\4\1\0"+
+ "\1\4\3\0\10\4\1\u0133\17\4\26\0\1\4\2\0"+
"\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
- "\1\u0136\27\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\17\4\1\u0137\10\4\27\0\2\4"+
+ "\3\4\1\u0134\24\4\26\0\1\4\2\0\2\4\3\0"+
+ "\11\4\1\0\1\4\1\0\1\4\3\0\3\4\1\u0135"+
+ "\24\4\26\0\1\4\2\0\2\4\3\0\11\4\1\0"+
+ "\1\4\1\0\1\4\3\0\1\u0136\27\4\26\0\1\4"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\17\4\1\u0137\10\4\26\0\1\4\2\0\2\4"+
"\3\0\11\4\1\0\1\4\1\0\1\4\3\0\3\4"+
- "\1\u0138\24\4\27\0\2\4\3\0\11\4\1\0\1\4"+
- "\1\0\1\4\3\0\13\4\1\u0139\14\4\27\0\2\4"+
- "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\1\u013a"+
- "\27\4\27\0\2\4\3\0\11\4\1\0\1\4\1\0"+
- "\1\4\3\0\20\4\1\u013b\7\4\27\0\2\4\3\0"+
+ "\1\u0138\24\4\26\0\1\4\2\0\2\4\3\0\11\4"+
+ "\1\0\1\4\1\0\1\4\3\0\13\4\1\u0139\14\4"+
+ "\26\0\1\4\2\0\2\4\3\0\11\4\1\0\1\4"+
+ "\1\0\1\4\3\0\1\u013a\27\4\26\0\1\4\2\0"+
+ "\2\4\3\0\11\4\1\0\1\4\1\0\1\4\3\0"+
+ "\20\4\1\u013b\7\4\26\0\1\4\2\0\2\4\3\0"+
"\11\4\1\0\1\4\1\0\1\4\3\0\27\4\1\u013c"+
- "\27\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
- "\3\0\4\4\1\u013d\23\4\27\0\2\4\3\0\11\4"+
- "\1\0\1\4\1\0\1\4\3\0\7\4\1\u013e\20\4"+
- "\27\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
- "\3\0\3\4\1\u013f\24\4\27\0\2\4\3\0\11\4"+
+ "\26\0\1\4\2\0\2\4\3\0\11\4\1\0\1\4"+
+ "\1\0\1\4\3\0\4\4\1\u013d\23\4\26\0\1\4"+
+ "\2\0\2\4\3\0\11\4\1\0\1\4\1\0\1\4"+
+ "\3\0\7\4\1\u013e\20\4\26\0\1\4\2\0\2\4"+
+ "\3\0\11\4\1\0\1\4\1\0\1\4\3\0\3\4"+
+ "\1\u013f\24\4\26\0\1\4\2\0\2\4\3\0\11\4"+
"\1\0\1\4\1\0\1\4\3\0\20\4\1\u0140\7\4"+
- "\25\0";
+ "\26\0\1\4";
private static int [] zzUnpackTrans() {
- int [] result = new int[15844];
+ int [] result = new int[16310];
int offset = 0;
offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
return result;
private static final int ZZ_UNKNOWN_ERROR = 0;
private static final int ZZ_NO_MATCH = 1;
private static final int ZZ_PUSHBACK_2BIG = 2;
- private static final char[] EMPTY_BUFFER = new char[0];
- private static final int YYEOF = -1;
- private static java.io.Reader zzReader = null; // Fake
/* error messages for the codes above */
- private static final String ZZ_ERROR_MSG[] = {
- "Unkown internal scanner error",
+ private static final String[] ZZ_ERROR_MSG = {
+ "Unknown internal scanner error",
"Error: could not match input",
"Error: pushback value was too large"
};
return j;
}
+ /** the input device */
+ private java.io.Reader zzReader;
+
/** the current state of the DFA */
private int zzState;
public void goTo(int offset) {
zzCurrentPos = zzMarkedPos = zzStartRead = offset;
zzPushbackPos = 0;
- zzAtEOF = offset < zzEndRead;
+ zzAtEOF = false;
}
* @return the unpacked character translation table
*/
private static char [] zzUnpackCMap(String packed) {
- char [] map = new char[0x10000];
+ char [] map = new char[0x110000];
int i = 0; /* index in packed string */
int j = 0; /* index in unpacked array */
- while (i < 2276) {
+ while (i < 2886) {
int count = packed.charAt(i++);
char value = packed.charAt(i++);
do map[j++] = value; while (--count > 0);
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 = (zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++] : zzBufferL.charAt(zzCurrentPosL++));
+ if (zzCurrentPosL < zzEndReadL) {
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL/*, zzEndReadL*/);
+ zzCurrentPosL += Character.charCount(zzInput);
+ }
else if (zzAtEOF) {
zzInput = YYEOF;
break zzForAction;
break zzForAction;
}
else {
- zzInput = (zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++] : zzBufferL.charAt(zzCurrentPosL++));
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL/*, zzEndReadL*/);
+ zzCurrentPosL += Character.charCount(zzInput);
}
}
int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
if (zzNext == -1) break zzForAction;
zzState = zzNext;
- int zzAttributes = zzAttrL[zzState];
+ zzAttributes = zzAttrL[zzState];
if ( (zzAttributes & 1) == 1 ) {
zzAction = zzState;
zzMarkedPosL = zzCurrentPosL;
// store back cached position
zzMarkedPos = zzMarkedPosL;
- switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
- case 68:
- { return JavaTokenType.LONG_KEYWORD;
- }
- case 111: break;
- case 99:
- { return JavaTokenType.PRIVATE_KEYWORD;
- }
- case 112: break;
- case 27:
- { return JavaTokenType.COMMA;
- }
- case 113: break;
- case 23:
- { return JavaTokenType.RBRACE;
- }
- case 114: break;
- case 22:
- { return JavaTokenType.LBRACE;
- }
- case 115: break;
- case 65:
- { return JavaTokenType.THIS_KEYWORD;
- }
- case 116: break;
- case 83:
- { return JavaTokenType.CLASS_KEYWORD;
- }
- case 117: break;
- case 14:
- { return JavaTokenType.PLUS;
- }
- case 118: break;
- case 54:
- { return JavaTokenType.XOREQ;
- }
- case 119: break;
- case 62:
- { return JavaTokenType.INT_KEYWORD;
- }
- case 120: break;
- case 80:
- { return JavaTokenType.SHORT_KEYWORD;
- }
- case 121: break;
- case 44:
- { return JavaTokenType.EQEQ;
- }
- case 122: break;
- case 67:
- { return myEnumKeyword ? JavaTokenType.ENUM_KEYWORD : JavaTokenType.IDENTIFIER;
- }
- case 123: break;
- case 101:
- { return JavaTokenType.ABSTRACT_KEYWORD;
- }
- case 124: break;
- case 69:
- { return JavaTokenType.NULL_KEYWORD;
- }
- case 125: break;
- case 95:
- { return JavaTokenType.EXTENDS_KEYWORD;
- }
- case 126: break;
- case 51:
- { return JavaTokenType.LTLT;
- }
- case 127: break;
- case 20:
- { return JavaTokenType.LPARENTH;
- }
- case 128: break;
- case 12:
- { return JavaTokenType.EXCL;
- }
- case 129: break;
- case 102:
- { return JavaTokenType.STRICTFP_KEYWORD;
- }
- case 130: break;
- case 34:
- { return JavaTokenType.DIVEQ;
- }
- case 131: break;
- case 89:
- { return JavaTokenType.STATIC_KEYWORD;
- }
- case 132: break;
- case 39:
- { return JavaTokenType.MINUSMINUS;
- }
- case 133: break;
- case 76:
- { return JavaTokenType.FALSE_KEYWORD;
- }
- case 134: break;
- case 1:
- { return JavaTokenType.BAD_CHARACTER;
- }
- case 135: break;
- case 90:
- { return JavaTokenType.SWITCH_KEYWORD;
- }
- case 136: break;
- case 26:
- { return JavaTokenType.SEMICOLON;
- }
- case 137: break;
- case 18:
- { return JavaTokenType.XOR;
- }
- case 138: break;
- case 38:
- { return JavaTokenType.DOUBLE_LITERAL;
- }
- case 139: break;
- case 46:
- { return JavaTokenType.OREQ;
- }
- case 140: break;
- case 11:
- { return JavaTokenType.EQ;
- }
- case 141: break;
- case 4:
- { return JavaTokenType.DIV;
- }
- case 142: break;
- case 66:
- { return JavaTokenType.ELSE_KEYWORD;
- }
- case 143: break;
- case 61:
- { return JavaTokenType.NEW_KEYWORD;
- }
- case 144: break;
- case 58:
- { return JavaTokenType.ELLIPSIS;
- }
- case 145: break;
- case 53:
- { return JavaTokenType.ANDAND;
- }
- case 146: break;
- case 81:
- { return JavaTokenType.BREAK_KEYWORD;
- }
- case 147: break;
- case 9:
- { return JavaTokenType.CHARACTER_LITERAL;
- }
- case 148: break;
- case 52:
- { return JavaTokenType.ANDEQ;
- }
- case 149: break;
- case 6:
- { return JavaTokenType.INTEGER_LITERAL;
- }
- case 150: break;
- case 77:
- { return JavaTokenType.FLOAT_KEYWORD;
- }
- case 151: break;
- case 10:
- { return JavaTokenType.STRING_LITERAL;
- }
- case 152: break;
- case 72:
- { return JavaTokenType.CHAR_KEYWORD;
- }
- case 153: break;
- case 91:
- { return JavaTokenType.NATIVE_KEYWORD;
- }
- case 154: break;
- case 43:
- { return JavaTokenType.DO_KEYWORD;
- }
- case 155: break;
- case 7:
- { return JavaTokenType.DOT;
- }
- case 156: break;
- case 28:
- { return JavaTokenType.TILDE;
- }
- case 157: break;
- case 110:
- { return JavaTokenType.SYNCHRONIZED_KEYWORD;
- }
- case 158: break;
- case 32:
- { return JavaTokenType.END_OF_LINE_COMMENT;
- }
- case 159: break;
- case 35:
- { return JavaTokenType.ASTERISKEQ;
- }
- case 160: break;
- case 79:
- { return JavaTokenType.SUPER_KEYWORD;
- }
- case 161: break;
- case 40:
- { return JavaTokenType.MINUSEQ;
- }
- case 162: break;
- case 63:
- { return JavaTokenType.LTLTEQ;
- }
- case 163: break;
- case 73:
- { return JavaTokenType.GOTO_KEYWORD;
- }
- case 164: break;
- case 25:
- { return JavaTokenType.RBRACKET;
- }
- case 165: break;
- case 33:
- { return JavaTokenType.C_STYLE_COMMENT;
- }
- case 166: break;
- case 15:
- { return JavaTokenType.LT;
- }
- case 167: break;
- case 42:
- { return JavaTokenType.IF_KEYWORD;
- }
- case 168: break;
- case 8:
- { return JavaTokenType.MINUS;
- }
- case 169: break;
- case 85:
- { return JavaTokenType.WHILE_KEYWORD;
- }
- case 170: break;
- case 70:
- { return JavaTokenType.BYTE_KEYWORD;
- }
- case 171: break;
- case 96:
- { return JavaTokenType.FINALLY_KEYWORD;
- }
- case 172: break;
- case 74:
- { return JavaTokenType.VOID_KEYWORD;
- }
- case 173: break;
- case 29:
- { return JavaTokenType.QUEST;
- }
- case 174: break;
- case 19:
- { return JavaTokenType.PERC;
- }
- case 175: break;
- case 109:
- { return JavaTokenType.IMPLEMENTS_KEYWORD;
- }
- case 176: break;
- case 86:
- { return JavaTokenType.THROWS_KEYWORD;
- }
- case 177: break;
- case 41:
- { return JavaTokenType.ARROW;
- }
- case 178: break;
- case 78:
- { return JavaTokenType.FINAL_KEYWORD;
- }
- case 179: break;
- case 93:
- { return JavaTokenType.DOUBLE_KEYWORD;
- }
- case 180: break;
- case 88:
- { return myAssertKeyword ? JavaTokenType.ASSERT_KEYWORD : JavaTokenType.IDENTIFIER;
- }
- case 181: break;
- case 107:
- { return JavaTokenType.PROTECTED_KEYWORD;
- }
- case 182: break;
- case 103:
- { return JavaTokenType.CONTINUE_KEYWORD;
- }
- case 183: break;
- case 100:
- { return JavaTokenType.PACKAGE_KEYWORD;
- }
- case 184: break;
- case 16:
- { return JavaTokenType.GT;
- }
- case 185: break;
- case 24:
- { return JavaTokenType.LBRACKET;
- }
- case 186: break;
- case 36:
- { return JavaTokenType.LONG_LITERAL;
- }
- case 187: break;
- case 60:
- { return JavaTokenType.FOR_KEYWORD;
- }
- case 188: break;
- case 98:
- { return JavaTokenType.DEFAULT_KEYWORD;
- }
- case 189: break;
- case 48:
- { return JavaTokenType.PLUSEQ;
- }
- case 190: break;
- case 87:
- { return JavaTokenType.RETURN_KEYWORD;
- }
- case 191: break;
- case 64:
- { return JavaTokenType.TRUE_KEYWORD;
- }
- case 192: break;
- case 49:
- { return JavaTokenType.PLUSPLUS;
- }
- case 193: break;
- case 47:
- { return JavaTokenType.OROR;
- }
- case 194: break;
- case 13:
- { return JavaTokenType.OR;
- }
- case 195: break;
- case 3:
- { return JavaTokenType.IDENTIFIER;
- }
- case 196: break;
- case 55:
- { return JavaTokenType.PERCEQ;
- }
- case 197: break;
- case 30:
- { return JavaTokenType.COLON;
- }
- case 198: break;
- case 104:
- { return JavaTokenType.VOLATILE_KEYWORD;
- }
- case 199: break;
- case 106:
- { return JavaTokenType.INTERFACE_KEYWORD;
- }
- case 200: break;
- case 108:
- { return JavaTokenType.INSTANCEOF_KEYWORD;
- }
- case 201: break;
- case 105:
- { return JavaTokenType.TRANSIENT_KEYWORD;
- }
- case 202: break;
- case 97:
- { return JavaTokenType.BOOLEAN_KEYWORD;
- }
- case 203: break;
- case 71:
- { return JavaTokenType.CASE_KEYWORD;
- }
- case 204: break;
- case 5:
- { return JavaTokenType.ASTERISK;
- }
- case 205: break;
- case 92:
- { return JavaTokenType.IMPORT_KEYWORD;
- }
- case 206: break;
- case 31:
- { return JavaTokenType.AT;
- }
- case 207: break;
- case 45:
- { return JavaTokenType.NE;
- }
- case 208: break;
- case 59:
- { return JavaTokenType.TRY_KEYWORD;
- }
- case 209: break;
- case 82:
- { return JavaTokenType.CATCH_KEYWORD;
- }
- case 210: break;
- case 37:
- { return JavaTokenType.FLOAT_LITERAL;
- }
- case 211: break;
- case 17:
- { return JavaTokenType.AND;
- }
- case 212: break;
- case 75:
- { return JavaTokenType.THROW_KEYWORD;
- }
- case 213: break;
- case 57:
- { return JavaDocElementType.DOC_COMMENT;
- }
- case 214: break;
- case 56:
- { return JavaTokenType.DOUBLE_COLON;
- }
- case 215: break;
- case 21:
- { return JavaTokenType.RPARENTH;
- }
- case 216: break;
- case 2:
- { return JavaTokenType.WHITE_SPACE;
- }
- case 217: break;
- case 94:
- { return JavaTokenType.PUBLIC_KEYWORD;
- }
- case 218: break;
- case 50:
- { return JavaTokenType.LE;
- }
- case 219: break;
- case 84:
- { return JavaTokenType.CONST_KEYWORD;
- }
- case 220: break;
- default:
- if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
- zzAtEOF = true;
- zzDoEOF();
- return null;
- }
- else {
+ if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
+ zzAtEOF = true;
+ zzDoEOF();
+ return null;
+ }
+ else {
+ switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
+ case 1:
+ { return JavaTokenType.BAD_CHARACTER;
+ }
+ case 111: break;
+ case 2:
+ { return JavaTokenType.WHITE_SPACE;
+ }
+ case 112: break;
+ case 3:
+ { return JavaTokenType.IDENTIFIER;
+ }
+ case 113: break;
+ case 4:
+ { return JavaTokenType.DIV;
+ }
+ case 114: break;
+ case 5:
+ { return JavaTokenType.ASTERISK;
+ }
+ case 115: break;
+ case 6:
+ { return JavaTokenType.INTEGER_LITERAL;
+ }
+ case 116: break;
+ case 7:
+ { return JavaTokenType.DOT;
+ }
+ case 117: break;
+ case 8:
+ { return JavaTokenType.MINUS;
+ }
+ case 118: break;
+ case 9:
+ { return JavaTokenType.CHARACTER_LITERAL;
+ }
+ case 119: break;
+ case 10:
+ { return JavaTokenType.STRING_LITERAL;
+ }
+ case 120: break;
+ case 11:
+ { return JavaTokenType.EQ;
+ }
+ case 121: break;
+ case 12:
+ { return JavaTokenType.EXCL;
+ }
+ case 122: break;
+ case 13:
+ { return JavaTokenType.OR;
+ }
+ case 123: break;
+ case 14:
+ { return JavaTokenType.PLUS;
+ }
+ case 124: break;
+ case 15:
+ { return JavaTokenType.LT;
+ }
+ case 125: break;
+ case 16:
+ { return JavaTokenType.GT;
+ }
+ case 126: break;
+ case 17:
+ { return JavaTokenType.AND;
+ }
+ case 127: break;
+ case 18:
+ { return JavaTokenType.XOR;
+ }
+ case 128: break;
+ case 19:
+ { return JavaTokenType.PERC;
+ }
+ case 129: break;
+ case 20:
+ { return JavaTokenType.LPARENTH;
+ }
+ case 130: break;
+ case 21:
+ { return JavaTokenType.RPARENTH;
+ }
+ case 131: break;
+ case 22:
+ { return JavaTokenType.LBRACE;
+ }
+ case 132: break;
+ case 23:
+ { return JavaTokenType.RBRACE;
+ }
+ case 133: break;
+ case 24:
+ { return JavaTokenType.LBRACKET;
+ }
+ case 134: break;
+ case 25:
+ { return JavaTokenType.RBRACKET;
+ }
+ case 135: break;
+ case 26:
+ { return JavaTokenType.SEMICOLON;
+ }
+ case 136: break;
+ case 27:
+ { return JavaTokenType.COMMA;
+ }
+ case 137: break;
+ case 28:
+ { return JavaTokenType.TILDE;
+ }
+ case 138: break;
+ case 29:
+ { return JavaTokenType.QUEST;
+ }
+ case 139: break;
+ case 30:
+ { return JavaTokenType.COLON;
+ }
+ case 140: break;
+ case 31:
+ { return JavaTokenType.AT;
+ }
+ case 141: break;
+ case 32:
+ { return JavaTokenType.END_OF_LINE_COMMENT;
+ }
+ case 142: break;
+ case 33:
+ { return JavaTokenType.C_STYLE_COMMENT;
+ }
+ case 143: break;
+ case 34:
+ { return JavaTokenType.DIVEQ;
+ }
+ case 144: break;
+ case 35:
+ { return JavaTokenType.ASTERISKEQ;
+ }
+ case 145: break;
+ case 36:
+ { return JavaTokenType.LONG_LITERAL;
+ }
+ case 146: break;
+ case 37:
+ { return JavaTokenType.FLOAT_LITERAL;
+ }
+ case 147: break;
+ case 38:
+ { return JavaTokenType.DOUBLE_LITERAL;
+ }
+ case 148: break;
+ case 39:
+ { return JavaTokenType.MINUSMINUS;
+ }
+ case 149: break;
+ case 40:
+ { return JavaTokenType.MINUSEQ;
+ }
+ case 150: break;
+ case 41:
+ { return JavaTokenType.ARROW;
+ }
+ case 151: break;
+ case 42:
+ { return JavaTokenType.IF_KEYWORD;
+ }
+ case 152: break;
+ case 43:
+ { return JavaTokenType.DO_KEYWORD;
+ }
+ case 153: break;
+ case 44:
+ { return JavaTokenType.EQEQ;
+ }
+ case 154: break;
+ case 45:
+ { return JavaTokenType.NE;
+ }
+ case 155: break;
+ case 46:
+ { return JavaTokenType.OREQ;
+ }
+ case 156: break;
+ case 47:
+ { return JavaTokenType.OROR;
+ }
+ case 157: break;
+ case 48:
+ { return JavaTokenType.PLUSEQ;
+ }
+ case 158: break;
+ case 49:
+ { return JavaTokenType.PLUSPLUS;
+ }
+ case 159: break;
+ case 50:
+ { return JavaTokenType.LE;
+ }
+ case 160: break;
+ case 51:
+ { return JavaTokenType.LTLT;
+ }
+ case 161: break;
+ case 52:
+ { return JavaTokenType.ANDEQ;
+ }
+ case 162: break;
+ case 53:
+ { return JavaTokenType.ANDAND;
+ }
+ case 163: break;
+ case 54:
+ { return JavaTokenType.XOREQ;
+ }
+ case 164: break;
+ case 55:
+ { return JavaTokenType.PERCEQ;
+ }
+ case 165: break;
+ case 56:
+ { return JavaTokenType.DOUBLE_COLON;
+ }
+ case 166: break;
+ case 57:
+ { return JavaDocElementType.DOC_COMMENT;
+ }
+ case 167: break;
+ case 58:
+ { return JavaTokenType.ELLIPSIS;
+ }
+ case 168: break;
+ case 59:
+ { return JavaTokenType.TRY_KEYWORD;
+ }
+ case 169: break;
+ case 60:
+ { return JavaTokenType.FOR_KEYWORD;
+ }
+ case 170: break;
+ case 61:
+ { return JavaTokenType.NEW_KEYWORD;
+ }
+ case 171: break;
+ case 62:
+ { return JavaTokenType.INT_KEYWORD;
+ }
+ case 172: break;
+ case 63:
+ { return JavaTokenType.LTLTEQ;
+ }
+ case 173: break;
+ case 64:
+ { return JavaTokenType.TRUE_KEYWORD;
+ }
+ case 174: break;
+ case 65:
+ { return JavaTokenType.THIS_KEYWORD;
+ }
+ case 175: break;
+ case 66:
+ { return JavaTokenType.ELSE_KEYWORD;
+ }
+ case 176: break;
+ case 67:
+ { return myEnumKeyword ? JavaTokenType.ENUM_KEYWORD : JavaTokenType.IDENTIFIER;
+ }
+ case 177: break;
+ case 68:
+ { return JavaTokenType.LONG_KEYWORD;
+ }
+ case 178: break;
+ case 69:
+ { return JavaTokenType.NULL_KEYWORD;
+ }
+ case 179: break;
+ case 70:
+ { return JavaTokenType.BYTE_KEYWORD;
+ }
+ case 180: break;
+ case 71:
+ { return JavaTokenType.CASE_KEYWORD;
+ }
+ case 181: break;
+ case 72:
+ { return JavaTokenType.CHAR_KEYWORD;
+ }
+ case 182: break;
+ case 73:
+ { return JavaTokenType.GOTO_KEYWORD;
+ }
+ case 183: break;
+ case 74:
+ { return JavaTokenType.VOID_KEYWORD;
+ }
+ case 184: break;
+ case 75:
+ { return JavaTokenType.THROW_KEYWORD;
+ }
+ case 185: break;
+ case 76:
+ { return JavaTokenType.FALSE_KEYWORD;
+ }
+ case 186: break;
+ case 77:
+ { return JavaTokenType.FLOAT_KEYWORD;
+ }
+ case 187: break;
+ case 78:
+ { return JavaTokenType.FINAL_KEYWORD;
+ }
+ case 188: break;
+ case 79:
+ { return JavaTokenType.SUPER_KEYWORD;
+ }
+ case 189: break;
+ case 80:
+ { return JavaTokenType.SHORT_KEYWORD;
+ }
+ case 190: break;
+ case 81:
+ { return JavaTokenType.BREAK_KEYWORD;
+ }
+ case 191: break;
+ case 82:
+ { return JavaTokenType.CATCH_KEYWORD;
+ }
+ case 192: break;
+ case 83:
+ { return JavaTokenType.CLASS_KEYWORD;
+ }
+ case 193: break;
+ case 84:
+ { return JavaTokenType.CONST_KEYWORD;
+ }
+ case 194: break;
+ case 85:
+ { return JavaTokenType.WHILE_KEYWORD;
+ }
+ case 195: break;
+ case 86:
+ { return JavaTokenType.THROWS_KEYWORD;
+ }
+ case 196: break;
+ case 87:
+ { return JavaTokenType.RETURN_KEYWORD;
+ }
+ case 197: break;
+ case 88:
+ { return myAssertKeyword ? JavaTokenType.ASSERT_KEYWORD : JavaTokenType.IDENTIFIER;
+ }
+ case 198: break;
+ case 89:
+ { return JavaTokenType.STATIC_KEYWORD;
+ }
+ case 199: break;
+ case 90:
+ { return JavaTokenType.SWITCH_KEYWORD;
+ }
+ case 200: break;
+ case 91:
+ { return JavaTokenType.NATIVE_KEYWORD;
+ }
+ case 201: break;
+ case 92:
+ { return JavaTokenType.IMPORT_KEYWORD;
+ }
+ case 202: break;
+ case 93:
+ { return JavaTokenType.DOUBLE_KEYWORD;
+ }
+ case 203: break;
+ case 94:
+ { return JavaTokenType.PUBLIC_KEYWORD;
+ }
+ case 204: break;
+ case 95:
+ { return JavaTokenType.EXTENDS_KEYWORD;
+ }
+ case 205: break;
+ case 96:
+ { return JavaTokenType.FINALLY_KEYWORD;
+ }
+ case 206: break;
+ case 97:
+ { return JavaTokenType.BOOLEAN_KEYWORD;
+ }
+ case 207: break;
+ case 98:
+ { return JavaTokenType.DEFAULT_KEYWORD;
+ }
+ case 208: break;
+ case 99:
+ { return JavaTokenType.PRIVATE_KEYWORD;
+ }
+ case 209: break;
+ case 100:
+ { return JavaTokenType.PACKAGE_KEYWORD;
+ }
+ case 210: break;
+ case 101:
+ { return JavaTokenType.ABSTRACT_KEYWORD;
+ }
+ case 211: break;
+ case 102:
+ { return JavaTokenType.STRICTFP_KEYWORD;
+ }
+ case 212: break;
+ case 103:
+ { return JavaTokenType.CONTINUE_KEYWORD;
+ }
+ case 213: break;
+ case 104:
+ { return JavaTokenType.VOLATILE_KEYWORD;
+ }
+ case 214: break;
+ case 105:
+ { return JavaTokenType.TRANSIENT_KEYWORD;
+ }
+ case 215: break;
+ case 106:
+ { return JavaTokenType.INTERFACE_KEYWORD;
+ }
+ case 216: break;
+ case 107:
+ { return JavaTokenType.PROTECTED_KEYWORD;
+ }
+ case 217: break;
+ case 108:
+ { return JavaTokenType.INSTANCEOF_KEYWORD;
+ }
+ case 218: break;
+ case 109:
+ { return JavaTokenType.IMPLEMENTS_KEYWORD;
+ }
+ case 219: break;
+ case 110:
+ { return JavaTokenType.SYNCHRONIZED_KEYWORD;
+ }
+ case 220: break;
+ default:
zzScanError(ZZ_NO_MATCH);
}
}
public void goTo(int offset) {
zzCurrentPos = zzMarkedPos = zzStartRead = offset;
- zzPushbackPos = 0;
- zzAtEOF = offset < zzEndRead;
+ zzAtEOF = false;
}
%}
public void goTo(int offset) {
zzCurrentPos = zzMarkedPos = zzStartRead = offset;
- zzPushbackPos = 0;
- zzAtEOF = offset < zzEndRead;
+ zzAtEOF = false;
}
%}
--- /dev/null
+// "<html> Change signature of X(<b>String</b>)</html>" "true"
+class X {
+ X(Integer i) {}
+ X(String s) {}
+
+ public static void main(String[] args) {
+ new X("");
+ }
+}
\ No newline at end of file
--- /dev/null
+// "<html> Change signature of X(<b>String</b>)</html>" "true"
+class X {
+ X(Integer i) {}
+ X() {}
+
+ public static void main(String[] args) {
+ new X("<caret>");
+ }
+}
\ No newline at end of file
if (ApplicationManager.getApplication().isUnitTestMode &&
serializedState != serializedStateAfterLoad &&
(serializedStateAfterLoad == null || !JDOMUtil.areElementsEqual(serializedState, serializedStateAfterLoad))) {
- LOG.warn("$componentName state changed after load. \nOld: ${JDOMUtil.writeElement(serializedState!!)}\n\nNew: ${serializedStateAfterLoad?.let { JDOMUtil.writeElement(it) } ?: "null"}\n")
+ LOG.warn("$componentName (from ${component.javaClass.name}) state changed after load. \nOld: ${JDOMUtil.writeElement(serializedState!!)}\n\nNew: ${serializedStateAfterLoad?.let { JDOMUtil.writeElement(it) } ?: "null"}\n")
}
storage.archiveState(storageData, componentName, serializedStateAfterLoad)
return EMPTY_ARRAY;
}
}
+
+ @Override
+ public String toString() {
+ return myElement + ":" + myRangeInElement;
+ }
}
-/* The following code was generated by JFlex 1.4.3 on 4/26/14 1:30 PM */
+/* The following code was generated by JFlex 1.7.0-SNAPSHOT tweaked for IntelliJ platform */
/* It's an automatically generated code. Do not modify it. */
package com.intellij.codeInsight.template.impl;
/**
* This class is a scanner generated by
- * <a href="http://www.jflex.de/">JFlex</a> 1.4.3
- * on 4/26/14 1:30 PM from the specification file
- * <tt>/Users/ignatov/src/ultimate/tools/lexer/../../community/platform/lang-impl/src/com/intellij/codeInsight/template/impl/_MacroLexer.flex</tt>
+ * <a href="http://www.jflex.de/">JFlex</a> 1.7.0-SNAPSHOT
+ * from the specification file <tt>/ideadev/tools/lexer/../../community/platform/lang-impl/src/com/intellij/codeInsight/template/impl/_MacroLexer.flex</tt>
*/
class _MacroLexer implements FlexLexer {
+
+ /** 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;
* Translates characters to character classes
*/
private static final String ZZ_CMAP_PACKED =
- "\11\2\1\3\1\6\1\0\1\3\1\6\16\2\4\0\1\3\1\0"+
+ "\11\2\1\3\1\6\1\13\1\3\1\6\16\2\4\0\1\3\1\0"+
"\1\4\1\0\1\1\3\0\1\7\1\10\2\0\1\11\3\0\12\2"+
"\3\0\1\12\3\0\32\1\1\0\1\5\2\0\1\1\1\0\32\1"+
- "\4\0\41\2\2\0\4\1\4\0\1\1\2\0\1\2\7\0\1\1"+
- "\4\0\1\1\5\0\27\1\1\0\37\1\1\0\u013f\1\31\0\162\1"+
- "\4\0\14\1\16\0\5\1\11\0\1\1\21\0\130\2\5\0\23\2"+
- "\12\0\1\1\13\0\1\1\1\0\3\1\1\0\1\1\1\0\24\1"+
- "\1\0\54\1\1\0\46\1\1\0\5\1\4\0\202\1\1\0\4\2"+
- "\3\0\105\1\1\0\46\1\2\0\2\1\6\0\20\1\41\0\46\1"+
- "\2\0\1\1\7\0\47\1\11\0\21\2\1\0\27\2\1\0\3\2"+
- "\1\0\1\2\1\0\2\2\1\0\1\2\13\0\33\1\5\0\3\1"+
- "\15\0\4\2\14\0\6\2\13\0\32\1\5\0\13\1\16\2\7\0"+
- "\12\2\4\0\2\1\1\2\143\1\1\0\1\1\10\2\1\0\6\2"+
- "\2\1\2\2\1\0\4\2\2\1\12\2\3\1\2\0\1\1\17\0"+
- "\1\2\1\1\1\2\36\1\33\2\2\0\3\1\60\0\46\1\13\2"+
- "\1\1\u014f\0\3\2\66\1\2\0\1\2\1\1\20\2\2\0\1\1"+
- "\4\2\3\0\12\1\2\2\2\0\12\2\21\0\3\2\1\0\10\1"+
- "\2\0\2\1\2\0\26\1\1\0\7\1\1\0\1\1\3\0\4\1"+
- "\2\0\1\2\1\1\7\2\2\0\2\2\2\0\3\2\11\0\1\2"+
- "\4\0\2\1\1\0\3\1\2\2\2\0\12\2\4\1\15\0\3\2"+
- "\1\0\6\1\4\0\2\1\2\0\26\1\1\0\7\1\1\0\2\1"+
- "\1\0\2\1\1\0\2\1\2\0\1\2\1\0\5\2\4\0\2\2"+
- "\2\0\3\2\13\0\4\1\1\0\1\1\7\0\14\2\3\1\14\0"+
- "\3\2\1\0\11\1\1\0\3\1\1\0\26\1\1\0\7\1\1\0"+
- "\2\1\1\0\5\1\2\0\1\2\1\1\10\2\1\0\3\2\1\0"+
- "\3\2\2\0\1\1\17\0\2\1\2\2\2\0\12\2\1\0\1\1"+
- "\17\0\3\2\1\0\10\1\2\0\2\1\2\0\26\1\1\0\7\1"+
- "\1\0\2\1\1\0\5\1\2\0\1\2\1\1\6\2\3\0\2\2"+
- "\2\0\3\2\10\0\2\2\4\0\2\1\1\0\3\1\4\0\12\2"+
- "\1\0\1\1\20\0\1\2\1\1\1\0\6\1\3\0\3\1\1\0"+
- "\4\1\3\0\2\1\1\0\1\1\1\0\2\1\3\0\2\1\3\0"+
- "\3\1\3\0\10\1\1\0\3\1\4\0\5\2\3\0\3\2\1\0"+
- "\4\2\11\0\1\2\17\0\11\2\11\0\1\1\7\0\3\2\1\0"+
- "\10\1\1\0\3\1\1\0\27\1\1\0\12\1\1\0\5\1\4\0"+
- "\7\2\1\0\3\2\1\0\4\2\7\0\2\2\11\0\2\1\4\0"+
- "\12\2\22\0\2\2\1\0\10\1\1\0\3\1\1\0\27\1\1\0"+
- "\12\1\1\0\5\1\2\0\1\2\1\1\7\2\1\0\3\2\1\0"+
- "\4\2\7\0\2\2\7\0\1\1\1\0\2\1\4\0\12\2\22\0"+
- "\2\2\1\0\10\1\1\0\3\1\1\0\27\1\1\0\20\1\4\0"+
- "\6\2\2\0\3\2\1\0\4\2\11\0\1\2\10\0\2\1\4\0"+
- "\12\2\22\0\2\2\1\0\22\1\3\0\30\1\1\0\11\1\1\0"+
- "\1\1\2\0\7\1\3\0\1\2\4\0\6\2\1\0\1\2\1\0"+
- "\10\2\22\0\2\2\15\0\60\1\1\2\2\1\7\2\4\0\10\1"+
- "\10\2\1\0\12\2\47\0\2\1\1\0\1\1\2\0\2\1\1\0"+
- "\1\1\2\0\1\1\6\0\4\1\1\0\7\1\1\0\3\1\1\0"+
- "\1\1\1\0\1\1\2\0\2\1\1\0\4\1\1\2\2\1\6\2"+
- "\1\0\2\2\1\1\2\0\5\1\1\0\1\1\1\0\6\2\2\0"+
- "\12\2\2\0\2\1\42\0\1\1\27\0\2\2\6\0\12\2\13\0"+
- "\1\2\1\0\1\2\1\0\1\2\4\0\2\2\10\1\1\0\42\1"+
- "\6\0\24\2\1\0\2\2\4\1\4\0\10\2\1\0\44\2\11\0"+
- "\1\2\71\0\42\1\1\0\5\1\1\0\2\1\1\0\7\2\3\0"+
- "\4\2\6\0\12\2\6\0\6\1\4\2\106\0\46\1\12\0\51\1"+
- "\7\0\132\1\5\0\104\1\5\0\122\1\6\0\7\1\1\0\77\1"+
- "\1\0\1\1\1\0\4\1\2\0\7\1\1\0\1\1\1\0\4\1"+
- "\2\0\47\1\1\0\1\1\1\0\4\1\2\0\37\1\1\0\1\1"+
- "\1\0\4\1\2\0\7\1\1\0\1\1\1\0\4\1\2\0\7\1"+
- "\1\0\7\1\1\0\27\1\1\0\37\1\1\0\1\1\1\0\4\1"+
- "\2\0\7\1\1\0\47\1\1\0\23\1\16\0\11\2\56\0\125\1"+
- "\14\0\u026c\1\2\0\10\1\12\0\32\1\5\0\113\1\3\0\3\1"+
- "\17\0\15\1\1\0\4\1\3\2\13\0\22\1\3\2\13\0\22\1"+
- "\2\2\14\0\15\1\1\0\3\1\1\0\2\2\14\0\64\1\40\2"+
- "\3\0\1\1\3\0\2\1\1\2\2\0\12\2\41\0\3\2\2\0"+
- "\12\2\6\0\130\1\10\0\51\1\1\2\126\0\35\1\3\0\14\2"+
- "\4\0\14\2\12\0\12\2\36\1\2\0\5\1\u038b\0\154\1\224\0"+
- "\234\1\4\0\132\1\6\0\26\1\2\0\6\1\2\0\46\1\2\0"+
- "\6\1\2\0\10\1\1\0\1\1\1\0\1\1\1\0\1\1\1\0"+
- "\37\1\2\0\65\1\1\0\7\1\1\0\1\1\3\0\3\1\1\0"+
- "\7\1\3\0\4\1\2\0\6\1\4\0\15\1\5\0\3\1\1\0"+
- "\7\1\17\0\4\2\32\0\5\2\20\0\2\1\23\0\1\1\13\0"+
- "\4\2\6\0\6\2\1\0\1\1\15\0\1\1\40\0\22\1\36\0"+
- "\15\2\4\0\1\2\3\0\6\2\27\0\1\1\4\0\1\1\2\0"+
+ "\4\0\6\2\1\14\32\2\2\0\4\1\4\0\1\1\2\0\1\2"+
+ "\7\0\1\1\4\0\1\1\5\0\27\1\1\0\37\1\1\0\u01ca\1"+
+ "\4\0\14\1\16\0\5\1\7\0\1\1\1\0\1\1\21\0\160\2"+
+ "\5\1\1\0\2\1\2\0\4\1\10\0\1\1\1\0\3\1\1\0"+
+ "\1\1\1\0\24\1\1\0\123\1\1\0\213\1\1\0\5\2\2\0"+
+ "\236\1\11\0\46\1\2\0\1\1\7\0\47\1\7\0\1\1\1\0"+
+ "\55\2\1\0\1\2\1\0\2\2\1\0\2\2\1\0\1\2\10\0"+
+ "\33\1\5\0\3\1\15\0\5\2\6\0\1\1\4\0\13\2\5\0"+
+ "\53\1\37\2\4\0\2\1\1\2\143\1\1\0\1\1\10\2\1\0"+
+ "\6\2\2\1\2\2\1\0\4\2\2\1\12\2\3\1\2\0\1\1"+
+ "\17\0\1\2\1\1\1\2\36\1\33\2\2\0\131\1\13\2\1\1"+
+ "\16\0\12\2\41\1\11\2\2\1\4\0\1\1\5\0\26\1\4\2"+
+ "\1\1\11\2\1\1\3\2\1\1\5\2\22\0\31\1\3\2\104\0"+
+ "\1\1\1\0\13\1\67\0\33\2\1\0\4\2\66\1\3\2\1\1"+
+ "\22\2\1\1\7\2\12\1\2\2\2\0\12\2\1\0\7\1\1\0"+
+ "\7\1\1\0\3\2\1\0\10\1\2\0\2\1\2\0\26\1\1\0"+
+ "\7\1\1\0\1\1\3\0\4\1\2\0\1\2\1\1\7\2\2\0"+
+ "\2\2\2\0\3\2\1\1\10\0\1\2\4\0\2\1\1\0\3\1"+
+ "\2\2\2\0\12\2\4\1\7\0\1\1\5\0\3\2\1\0\6\1"+
+ "\4\0\2\1\2\0\26\1\1\0\7\1\1\0\2\1\1\0\2\1"+
+ "\1\0\2\1\2\0\1\2\1\0\5\2\4\0\2\2\2\0\3\2"+
+ "\3\0\1\2\7\0\4\1\1\0\1\1\7\0\14\2\3\1\1\2"+
+ "\13\0\3\2\1\0\11\1\1\0\3\1\1\0\26\1\1\0\7\1"+
+ "\1\0\2\1\1\0\5\1\2\0\1\2\1\1\10\2\1\0\3\2"+
+ "\1\0\3\2\2\0\1\1\17\0\2\1\2\2\2\0\12\2\1\0"+
+ "\1\1\17\0\3\2\1\0\10\1\2\0\2\1\2\0\26\1\1\0"+
+ "\7\1\1\0\2\1\1\0\5\1\2\0\1\2\1\1\7\2\2\0"+
+ "\2\2\2\0\3\2\10\0\2\2\4\0\2\1\1\0\3\1\2\2"+
+ "\2\0\12\2\1\0\1\1\20\0\1\2\1\1\1\0\6\1\3\0"+
+ "\3\1\1\0\4\1\3\0\2\1\1\0\1\1\1\0\2\1\3\0"+
+ "\2\1\3\0\3\1\3\0\14\1\4\0\5\2\3\0\3\2\1\0"+
+ "\4\2\2\0\1\1\6\0\1\2\16\0\12\2\11\0\1\1\7\0"+
+ "\3\2\1\0\10\1\1\0\3\1\1\0\27\1\1\0\12\1\1\0"+
+ "\5\1\3\0\1\1\7\2\1\0\3\2\1\0\4\2\7\0\2\2"+
+ "\1\0\2\1\6\0\2\1\2\2\2\0\12\2\22\0\2\2\1\0"+
+ "\10\1\1\0\3\1\1\0\27\1\1\0\12\1\1\0\5\1\2\0"+
+ "\1\2\1\1\7\2\1\0\3\2\1\0\4\2\7\0\2\2\7\0"+
+ "\1\1\1\0\2\1\2\2\2\0\12\2\1\0\2\1\17\0\2\2"+
+ "\1\0\10\1\1\0\3\1\1\0\51\1\2\0\1\1\7\2\1\0"+
+ "\3\2\1\0\4\2\1\1\10\0\1\2\10\0\2\1\2\2\2\0"+
+ "\12\2\12\0\6\1\2\0\2\2\1\0\22\1\3\0\30\1\1\0"+
+ "\11\1\1\0\1\1\2\0\7\1\3\0\1\2\4\0\6\2\1\0"+
+ "\1\2\1\0\10\2\22\0\2\2\15\0\60\1\1\2\2\1\7\2"+
+ "\4\0\10\1\10\2\1\0\12\2\47\0\2\1\1\0\1\1\2\0"+
+ "\2\1\1\0\1\1\2\0\1\1\6\0\4\1\1\0\7\1\1\0"+
+ "\3\1\1\0\1\1\1\0\1\1\2\0\2\1\1\0\4\1\1\2"+
+ "\2\1\6\2\1\0\2\2\1\1\2\0\5\1\1\0\1\1\1\0"+
+ "\6\2\2\0\12\2\2\0\4\1\40\0\1\1\27\0\2\2\6\0"+
+ "\12\2\13\0\1\2\1\0\1\2\1\0\1\2\4\0\2\2\10\1"+
+ "\1\0\44\1\4\0\24\2\1\0\2\2\5\1\13\2\1\0\44\2"+
+ "\11\0\1\2\71\0\53\1\24\2\1\1\12\2\6\0\6\1\4\2"+
+ "\4\1\3\2\1\1\3\2\2\1\7\2\3\1\4\2\15\1\14\2"+
+ "\1\1\17\2\2\0\46\1\1\0\1\1\5\0\1\1\2\0\53\1"+
+ "\1\0\u014d\1\1\0\4\1\2\0\7\1\1\0\1\1\1\0\4\1"+
+ "\2\0\51\1\1\0\4\1\2\0\41\1\1\0\4\1\2\0\7\1"+
+ "\1\0\1\1\1\0\4\1\2\0\17\1\1\0\71\1\1\0\4\1"+
+ "\2\0\103\1\2\0\3\2\40\0\20\1\20\0\125\1\14\0\u026c\1"+
+ "\2\0\21\1\1\0\32\1\5\0\113\1\3\0\3\1\17\0\15\1"+
+ "\1\0\4\1\3\2\13\0\22\1\3\2\13\0\22\1\2\2\14\0"+
+ "\15\1\1\0\3\1\1\0\2\2\14\0\64\1\40\2\3\0\1\1"+
+ "\3\0\2\1\1\2\2\0\12\2\41\0\3\2\2\0\12\2\6\0"+
+ "\130\1\10\0\51\1\1\2\1\1\5\0\106\1\12\0\35\1\3\0"+
+ "\14\2\4\0\14\2\12\0\12\2\36\1\2\0\5\1\13\0\54\1"+
+ "\4\0\21\2\7\1\2\2\6\0\12\2\46\0\27\1\5\2\4\0"+
+ "\65\1\12\2\1\0\35\2\2\0\13\2\6\0\12\2\15\0\1\1"+
+ "\130\0\5\2\57\1\21\2\7\1\4\0\12\2\21\0\11\2\14\0"+
+ "\3\2\36\1\15\2\2\1\12\2\54\1\16\2\14\0\44\1\24\2"+
+ "\10\0\12\2\3\0\3\1\12\2\44\1\122\0\3\2\1\0\25\2"+
+ "\4\1\1\2\4\1\3\2\2\1\11\0\300\1\47\2\25\0\4\2"+
+ "\u0116\1\2\0\6\1\2\0\46\1\2\0\6\1\2\0\10\1\1\0"+
+ "\1\1\1\0\1\1\1\0\1\1\1\0\37\1\2\0\65\1\1\0"+
+ "\7\1\1\0\1\1\3\0\3\1\1\0\7\1\3\0\4\1\2\0"+
+ "\6\1\4\0\15\1\5\0\3\1\1\0\7\1\16\0\5\2\30\0"+
+ "\1\13\1\13\5\2\20\0\2\1\23\0\1\1\13\0\5\2\5\0"+
+ "\6\2\1\0\1\1\15\0\1\1\20\0\15\1\3\0\33\1\25\0"+
+ "\15\2\4\0\1\2\3\0\14\2\21\0\1\1\4\0\1\1\2\0"+
"\12\1\1\0\1\1\3\0\5\1\6\0\1\1\1\0\1\1\1\0"+
- "\1\1\1\0\4\1\1\0\3\1\1\0\7\1\3\0\3\1\5\0"+
- "\5\1\26\0\44\1\u0e81\0\3\1\31\0\11\1\6\2\1\0\5\1"+
- "\2\0\5\1\4\0\126\1\2\0\2\2\2\0\3\1\1\0\137\1"+
- "\5\0\50\1\4\0\136\1\21\0\30\1\70\0\20\1\u0200\0\u19b6\1"+
- "\112\0\u51a6\1\132\0\u048d\1\u0773\0\u2ba4\1\u215c\0\u012e\1\2\0\73\1"+
- "\225\0\7\1\14\0\5\1\5\0\1\1\1\2\12\1\1\0\15\1"+
+ "\1\1\1\0\4\1\1\0\13\1\2\0\4\1\5\0\5\1\4\0"+
+ "\1\1\21\0\51\1\u0a77\0\57\1\1\0\57\1\1\0\205\1\6\0"+
+ "\4\1\3\2\2\1\14\0\46\1\1\0\1\1\5\0\1\1\2\0"+
+ "\70\1\7\0\1\1\17\0\1\2\27\1\11\0\7\1\1\0\7\1"+
+ "\1\0\7\1\1\0\7\1\1\0\7\1\1\0\7\1\1\0\7\1"+
+ "\1\0\7\1\1\0\40\2\57\0\1\1\u01d5\0\3\1\31\0\11\1"+
+ "\6\2\1\0\5\1\2\0\5\1\4\0\126\1\2\0\2\2\2\0"+
+ "\3\1\1\0\132\1\1\0\4\1\5\0\51\1\3\0\136\1\21\0"+
+ "\33\1\65\0\20\1\u0200\0\u19b6\1\112\0\u51cd\1\63\0\u048d\1\103\0"+
+ "\56\1\2\0\u010d\1\3\0\20\1\12\2\2\1\24\0\57\1\1\2"+
+ "\4\0\12\2\1\0\31\1\7\0\1\2\120\1\2\2\45\0\11\1"+
+ "\2\0\147\1\2\0\4\1\1\0\4\1\14\0\13\1\115\0\12\1"+
+ "\1\2\3\1\1\2\4\1\1\2\27\1\5\2\20\0\1\1\7\0"+
+ "\64\1\14\0\2\2\62\1\21\2\13\0\12\2\6\0\22\2\6\1"+
+ "\3\0\1\1\4\0\12\2\34\1\10\2\2\0\27\1\15\2\14\0"+
+ "\35\1\3\0\4\2\57\1\16\2\16\0\1\1\12\2\46\0\51\1"+
+ "\16\2\11\0\3\1\1\2\10\1\2\2\2\0\12\2\6\0\27\1"+
+ "\3\0\1\1\1\2\4\0\60\1\1\2\1\1\3\2\2\1\2\2"+
+ "\5\1\2\2\1\1\1\2\1\1\30\0\3\1\2\0\13\1\5\2"+
+ "\2\0\3\1\2\2\12\0\6\1\2\0\6\1\2\0\6\1\11\0"+
+ "\7\1\1\0\7\1\221\0\43\1\10\2\1\0\2\2\2\0\12\2"+
+ "\6\0\u2ba4\1\14\0\27\1\4\0\61\1\u2104\0\u016e\1\2\0\152\1"+
+ "\46\0\7\1\14\0\5\1\5\0\1\1\1\2\12\1\1\0\15\1"+
"\1\0\5\1\1\0\1\1\1\0\2\1\1\0\2\1\1\0\154\1"+
"\41\0\u016b\1\22\0\100\1\2\0\66\1\50\0\15\1\3\0\20\2"+
- "\20\0\4\2\17\0\2\1\30\0\3\1\31\0\1\1\6\0\5\1"+
+ "\20\0\7\2\14\0\2\1\30\0\3\1\31\0\1\1\6\0\5\1"+
"\1\0\207\1\2\0\1\2\4\0\1\1\13\0\12\2\7\0\32\1"+
- "\4\0\1\1\1\0\32\1\12\0\132\1\3\0\6\1\2\0\6\1"+
+ "\4\0\1\1\1\0\32\1\13\0\131\1\3\0\6\1\2\0\6\1"+
"\2\0\6\1\2\0\3\1\3\0\2\1\3\0\2\1\22\0\3\2"+
- "\4\0";
+ "\4\0\14\1\1\0\32\1\1\0\23\1\1\0\2\1\1\0\17\1"+
+ "\2\0\16\1\42\0\173\1\105\0\65\1\210\0\1\2\202\0\35\1"+
+ "\3\0\61\1\57\0\37\1\21\0\33\1\65\0\36\1\2\0\44\1"+
+ "\4\0\10\1\1\0\5\1\52\0\236\1\2\0\12\2\u0356\0\6\1"+
+ "\2\0\1\1\1\0\54\1\1\0\2\1\3\0\1\1\2\0\27\1"+
+ "\252\0\26\1\12\0\32\1\106\0\70\1\6\0\2\1\100\0\1\1"+
+ "\3\2\1\0\2\2\5\0\4\2\4\1\1\0\3\1\1\0\33\1"+
+ "\4\0\3\2\4\0\1\2\40\0\35\1\203\0\66\1\12\0\26\1"+
+ "\12\0\23\1\215\0\111\1\u03b7\0\3\2\65\1\17\2\37\0\12\2"+
+ "\20\0\3\2\55\1\13\2\2\0\1\2\22\0\31\1\7\0\12\2"+
+ "\6\0\3\2\44\1\16\2\1\0\12\2\100\0\3\2\60\1\16\2"+
+ "\4\1\13\0\12\2\u04a6\0\53\1\15\2\10\0\12\2\u0936\0\u036f\1"+
+ "\221\0\143\1\u0b9d\0\u042f\1\u33d1\0\u0239\1\u04c7\0\105\1\13\0\1\1"+
+ "\56\2\20\0\4\2\15\1\u4060\0\2\1\u2163\0\5\2\3\0\26\2"+
+ "\2\0\7\2\36\0\4\2\224\0\3\2\u01bb\0\125\1\1\0\107\1"+
+ "\1\0\2\1\2\0\1\1\2\0\2\1\2\0\4\1\1\0\14\1"+
+ "\1\0\1\1\1\0\7\1\1\0\101\1\1\0\4\1\2\0\10\1"+
+ "\1\0\7\1\1\0\34\1\1\0\4\1\1\0\5\1\1\0\1\1"+
+ "\3\0\7\1\1\0\u0154\1\2\0\31\1\1\0\31\1\1\0\37\1"+
+ "\1\0\31\1\1\0\37\1\1\0\31\1\1\0\37\1\1\0\31\1"+
+ "\1\0\37\1\1\0\31\1\1\0\10\1\2\0\62\2\u1600\0\4\1"+
+ "\1\0\33\1\1\0\2\1\1\0\1\1\2\0\1\1\1\0\12\1"+
+ "\1\0\4\1\1\0\1\1\1\0\1\1\6\0\1\1\4\0\1\1"+
+ "\1\0\1\1\1\0\1\1\1\0\3\1\1\0\2\1\1\0\1\1"+
+ "\2\0\1\1\1\0\1\1\1\0\1\1\1\0\1\1\1\0\1\1"+
+ "\1\0\2\1\1\0\1\1\2\0\4\1\1\0\7\1\1\0\4\1"+
+ "\1\0\4\1\1\0\1\1\1\0\12\1\1\0\21\1\5\0\3\1"+
+ "\1\0\5\1\1\0\21\1\u1144\0\ua6d7\1\51\0\u1035\1\13\0\336\1"+
+ "\u3fe2\0\u021e\1\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\2\36\0\140\2\200\0\360\2\uffff\0\uffff\0\ufe12\0";
/**
* Translates characters to character classes
private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
private static final String ZZ_ROWMAP_PACKED_0 =
- "\0\0\0\13\0\26\0\41\0\54\0\13\0\13\0\13"+
- "\0\13\0\13\0\67";
+ "\0\0\0\15\0\32\0\47\0\64\0\15\0\15\0\15"+
+ "\0\15\0\15\0\101";
private static int [] zzUnpackRowMap() {
int [] result = new int[11];
private static final String ZZ_TRANS_PACKED_0 =
"\1\2\1\3\1\2\1\4\1\5\1\2\1\4\1\6"+
- "\1\7\1\10\1\11\14\0\2\3\13\0\1\4\2\0"+
- "\1\4\4\0\4\5\1\12\1\13\1\0\12\5\1\0"+
- "\4\5";
+ "\1\7\1\10\1\11\20\0\2\3\11\0\1\3\3\0"+
+ "\1\4\2\0\1\4\6\0\4\5\1\12\1\13\1\0"+
+ "\14\5\1\0\6\5";
private static int [] zzUnpackTrans() {
- int [] result = new int[66];
+ int [] result = new int[78];
int offset = 0;
offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
return result;
private static final int ZZ_UNKNOWN_ERROR = 0;
private static final int ZZ_NO_MATCH = 1;
private static final int ZZ_PUSHBACK_2BIG = 2;
- private static final char[] EMPTY_BUFFER = new char[0];
- private static final int YYEOF = -1;
- private static java.io.Reader zzReader = null; // Fake
/* error messages for the codes above */
- private static final String ZZ_ERROR_MSG[] = {
- "Unkown internal scanner error",
+ private static final String[] ZZ_ERROR_MSG = {
+ "Unknown internal scanner error",
"Error: could not match input",
"Error: pushback value was too large"
};
return j;
}
+ /** the input device */
+ private java.io.Reader zzReader;
+
/** the current state of the DFA */
private int zzState;
}
- _MacroLexer(java.io.Reader in) {
- this.zzReader = in;
- }
-
/**
- * Creates a new scanner.
- * There is also java.io.Reader version of this constructor.
+ * Creates a new scanner
*
- * @param in the java.io.Inputstream to read input from.
+ * @param in the java.io.Reader to read input from.
*/
- _MacroLexer(java.io.InputStream in) {
- this(new java.io.InputStreamReader(in));
+ _MacroLexer(java.io.Reader in) {
+ this.zzReader = in;
}
+
/**
* Unpacks the compressed character translation table.
*
* @return the unpacked character translation table
*/
private static char [] zzUnpackCMap(String packed) {
- char [] map = new char[0x10000];
+ char [] map = new char[0x110000];
int i = 0; /* index in packed string */
int j = 0; /* index in unpacked array */
- while (i < 1682) {
+ while (i < 2784) {
int count = packed.charAt(i++);
char value = packed.charAt(i++);
do map[j++] = value; while (--count > 0);
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 = (zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++] : zzBufferL.charAt(zzCurrentPosL++));
+ if (zzCurrentPosL < zzEndReadL) {
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL/*, zzEndReadL*/);
+ zzCurrentPosL += Character.charCount(zzInput);
+ }
else if (zzAtEOF) {
zzInput = YYEOF;
break zzForAction;
break zzForAction;
}
else {
- zzInput = (zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++] : zzBufferL.charAt(zzCurrentPosL++));
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL/*, zzEndReadL*/);
+ zzCurrentPosL += Character.charCount(zzInput);
}
}
int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
if (zzNext == -1) break zzForAction;
zzState = zzNext;
- int zzAttributes = zzAttrL[zzState];
+ zzAttributes = zzAttrL[zzState];
if ( (zzAttributes & 1) == 1 ) {
zzAction = zzState;
zzMarkedPosL = zzCurrentPosL;
// store back cached position
zzMarkedPos = zzMarkedPosL;
- switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
- case 6:
- { return MacroTokenType.RPAREN;
- }
- case 9: break;
- case 4:
- { return MacroTokenType.STRING_LITERAL;
- }
- case 10: break;
- case 2:
- { return MacroTokenType.IDENTIFIER;
- }
- case 11: break;
- case 1:
- { return TokenType.BAD_CHARACTER;
- }
- case 12: break;
- case 5:
- { return MacroTokenType.LPAREN;
- }
- case 13: break;
- case 8:
- { return MacroTokenType.EQ;
- }
- case 14: break;
- case 7:
- { return MacroTokenType.COMMA;
- }
- case 15: break;
- case 3:
- { return MacroTokenType.WHITE_SPACE;
- }
- case 16: break;
- default:
- if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
- zzAtEOF = true;
- zzDoEOF();
- return null;
- }
- else {
+ if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
+ zzAtEOF = true;
+ zzDoEOF();
+ return null;
+ }
+ else {
+ switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
+ case 1:
+ { return TokenType.BAD_CHARACTER;
+ }
+ case 9: break;
+ case 2:
+ { return MacroTokenType.IDENTIFIER;
+ }
+ case 10: break;
+ case 3:
+ { return MacroTokenType.WHITE_SPACE;
+ }
+ case 11: break;
+ case 4:
+ { return MacroTokenType.STRING_LITERAL;
+ }
+ case 12: break;
+ case 5:
+ { return MacroTokenType.LPAREN;
+ }
+ case 13: break;
+ case 6:
+ { return MacroTokenType.RPAREN;
+ }
+ case 14: break;
+ case 7:
+ { return MacroTokenType.COMMA;
+ }
+ case 15: break;
+ case 8:
+ { return MacroTokenType.EQ;
+ }
+ case 16: break;
+ default:
zzScanError(ZZ_NO_MATCH);
}
}
-/* The following code was generated by JFlex 1.4.3 on 4/26/14 1:30 PM */
+/* The following code was generated by JFlex 1.7.0-SNAPSHOT tweaked for IntelliJ platform */
/* It's an automatically generated code. Do not modify it. */
package com.intellij.codeInsight.template.impl;
/**
* This class is a scanner generated by
- * <a href="http://www.jflex.de/">JFlex</a> 1.4.3
- * on 4/26/14 1:30 PM from the specification file
- * <tt>/Users/ignatov/src/ultimate/tools/lexer/../../community/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateTextLexer.flex</tt>
+ * <a href="http://www.jflex.de/">JFlex</a> 1.7.0-SNAPSHOT
+ * from the specification file <tt>/ideadev/tools/lexer/../../community/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateTextLexer.flex</tt>
*/
class _TemplateTextLexer implements FlexLexer {
+
+ /** 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;
*/
private static final String ZZ_CMAP_PACKED =
"\44\0\1\2\13\0\12\1\7\0\32\1\4\0\1\1\1\0\32\1"+
- "\uff85\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\uffff\0\uff95\0";
/**
* Translates characters to character classes
private static final int ZZ_UNKNOWN_ERROR = 0;
private static final int ZZ_NO_MATCH = 1;
private static final int ZZ_PUSHBACK_2BIG = 2;
- private static final char[] EMPTY_BUFFER = new char[0];
- private static final int YYEOF = -1;
- private static java.io.Reader zzReader = null; // Fake
/* error messages for the codes above */
- private static final String ZZ_ERROR_MSG[] = {
- "Unkown internal scanner error",
+ private static final String[] ZZ_ERROR_MSG = {
+ "Unknown internal scanner error",
"Error: could not match input",
"Error: pushback value was too large"
};
return j;
}
+ /** the input device */
+ private java.io.Reader zzReader;
+
/** the current state of the DFA */
private int zzState;
}
- _TemplateTextLexer(java.io.Reader in) {
- this.zzReader = in;
- }
-
/**
- * Creates a new scanner.
- * There is also java.io.Reader version of this constructor.
+ * Creates a new scanner
*
- * @param in the java.io.Inputstream to read input from.
+ * @param in the java.io.Reader to read input from.
*/
- _TemplateTextLexer(java.io.InputStream in) {
- this(new java.io.InputStreamReader(in));
+ _TemplateTextLexer(java.io.Reader in) {
+ this.zzReader = in;
}
+
/**
* Unpacks the compressed character translation table.
*
* @return the unpacked character translation table
*/
private static char [] zzUnpackCMap(String packed) {
- char [] map = new char[0x10000];
+ char [] map = new char[0x110000];
int i = 0; /* index in packed string */
int j = 0; /* index in unpacked array */
- while (i < 22) {
+ while (i < 54) {
int count = packed.charAt(i++);
char value = packed.charAt(i++);
do map[j++] = value; while (--count > 0);
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 = (zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++] : zzBufferL.charAt(zzCurrentPosL++));
+ if (zzCurrentPosL < zzEndReadL) {
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL/*, zzEndReadL*/);
+ zzCurrentPosL += Character.charCount(zzInput);
+ }
else if (zzAtEOF) {
zzInput = YYEOF;
break zzForAction;
break zzForAction;
}
else {
- zzInput = (zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++] : zzBufferL.charAt(zzCurrentPosL++));
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL/*, zzEndReadL*/);
+ zzCurrentPosL += Character.charCount(zzInput);
}
}
int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
if (zzNext == -1) break zzForAction;
zzState = zzNext;
- int zzAttributes = zzAttrL[zzState];
+ zzAttributes = zzAttrL[zzState];
if ( (zzAttributes & 1) == 1 ) {
zzAction = zzState;
zzMarkedPosL = zzCurrentPosL;
// store back cached position
zzMarkedPos = zzMarkedPosL;
- switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
- case 2:
- { return TemplateTokenType.ESCAPE_DOLLAR;
- }
- case 4: break;
- case 1:
- { return TemplateTokenType.TEXT;
- }
- case 5: break;
- case 3:
- { return TemplateTokenType.VARIABLE;
- }
- case 6: break;
- default:
- if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
- zzAtEOF = true;
- zzDoEOF();
- return null;
- }
- else {
+ if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
+ zzAtEOF = true;
+ zzDoEOF();
+ return null;
+ }
+ else {
+ switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
+ case 1:
+ { return TemplateTokenType.TEXT;
+ }
+ case 4: break;
+ case 2:
+ { return TemplateTokenType.ESCAPE_DOLLAR;
+ }
+ case 5: break;
+ case 3:
+ { return TemplateTokenType.VARIABLE;
+ }
+ case 6: break;
+ default:
zzScanError(ZZ_NO_MATCH);
}
}
-/* The following code was generated by JFlex 1.4.3 on 4/26/14 1:28 PM */
+/* The following code was generated by JFlex 1.7.0-SNAPSHOT tweaked for IntelliJ platform */
/* It's an automatically generated code. Do not modify it. */
package com.intellij.ide.fileTemplates.impl;
/**
* This class is a scanner generated by
- * <a href="http://www.jflex.de/">JFlex</a> 1.4.3
- * on 4/26/14 1:28 PM from the specification file
- * <tt>/Users/ignatov/src/ultimate/tools/lexer/../../community/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/FileTemplateTextLexer.flex</tt>
+ * <a href="http://www.jflex.de/">JFlex</a> 1.7.0-SNAPSHOT
+ * from the specification file <tt>/ideadev/tools/lexer/../../community/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/FileTemplateTextLexer.flex</tt>
*/
class FileTemplateTextLexer implements FlexLexer {
+
+ /** 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;
*/
private static final String ZZ_CMAP_PACKED =
"\43\0\1\6\1\3\13\0\12\2\7\0\32\1\4\0\1\1\1\0"+
- "\32\1\1\4\1\0\1\5\uff82\0";
+ "\32\1\1\4\1\0\1\5\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\uff92\0";
/**
* Translates characters to character classes
private static final int ZZ_UNKNOWN_ERROR = 0;
private static final int ZZ_NO_MATCH = 1;
private static final int ZZ_PUSHBACK_2BIG = 2;
- private static final char[] EMPTY_BUFFER = new char[0];
- private static final int YYEOF = -1;
- private static java.io.Reader zzReader = null; // Fake
/* error messages for the codes above */
- private static final String ZZ_ERROR_MSG[] = {
- "Unkown internal scanner error",
+ private static final String[] ZZ_ERROR_MSG = {
+ "Unknown internal scanner error",
"Error: could not match input",
"Error: pushback value was too large"
};
return j;
}
+ /** the input device */
+ private java.io.Reader zzReader;
+
/** the current state of the DFA */
private int zzState;
}
- FileTemplateTextLexer(java.io.Reader in) {
- this.zzReader = in;
- }
-
/**
- * Creates a new scanner.
- * There is also java.io.Reader version of this constructor.
+ * Creates a new scanner
*
- * @param in the java.io.Inputstream to read input from.
+ * @param in the java.io.Reader to read input from.
*/
- FileTemplateTextLexer(java.io.InputStream in) {
- this(new java.io.InputStreamReader(in));
+ FileTemplateTextLexer(java.io.Reader in) {
+ this.zzReader = in;
}
+
/**
* Unpacks the compressed character translation table.
*
* @return the unpacked character translation table
*/
private static char [] zzUnpackCMap(String packed) {
- char [] map = new char[0x10000];
+ char [] map = new char[0x110000];
int i = 0; /* index in packed string */
int j = 0; /* index in unpacked array */
- while (i < 30) {
+ while (i < 62) {
int count = packed.charAt(i++);
char value = packed.charAt(i++);
do map[j++] = value; while (--count > 0);
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 = (zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++] : zzBufferL.charAt(zzCurrentPosL++));
+ if (zzCurrentPosL < zzEndReadL) {
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL/*, zzEndReadL*/);
+ zzCurrentPosL += Character.charCount(zzInput);
+ }
else if (zzAtEOF) {
zzInput = YYEOF;
break zzForAction;
break zzForAction;
}
else {
- zzInput = (zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++] : zzBufferL.charAt(zzCurrentPosL++));
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL/*, zzEndReadL*/);
+ zzCurrentPosL += Character.charCount(zzInput);
}
}
int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
if (zzNext == -1) break zzForAction;
zzState = zzNext;
- int zzAttributes = zzAttrL[zzState];
+ zzAttributes = zzAttrL[zzState];
if ( (zzAttributes & 1) == 1 ) {
zzAction = zzState;
zzMarkedPosL = zzCurrentPosL;
// store back cached position
zzMarkedPos = zzMarkedPosL;
- switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
- case 2:
- { return FileTemplateTokenType.MACRO;
- }
- case 4: break;
- case 1:
- { return FileTemplateTokenType.TEXT;
- }
- case 5: break;
- case 3:
- { return FileTemplateTokenType.DIRECTIVE;
- }
- case 6: break;
- default:
- if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
- zzAtEOF = true;
- zzDoEOF();
- return null;
- }
- else {
+ if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
+ zzAtEOF = true;
+ zzDoEOF();
+ return null;
+ }
+ else {
+ switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
+ case 1:
+ { return FileTemplateTokenType.TEXT;
+ }
+ case 4: break;
+ case 2:
+ { return FileTemplateTokenType.MACRO;
+ }
+ case 5: break;
+ case 3:
+ { return FileTemplateTokenType.DIRECTIVE;
+ }
+ case 6: break;
+ default:
zzScanError(ZZ_NO_MATCH);
}
}
-/* The following code was generated by JFlex 1.4.3 on 4/26/14 1:26 PM */
+/* The following code was generated by JFlex 1.7.0-SNAPSHOT tweaked for IntelliJ platform */
/* It's an automatically generated code. Do not modify it. */
package com.intellij.psi.search.scope.packageSet.lexer;
/**
* This class is a scanner generated by
- * <a href="http://www.jflex.de/">JFlex</a> 1.4.3
- * on 4/26/14 1:26 PM from the specification file
- * <tt>/Users/ignatov/src/ultimate/tools/lexer/../../community/platform/lang-impl/src/com/intellij/psi/search/scope/packageSet/lexer/_ScopesLexer.flex</tt>
+ * <a href="http://www.jflex.de/">JFlex</a> 1.7.0-SNAPSHOT
+ * from the specification file <tt>/ideadev/tools/lexer/../../community/platform/lang-impl/src/com/intellij/psi/search/scope/packageSet/lexer/_ScopesLexer.flex</tt>
*/
class _ScopesLexer implements FlexLexer {
+
+ /** 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;
* Translates characters to character classes
*/
private static final String ZZ_CMAP_PACKED =
- "\11\2\1\3\1\3\1\0\2\3\16\2\4\0\1\3\1\7\1\0"+
- "\1\22\1\1\1\0\1\6\1\0\1\14\1\15\1\20\2\0\1\10"+
- "\1\16\1\21\12\4\1\17\6\0\32\1\1\12\1\0\1\13\1\0"+
- "\1\1\1\0\32\1\1\0\1\5\1\0\1\11\41\2\2\0\4\1"+
- "\4\0\1\1\2\0\1\2\7\0\1\1\4\0\1\1\5\0\27\1"+
- "\1\0\37\1\1\0\u013f\1\31\0\162\1\4\0\14\1\16\0\5\1"+
- "\11\0\1\1\21\0\130\2\5\0\23\2\12\0\1\1\13\0\1\1"+
- "\1\0\3\1\1\0\1\1\1\0\24\1\1\0\54\1\1\0\46\1"+
- "\1\0\5\1\4\0\202\1\1\0\4\2\3\0\105\1\1\0\46\1"+
- "\2\0\2\1\6\0\20\1\41\0\46\1\2\0\1\1\7\0\47\1"+
- "\11\0\21\2\1\0\27\2\1\0\3\2\1\0\1\2\1\0\2\2"+
- "\1\0\1\2\13\0\33\1\5\0\3\1\15\0\4\2\14\0\6\2"+
- "\13\0\32\1\5\0\13\1\16\2\7\0\12\2\4\0\2\1\1\2"+
- "\143\1\1\0\1\1\10\2\1\0\6\2\2\1\2\2\1\0\4\2"+
- "\2\1\12\2\3\1\2\0\1\1\17\0\1\2\1\1\1\2\36\1"+
- "\33\2\2\0\3\1\60\0\46\1\13\2\1\1\u014f\0\3\2\66\1"+
- "\2\0\1\2\1\1\20\2\2\0\1\1\4\2\3\0\12\1\2\2"+
- "\2\0\12\2\21\0\3\2\1\0\10\1\2\0\2\1\2\0\26\1"+
- "\1\0\7\1\1\0\1\1\3\0\4\1\2\0\1\2\1\1\7\2"+
- "\2\0\2\2\2\0\3\2\11\0\1\2\4\0\2\1\1\0\3\1"+
- "\2\2\2\0\12\2\4\1\15\0\3\2\1\0\6\1\4\0\2\1"+
- "\2\0\26\1\1\0\7\1\1\0\2\1\1\0\2\1\1\0\2\1"+
- "\2\0\1\2\1\0\5\2\4\0\2\2\2\0\3\2\13\0\4\1"+
- "\1\0\1\1\7\0\14\2\3\1\14\0\3\2\1\0\11\1\1\0"+
- "\3\1\1\0\26\1\1\0\7\1\1\0\2\1\1\0\5\1\2\0"+
- "\1\2\1\1\10\2\1\0\3\2\1\0\3\2\2\0\1\1\17\0"+
- "\2\1\2\2\2\0\12\2\1\0\1\1\17\0\3\2\1\0\10\1"+
- "\2\0\2\1\2\0\26\1\1\0\7\1\1\0\2\1\1\0\5\1"+
- "\2\0\1\2\1\1\6\2\3\0\2\2\2\0\3\2\10\0\2\2"+
- "\4\0\2\1\1\0\3\1\4\0\12\2\1\0\1\1\20\0\1\2"+
- "\1\1\1\0\6\1\3\0\3\1\1\0\4\1\3\0\2\1\1\0"+
- "\1\1\1\0\2\1\3\0\2\1\3\0\3\1\3\0\10\1\1\0"+
- "\3\1\4\0\5\2\3\0\3\2\1\0\4\2\11\0\1\2\17\0"+
- "\11\2\11\0\1\1\7\0\3\2\1\0\10\1\1\0\3\1\1\0"+
- "\27\1\1\0\12\1\1\0\5\1\4\0\7\2\1\0\3\2\1\0"+
- "\4\2\7\0\2\2\11\0\2\1\4\0\12\2\22\0\2\2\1\0"+
- "\10\1\1\0\3\1\1\0\27\1\1\0\12\1\1\0\5\1\2\0"+
- "\1\2\1\1\7\2\1\0\3\2\1\0\4\2\7\0\2\2\7\0"+
- "\1\1\1\0\2\1\4\0\12\2\22\0\2\2\1\0\10\1\1\0"+
- "\3\1\1\0\27\1\1\0\20\1\4\0\6\2\2\0\3\2\1\0"+
- "\4\2\11\0\1\2\10\0\2\1\4\0\12\2\22\0\2\2\1\0"+
- "\22\1\3\0\30\1\1\0\11\1\1\0\1\1\2\0\7\1\3\0"+
- "\1\2\4\0\6\2\1\0\1\2\1\0\10\2\22\0\2\2\15\0"+
- "\60\1\1\2\2\1\7\2\4\0\10\1\10\2\1\0\12\2\47\0"+
- "\2\1\1\0\1\1\2\0\2\1\1\0\1\1\2\0\1\1\6\0"+
- "\4\1\1\0\7\1\1\0\3\1\1\0\1\1\1\0\1\1\2\0"+
- "\2\1\1\0\4\1\1\2\2\1\6\2\1\0\2\2\1\1\2\0"+
- "\5\1\1\0\1\1\1\0\6\2\2\0\12\2\2\0\2\1\42\0"+
- "\1\1\27\0\2\2\6\0\12\2\13\0\1\2\1\0\1\2\1\0"+
- "\1\2\4\0\2\2\10\1\1\0\42\1\6\0\24\2\1\0\2\2"+
- "\4\1\4\0\10\2\1\0\44\2\11\0\1\2\71\0\42\1\1\0"+
- "\5\1\1\0\2\1\1\0\7\2\3\0\4\2\6\0\12\2\6\0"+
- "\6\1\4\2\106\0\46\1\12\0\51\1\7\0\132\1\5\0\104\1"+
- "\5\0\122\1\6\0\7\1\1\0\77\1\1\0\1\1\1\0\4\1"+
- "\2\0\7\1\1\0\1\1\1\0\4\1\2\0\47\1\1\0\1\1"+
- "\1\0\4\1\2\0\37\1\1\0\1\1\1\0\4\1\2\0\7\1"+
- "\1\0\1\1\1\0\4\1\2\0\7\1\1\0\7\1\1\0\27\1"+
- "\1\0\37\1\1\0\1\1\1\0\4\1\2\0\7\1\1\0\47\1"+
- "\1\0\23\1\16\0\11\2\56\0\125\1\14\0\u026c\1\2\0\10\1"+
- "\12\0\32\1\5\0\113\1\3\0\3\1\17\0\15\1\1\0\4\1"+
- "\3\2\13\0\22\1\3\2\13\0\22\1\2\2\14\0\15\1\1\0"+
- "\3\1\1\0\2\2\14\0\64\1\40\2\3\0\1\1\3\0\2\1"+
- "\1\2\2\0\12\2\41\0\3\2\2\0\12\2\6\0\130\1\10\0"+
- "\51\1\1\2\126\0\35\1\3\0\14\2\4\0\14\2\12\0\12\2"+
- "\36\1\2\0\5\1\u038b\0\154\1\224\0\234\1\4\0\132\1\6\0"+
- "\26\1\2\0\6\1\2\0\46\1\2\0\6\1\2\0\10\1\1\0"+
- "\1\1\1\0\1\1\1\0\1\1\1\0\37\1\2\0\65\1\1\0"+
- "\7\1\1\0\1\1\3\0\3\1\1\0\7\1\3\0\4\1\2\0"+
- "\6\1\4\0\15\1\5\0\3\1\1\0\7\1\17\0\4\2\32\0"+
- "\5\2\20\0\2\1\23\0\1\1\13\0\4\2\6\0\6\2\1\0"+
- "\1\1\15\0\1\1\40\0\22\1\36\0\15\2\4\0\1\2\3\0"+
- "\6\2\27\0\1\1\4\0\1\1\2\0\12\1\1\0\1\1\3\0"+
- "\5\1\6\0\1\1\1\0\1\1\1\0\1\1\1\0\4\1\1\0"+
- "\3\1\1\0\7\1\3\0\3\1\5\0\5\1\26\0\44\1\u0e81\0"+
- "\3\1\31\0\11\1\6\2\1\0\5\1\2\0\5\1\4\0\126\1"+
- "\2\0\2\2\2\0\3\1\1\0\137\1\5\0\50\1\4\0\136\1"+
- "\21\0\30\1\70\0\20\1\u0200\0\u19b6\1\112\0\u51a6\1\132\0\u048d\1"+
- "\u0773\0\u2ba4\1\u215c\0\u012e\1\2\0\73\1\225\0\7\1\14\0\5\1"+
- "\5\0\1\1\1\2\12\1\1\0\15\1\1\0\5\1\1\0\1\1"+
- "\1\0\2\1\1\0\2\1\1\0\154\1\41\0\u016b\1\22\0\100\1"+
- "\2\0\66\1\50\0\15\1\3\0\20\2\20\0\4\2\17\0\2\1"+
- "\30\0\3\1\31\0\1\1\6\0\5\1\1\0\207\1\2\0\1\2"+
- "\4\0\1\1\13\0\12\2\7\0\32\1\4\0\1\1\1\0\32\1"+
- "\12\0\132\1\3\0\6\1\2\0\6\1\2\0\6\1\2\0\3\1"+
- "\3\0\2\1\3\0\2\1\22\0\3\2\4\0";
+ "\11\2\1\3\1\3\1\23\1\3\1\3\16\2\4\0\1\3\1\7"+
+ "\1\0\1\22\1\1\1\0\1\6\1\0\1\14\1\15\1\20\2\0"+
+ "\1\10\1\16\1\21\12\4\1\17\6\0\32\1\1\12\1\0\1\13"+
+ "\1\0\1\1\1\0\32\1\1\0\1\5\1\0\1\11\6\2\1\24"+
+ "\32\2\2\0\4\1\4\0\1\1\2\0\1\2\7\0\1\1\4\0"+
+ "\1\1\5\0\27\1\1\0\37\1\1\0\u01ca\1\4\0\14\1\16\0"+
+ "\5\1\7\0\1\1\1\0\1\1\21\0\160\2\5\1\1\0\2\1"+
+ "\2\0\4\1\10\0\1\1\1\0\3\1\1\0\1\1\1\0\24\1"+
+ "\1\0\123\1\1\0\213\1\1\0\5\2\2\0\236\1\11\0\46\1"+
+ "\2\0\1\1\7\0\47\1\7\0\1\1\1\0\55\2\1\0\1\2"+
+ "\1\0\2\2\1\0\2\2\1\0\1\2\10\0\33\1\5\0\3\1"+
+ "\15\0\5\2\6\0\1\1\4\0\13\2\5\0\53\1\37\2\4\0"+
+ "\2\1\1\2\143\1\1\0\1\1\10\2\1\0\6\2\2\1\2\2"+
+ "\1\0\4\2\2\1\12\2\3\1\2\0\1\1\17\0\1\2\1\1"+
+ "\1\2\36\1\33\2\2\0\131\1\13\2\1\1\16\0\12\2\41\1"+
+ "\11\2\2\1\4\0\1\1\5\0\26\1\4\2\1\1\11\2\1\1"+
+ "\3\2\1\1\5\2\22\0\31\1\3\2\104\0\1\1\1\0\13\1"+
+ "\67\0\33\2\1\0\4\2\66\1\3\2\1\1\22\2\1\1\7\2"+
+ "\12\1\2\2\2\0\12\2\1\0\7\1\1\0\7\1\1\0\3\2"+
+ "\1\0\10\1\2\0\2\1\2\0\26\1\1\0\7\1\1\0\1\1"+
+ "\3\0\4\1\2\0\1\2\1\1\7\2\2\0\2\2\2\0\3\2"+
+ "\1\1\10\0\1\2\4\0\2\1\1\0\3\1\2\2\2\0\12\2"+
+ "\4\1\7\0\1\1\5\0\3\2\1\0\6\1\4\0\2\1\2\0"+
+ "\26\1\1\0\7\1\1\0\2\1\1\0\2\1\1\0\2\1\2\0"+
+ "\1\2\1\0\5\2\4\0\2\2\2\0\3\2\3\0\1\2\7\0"+
+ "\4\1\1\0\1\1\7\0\14\2\3\1\1\2\13\0\3\2\1\0"+
+ "\11\1\1\0\3\1\1\0\26\1\1\0\7\1\1\0\2\1\1\0"+
+ "\5\1\2\0\1\2\1\1\10\2\1\0\3\2\1\0\3\2\2\0"+
+ "\1\1\17\0\2\1\2\2\2\0\12\2\1\0\1\1\17\0\3\2"+
+ "\1\0\10\1\2\0\2\1\2\0\26\1\1\0\7\1\1\0\2\1"+
+ "\1\0\5\1\2\0\1\2\1\1\7\2\2\0\2\2\2\0\3\2"+
+ "\10\0\2\2\4\0\2\1\1\0\3\1\2\2\2\0\12\2\1\0"+
+ "\1\1\20\0\1\2\1\1\1\0\6\1\3\0\3\1\1\0\4\1"+
+ "\3\0\2\1\1\0\1\1\1\0\2\1\3\0\2\1\3\0\3\1"+
+ "\3\0\14\1\4\0\5\2\3\0\3\2\1\0\4\2\2\0\1\1"+
+ "\6\0\1\2\16\0\12\2\11\0\1\1\7\0\3\2\1\0\10\1"+
+ "\1\0\3\1\1\0\27\1\1\0\12\1\1\0\5\1\3\0\1\1"+
+ "\7\2\1\0\3\2\1\0\4\2\7\0\2\2\1\0\2\1\6\0"+
+ "\2\1\2\2\2\0\12\2\22\0\2\2\1\0\10\1\1\0\3\1"+
+ "\1\0\27\1\1\0\12\1\1\0\5\1\2\0\1\2\1\1\7\2"+
+ "\1\0\3\2\1\0\4\2\7\0\2\2\7\0\1\1\1\0\2\1"+
+ "\2\2\2\0\12\2\1\0\2\1\17\0\2\2\1\0\10\1\1\0"+
+ "\3\1\1\0\51\1\2\0\1\1\7\2\1\0\3\2\1\0\4\2"+
+ "\1\1\10\0\1\2\10\0\2\1\2\2\2\0\12\2\12\0\6\1"+
+ "\2\0\2\2\1\0\22\1\3\0\30\1\1\0\11\1\1\0\1\1"+
+ "\2\0\7\1\3\0\1\2\4\0\6\2\1\0\1\2\1\0\10\2"+
+ "\22\0\2\2\15\0\60\1\1\2\2\1\7\2\4\0\10\1\10\2"+
+ "\1\0\12\2\47\0\2\1\1\0\1\1\2\0\2\1\1\0\1\1"+
+ "\2\0\1\1\6\0\4\1\1\0\7\1\1\0\3\1\1\0\1\1"+
+ "\1\0\1\1\2\0\2\1\1\0\4\1\1\2\2\1\6\2\1\0"+
+ "\2\2\1\1\2\0\5\1\1\0\1\1\1\0\6\2\2\0\12\2"+
+ "\2\0\4\1\40\0\1\1\27\0\2\2\6\0\12\2\13\0\1\2"+
+ "\1\0\1\2\1\0\1\2\4\0\2\2\10\1\1\0\44\1\4\0"+
+ "\24\2\1\0\2\2\5\1\13\2\1\0\44\2\11\0\1\2\71\0"+
+ "\53\1\24\2\1\1\12\2\6\0\6\1\4\2\4\1\3\2\1\1"+
+ "\3\2\2\1\7\2\3\1\4\2\15\1\14\2\1\1\17\2\2\0"+
+ "\46\1\1\0\1\1\5\0\1\1\2\0\53\1\1\0\u014d\1\1\0"+
+ "\4\1\2\0\7\1\1\0\1\1\1\0\4\1\2\0\51\1\1\0"+
+ "\4\1\2\0\41\1\1\0\4\1\2\0\7\1\1\0\1\1\1\0"+
+ "\4\1\2\0\17\1\1\0\71\1\1\0\4\1\2\0\103\1\2\0"+
+ "\3\2\40\0\20\1\20\0\125\1\14\0\u026c\1\2\0\21\1\1\0"+
+ "\32\1\5\0\113\1\3\0\3\1\17\0\15\1\1\0\4\1\3\2"+
+ "\13\0\22\1\3\2\13\0\22\1\2\2\14\0\15\1\1\0\3\1"+
+ "\1\0\2\2\14\0\64\1\40\2\3\0\1\1\3\0\2\1\1\2"+
+ "\2\0\12\2\41\0\3\2\2\0\12\2\6\0\130\1\10\0\51\1"+
+ "\1\2\1\1\5\0\106\1\12\0\35\1\3\0\14\2\4\0\14\2"+
+ "\12\0\12\2\36\1\2\0\5\1\13\0\54\1\4\0\21\2\7\1"+
+ "\2\2\6\0\12\2\46\0\27\1\5\2\4\0\65\1\12\2\1\0"+
+ "\35\2\2\0\13\2\6\0\12\2\15\0\1\1\130\0\5\2\57\1"+
+ "\21\2\7\1\4\0\12\2\21\0\11\2\14\0\3\2\36\1\15\2"+
+ "\2\1\12\2\54\1\16\2\14\0\44\1\24\2\10\0\12\2\3\0"+
+ "\3\1\12\2\44\1\122\0\3\2\1\0\25\2\4\1\1\2\4\1"+
+ "\3\2\2\1\11\0\300\1\47\2\25\0\4\2\u0116\1\2\0\6\1"+
+ "\2\0\46\1\2\0\6\1\2\0\10\1\1\0\1\1\1\0\1\1"+
+ "\1\0\1\1\1\0\37\1\2\0\65\1\1\0\7\1\1\0\1\1"+
+ "\3\0\3\1\1\0\7\1\3\0\4\1\2\0\6\1\4\0\15\1"+
+ "\5\0\3\1\1\0\7\1\16\0\5\2\30\0\1\23\1\23\5\2"+
+ "\20\0\2\1\23\0\1\1\13\0\5\2\5\0\6\2\1\0\1\1"+
+ "\15\0\1\1\20\0\15\1\3\0\33\1\25\0\15\2\4\0\1\2"+
+ "\3\0\14\2\21\0\1\1\4\0\1\1\2\0\12\1\1\0\1\1"+
+ "\3\0\5\1\6\0\1\1\1\0\1\1\1\0\1\1\1\0\4\1"+
+ "\1\0\13\1\2\0\4\1\5\0\5\1\4\0\1\1\21\0\51\1"+
+ "\u0a77\0\57\1\1\0\57\1\1\0\205\1\6\0\4\1\3\2\2\1"+
+ "\14\0\46\1\1\0\1\1\5\0\1\1\2\0\70\1\7\0\1\1"+
+ "\17\0\1\2\27\1\11\0\7\1\1\0\7\1\1\0\7\1\1\0"+
+ "\7\1\1\0\7\1\1\0\7\1\1\0\7\1\1\0\7\1\1\0"+
+ "\40\2\57\0\1\1\u01d5\0\3\1\31\0\11\1\6\2\1\0\5\1"+
+ "\2\0\5\1\4\0\126\1\2\0\2\2\2\0\3\1\1\0\132\1"+
+ "\1\0\4\1\5\0\51\1\3\0\136\1\21\0\33\1\65\0\20\1"+
+ "\u0200\0\u19b6\1\112\0\u51cd\1\63\0\u048d\1\103\0\56\1\2\0\u010d\1"+
+ "\3\0\20\1\12\2\2\1\24\0\57\1\1\2\4\0\12\2\1\0"+
+ "\31\1\7\0\1\2\120\1\2\2\45\0\11\1\2\0\147\1\2\0"+
+ "\4\1\1\0\4\1\14\0\13\1\115\0\12\1\1\2\3\1\1\2"+
+ "\4\1\1\2\27\1\5\2\20\0\1\1\7\0\64\1\14\0\2\2"+
+ "\62\1\21\2\13\0\12\2\6\0\22\2\6\1\3\0\1\1\4\0"+
+ "\12\2\34\1\10\2\2\0\27\1\15\2\14\0\35\1\3\0\4\2"+
+ "\57\1\16\2\16\0\1\1\12\2\46\0\51\1\16\2\11\0\3\1"+
+ "\1\2\10\1\2\2\2\0\12\2\6\0\27\1\3\0\1\1\1\2"+
+ "\4\0\60\1\1\2\1\1\3\2\2\1\2\2\5\1\2\2\1\1"+
+ "\1\2\1\1\30\0\3\1\2\0\13\1\5\2\2\0\3\1\2\2"+
+ "\12\0\6\1\2\0\6\1\2\0\6\1\11\0\7\1\1\0\7\1"+
+ "\221\0\43\1\10\2\1\0\2\2\2\0\12\2\6\0\u2ba4\1\14\0"+
+ "\27\1\4\0\61\1\u2104\0\u016e\1\2\0\152\1\46\0\7\1\14\0"+
+ "\5\1\5\0\1\1\1\2\12\1\1\0\15\1\1\0\5\1\1\0"+
+ "\1\1\1\0\2\1\1\0\2\1\1\0\154\1\41\0\u016b\1\22\0"+
+ "\100\1\2\0\66\1\50\0\15\1\3\0\20\2\20\0\7\2\14\0"+
+ "\2\1\30\0\3\1\31\0\1\1\6\0\5\1\1\0\207\1\2\0"+
+ "\1\2\4\0\1\1\13\0\12\2\7\0\32\1\4\0\1\1\1\0"+
+ "\32\1\13\0\131\1\3\0\6\1\2\0\6\1\2\0\6\1\2\0"+
+ "\3\1\3\0\2\1\3\0\2\1\22\0\3\2\4\0\14\1\1\0"+
+ "\32\1\1\0\23\1\1\0\2\1\1\0\17\1\2\0\16\1\42\0"+
+ "\173\1\105\0\65\1\210\0\1\2\202\0\35\1\3\0\61\1\57\0"+
+ "\37\1\21\0\33\1\65\0\36\1\2\0\44\1\4\0\10\1\1\0"+
+ "\5\1\52\0\236\1\2\0\12\2\u0356\0\6\1\2\0\1\1\1\0"+
+ "\54\1\1\0\2\1\3\0\1\1\2\0\27\1\252\0\26\1\12\0"+
+ "\32\1\106\0\70\1\6\0\2\1\100\0\1\1\3\2\1\0\2\2"+
+ "\5\0\4\2\4\1\1\0\3\1\1\0\33\1\4\0\3\2\4\0"+
+ "\1\2\40\0\35\1\203\0\66\1\12\0\26\1\12\0\23\1\215\0"+
+ "\111\1\u03b7\0\3\2\65\1\17\2\37\0\12\2\20\0\3\2\55\1"+
+ "\13\2\2\0\1\2\22\0\31\1\7\0\12\2\6\0\3\2\44\1"+
+ "\16\2\1\0\12\2\100\0\3\2\60\1\16\2\4\1\13\0\12\2"+
+ "\u04a6\0\53\1\15\2\10\0\12\2\u0936\0\u036f\1\221\0\143\1\u0b9d\0"+
+ "\u042f\1\u33d1\0\u0239\1\u04c7\0\105\1\13\0\1\1\56\2\20\0\4\2"+
+ "\15\1\u4060\0\2\1\u2163\0\5\2\3\0\26\2\2\0\7\2\36\0"+
+ "\4\2\224\0\3\2\u01bb\0\125\1\1\0\107\1\1\0\2\1\2\0"+
+ "\1\1\2\0\2\1\2\0\4\1\1\0\14\1\1\0\1\1\1\0"+
+ "\7\1\1\0\101\1\1\0\4\1\2\0\10\1\1\0\7\1\1\0"+
+ "\34\1\1\0\4\1\1\0\5\1\1\0\1\1\3\0\7\1\1\0"+
+ "\u0154\1\2\0\31\1\1\0\31\1\1\0\37\1\1\0\31\1\1\0"+
+ "\37\1\1\0\31\1\1\0\37\1\1\0\31\1\1\0\37\1\1\0"+
+ "\31\1\1\0\10\1\2\0\62\2\u1600\0\4\1\1\0\33\1\1\0"+
+ "\2\1\1\0\1\1\2\0\1\1\1\0\12\1\1\0\4\1\1\0"+
+ "\1\1\1\0\1\1\6\0\1\1\4\0\1\1\1\0\1\1\1\0"+
+ "\1\1\1\0\3\1\1\0\2\1\1\0\1\1\2\0\1\1\1\0"+
+ "\1\1\1\0\1\1\1\0\1\1\1\0\1\1\1\0\2\1\1\0"+
+ "\1\1\2\0\4\1\1\0\7\1\1\0\4\1\1\0\4\1\1\0"+
+ "\1\1\1\0\12\1\1\0\21\1\5\0\3\1\1\0\5\1\1\0"+
+ "\21\1\u1144\0\ua6d7\1\51\0\u1035\1\13\0\336\1\u3fe2\0\u021e\1\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\2\36\0\140\2\200\0\360\2\uffff\0\uffff\0\ufe12\0";
/**
* Translates characters to character classes
private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
private static final String ZZ_ROWMAP_PACKED_0 =
- "\0\0\0\23\0\46\0\71\0\114\0\137\0\162\0\23"+
- "\0\23\0\23\0\23\0\23\0\23\0\23\0\23\0\23"+
- "\0\23\0\23\0\23\0\23\0\23";
+ "\0\0\0\25\0\52\0\77\0\124\0\151\0\176\0\25"+
+ "\0\25\0\25\0\25\0\25\0\25\0\25\0\25\0\25"+
+ "\0\25\0\25\0\25\0\25\0\25";
private static int [] zzUnpackRowMap() {
int [] result = new int[21];
private static final String ZZ_TRANS_PACKED_0 =
"\1\2\1\3\1\2\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\24\0\2\3\1\0\1\3\21\0"+
- "\1\4\23\0\1\5\23\0\1\24\23\0\1\25\14\0";
+ "\1\21\1\22\1\23\30\0\2\3\1\0\1\3\17\0"+
+ "\1\3\3\0\1\4\25\0\1\5\25\0\1\24\25\0"+
+ "\1\25\16\0";
private static int [] zzUnpackTrans() {
- int [] result = new int[133];
+ int [] result = new int[147];
int offset = 0;
offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
return result;
private static final int ZZ_UNKNOWN_ERROR = 0;
private static final int ZZ_NO_MATCH = 1;
private static final int ZZ_PUSHBACK_2BIG = 2;
- private static final char[] EMPTY_BUFFER = new char[0];
- private static final int YYEOF = -1;
- private static java.io.Reader zzReader = null; // Fake
/* error messages for the codes above */
- private static final String ZZ_ERROR_MSG[] = {
- "Unkown internal scanner error",
+ private static final String[] ZZ_ERROR_MSG = {
+ "Unknown internal scanner error",
"Error: could not match input",
"Error: pushback value was too large"
};
return j;
}
+ /** the input device */
+ private java.io.Reader zzReader;
+
/** the current state of the DFA */
private int zzState;
private boolean zzEOFDone;
/* user code: */
- public void goTo(int offset) {
- zzCurrentPos = zzMarkedPos = zzStartRead = offset;
- zzPushbackPos = 0;
- zzAtEOF = offset < zzEndRead;
- }
-
public _ScopesLexer() {
this((java.io.Reader)null);
}
- _ScopesLexer(java.io.Reader in) {
- this.zzReader = in;
- }
-
/**
- * Creates a new scanner.
- * There is also java.io.Reader version of this constructor.
+ * Creates a new scanner
*
- * @param in the java.io.Inputstream to read input from.
+ * @param in the java.io.Reader to read input from.
*/
- _ScopesLexer(java.io.InputStream in) {
- this(new java.io.InputStreamReader(in));
+ _ScopesLexer(java.io.Reader in) {
+ this.zzReader = in;
}
+
/**
* Unpacks the compressed character translation table.
*
* @return the unpacked character translation table
*/
private static char [] zzUnpackCMap(String packed) {
- char [] map = new char[0x10000];
+ char [] map = new char[0x110000];
int i = 0; /* index in packed string */
int j = 0; /* index in unpacked array */
- while (i < 1694) {
+ while (i < 2798) {
int count = packed.charAt(i++);
char value = packed.charAt(i++);
do map[j++] = value; while (--count > 0);
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 = (zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++] : zzBufferL.charAt(zzCurrentPosL++));
+ if (zzCurrentPosL < zzEndReadL) {
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL/*, zzEndReadL*/);
+ zzCurrentPosL += Character.charCount(zzInput);
+ }
else if (zzAtEOF) {
zzInput = YYEOF;
break zzForAction;
break zzForAction;
}
else {
- zzInput = (zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++] : zzBufferL.charAt(zzCurrentPosL++));
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL/*, zzEndReadL*/);
+ zzCurrentPosL += Character.charCount(zzInput);
}
}
int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
if (zzNext == -1) break zzForAction;
zzState = zzNext;
- int zzAttributes = zzAttrL[zzState];
+ zzAttributes = zzAttrL[zzState];
if ( (zzAttributes & 1) == 1 ) {
zzAction = zzState;
zzMarkedPosL = zzCurrentPosL;
// store back cached position
zzMarkedPos = zzMarkedPosL;
- switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
- case 16:
- { return ScopeTokenTypes.SHARP;
- }
- case 19: break;
- case 6:
- { return ScopeTokenTypes.MINUS;
- }
- case 20: break;
- case 18:
- { return ScopeTokenTypes.ANDAND;
- }
- case 21: break;
- case 9:
- { return ScopeTokenTypes.RBRACKET;
- }
- case 22: break;
- case 3:
- { return ScopeTokenTypes.WHITE_SPACE;
- }
- case 23: break;
- case 13:
- { return ScopeTokenTypes.COLON;
- }
- case 24: break;
- case 11:
- { return ScopeTokenTypes.RPARENTH;
- }
- case 25: break;
- case 1:
- { return ScopeTokenTypes.BAD_CHARACTER;
- }
- case 26: break;
- case 12:
- { return ScopeTokenTypes.DOT;
- }
- case 27: break;
- case 2:
- { return ScopeTokenTypes.IDENTIFIER;
- }
- case 28: break;
- case 8:
- { return ScopeTokenTypes.LBRACKET;
- }
- case 29: break;
- case 17:
- { return ScopeTokenTypes.OROR;
- }
- case 30: break;
- case 4:
- { return ScopeTokenTypes.INTEGER_LITERAL;
- }
- case 31: break;
- case 5:
- { return ScopeTokenTypes.EXCL;
- }
- case 32: break;
- case 15:
- { return ScopeTokenTypes.DIV;
- }
- case 33: break;
- case 10:
- { return ScopeTokenTypes.LPARENTH;
- }
- case 34: break;
- case 14:
- { return ScopeTokenTypes.ASTERISK;
- }
- case 35: break;
- case 7:
- { return ScopeTokenTypes.TILDE;
- }
- case 36: break;
- default:
- if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
- zzAtEOF = true;
- zzDoEOF();
- return null;
- }
- else {
+ if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
+ zzAtEOF = true;
+ zzDoEOF();
+ return null;
+ }
+ else {
+ switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
+ case 1:
+ { return ScopeTokenTypes.BAD_CHARACTER;
+ }
+ case 19: break;
+ case 2:
+ { return ScopeTokenTypes.IDENTIFIER;
+ }
+ case 20: break;
+ case 3:
+ { return ScopeTokenTypes.WHITE_SPACE;
+ }
+ case 21: break;
+ case 4:
+ { return ScopeTokenTypes.INTEGER_LITERAL;
+ }
+ case 22: break;
+ case 5:
+ { return ScopeTokenTypes.EXCL;
+ }
+ case 23: break;
+ case 6:
+ { return ScopeTokenTypes.MINUS;
+ }
+ case 24: break;
+ case 7:
+ { return ScopeTokenTypes.TILDE;
+ }
+ case 25: break;
+ case 8:
+ { return ScopeTokenTypes.LBRACKET;
+ }
+ case 26: break;
+ case 9:
+ { return ScopeTokenTypes.RBRACKET;
+ }
+ case 27: break;
+ case 10:
+ { return ScopeTokenTypes.LPARENTH;
+ }
+ case 28: break;
+ case 11:
+ { return ScopeTokenTypes.RPARENTH;
+ }
+ case 29: break;
+ case 12:
+ { return ScopeTokenTypes.DOT;
+ }
+ case 30: break;
+ case 13:
+ { return ScopeTokenTypes.COLON;
+ }
+ case 31: break;
+ case 14:
+ { return ScopeTokenTypes.ASTERISK;
+ }
+ case 32: break;
+ case 15:
+ { return ScopeTokenTypes.DIV;
+ }
+ case 33: break;
+ case 16:
+ { return ScopeTokenTypes.SHARP;
+ }
+ case 34: break;
+ case 17:
+ { return ScopeTokenTypes.OROR;
+ }
+ case 35: break;
+ case 18:
+ { return ScopeTokenTypes.ANDAND;
+ }
+ case 36: break;
+ default:
zzScanError(ZZ_NO_MATCH);
}
}
/*
- * Copyright 2000-2014 JetBrains s.r.o.
+ * Copyright 2000-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
import com.intellij.codeInsight.template.TemplateManager;
import com.intellij.diagnostic.AttachmentFactory;
import com.intellij.featureStatistics.FeatureUsageTracker;
+import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.Result;
import com.intellij.openapi.command.WriteCommandAction;
import com.intellij.openapi.diagnostic.Logger;
}
if (matchingTemplates.isEmpty() && customTemplatesLookupElements.isEmpty()) {
- HintManager.getInstance().showErrorHint(editor, CodeInsightBundle.message("templates.no.defined"));
+ if (!ApplicationManager.getApplication().isUnitTestMode()) {
+ HintManager.getInstance().showErrorHint(editor, CodeInsightBundle.message("templates.no.defined"));
+ }
return;
}
}
@Override
- public void addLogConsole(@NotNull String name, @NotNull String path, @NotNull Charset charset, long skippedContent, @NotNull RunConfigurationBase runConfiguration) {
- addLogConsole(name, path, charset, skippedContent, getDefaultIcon(), runConfiguration);
- }
-
- public void addLogConsole(final String name, final String path, @NotNull Charset charset, final long skippedContent, Icon icon, @Nullable RunProfile runProfile) {
+ public void addLogConsole(@NotNull final String name, @NotNull final String path, @NotNull Charset charset, final long skippedContent, @NotNull RunConfigurationBase runConfiguration) {
doAddLogConsole(new LogConsoleImpl(myProject, new File(path), charset, skippedContent, name, false, mySearchScope) {
@Override
public boolean isActive() {
return isConsoleActive(path);
}
- }, path, icon, runProfile);
+ }, path, getDefaultIcon(), runConfiguration);
}
private void doAddLogConsole(@NotNull final LogConsoleBase log, String id, Icon icon, @Nullable RunProfile runProfile) {
%%
%{
- public void goTo(int offset) {
- zzCurrentPos = zzMarkedPos = zzStartRead = offset;
- zzPushbackPos = 0;
- zzAtEOF = offset < zzEndRead;
- }
-
public _ScopesLexer() {
this((java.io.Reader)null);
}
return new CapturingProcessAdapter(processOutput);
}
+ @NotNull
public ProcessOutput runProcess() {
startNotify();
if (waitFor()) {
* @author yole
*/
public class ProcessOutput {
+ private static final int ERROR_EXIT_CODE = -1;
+
private final StringBuilder myStdoutBuilder = new StringBuilder();
private final StringBuilder myStderrBuilder = new StringBuilder();
private int myExitCode;
private boolean myCancelled;
public ProcessOutput() {
- myExitCode = -1; // until set explicitly, exit code denotes an error.
+ myExitCode = ERROR_EXIT_CODE; // until set explicitly, exit code denotes an error.
}
public ProcessOutput(final int exitCode) {
return myExitCode;
}
+ /**
+ * @return true if exit code wasn't set and is still set to default value (this might happen,
+ * for example, when our CapturingProcessHandler.runProcess() is interrupted)
+ */
+ public boolean hasErrorExitCode() {
+ return getExitCode() == ERROR_EXIT_CODE;
+ }
+
public void setTimeout() {
myTimeout = true;
}
/*
- * Copyright 2000-2015 JetBrains s.r.o.
+ * Copyright 2000-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
return new MacIntelliJPasswordFieldUI((JPasswordField)c);
}
- @Override
- protected void paintSafely(Graphics g) {
- super.paintSafely(g);
- }
-
@Override
protected void paintBackground(Graphics graphics) {
Graphics2D g = (Graphics2D)graphics;
public void consume(Integer exitCode) {
try {
// tell readers that no more attempts to read process' output should be made
- if (stdErrReader != null) stdErrReader.stop();
- stdOutReader.stop();
+ stop(stdErrReader);
+ stop(stdOutReader);
try {
if (stdErrReader != null) stdErrReader.waitFor();
super.startNotify();
}
+ private static void stop(@Nullable BaseDataReader reader) {
+ if (reader != null) {
+ if (reader instanceof BaseOutputReader) {
+ ((BaseOutputReader)reader).stop(false);
+ }
+ else {
+ reader.stop();
+ }
+ }
+ }
+
/** @deprecated override {@link #createOutputDataReader()} (to be removed in IDEA 18) */
protected BaseDataReader createErrorDataReader(@SuppressWarnings("UnusedParameters") BaseDataReader.SleepingPolicy policy) {
return createErrorDataReader();
@Override
public void setLevel(Level level) { }
- public static String attachmentsToString(Throwable t) {
+ public static String attachmentsToString(@Nullable Throwable t) {
//noinspection ThrowableResultOfMethodCallIgnored
- Throwable rootCause = ExceptionUtil.getRootCause(t);
+ Throwable rootCause = t == null ? null : ExceptionUtil.getRootCause(t);
if (rootCause instanceof ExceptionWithAttachments) {
return "\nAttachments:" + StringUtil.join(((ExceptionWithAttachments)rootCause).getAttachments(),
new Function<Attachment, String>() {
public class ExceptionUtil {
private ExceptionUtil() { }
- public static Throwable getRootCause(Throwable e) {
+ @NotNull
+ public static Throwable getRootCause(@NotNull Throwable e) {
while (true) {
if (e.getCause() == null) return e;
e = e.getCause();
@Override
public void stop() {
+ stop(true);
+ }
+
+ public void stop(boolean force) {
super.stop();
- if (mySleepingPolicy == SleepingPolicy.BLOCKING) {
+ if (force && mySleepingPolicy == SleepingPolicy.BLOCKING) {
// we can't count on super.stop() since it only sets 'isRunning = false', and blocked Reader.read won't wake up.
try { close(); }
catch (IOException ignore) { }
}
else {
if (mode.isSynchronous()) {
- final Waiter waiter = new Waiter(project, afterUpdate, state,
+ final Waiter waiter = new Waiter(project, afterUpdate,
VcsBundle.message("change.list.manager.wait.lists.synchronization", title), mode.isCancellable());
return new CallbackData(
new Runnable() {
final ModalityState state) {
super(project, VcsBundle.message("change.list.manager.wait.lists.synchronization", title), cancellable);
myState = state;
- myWaiter = new Waiter(project, runnable, state, VcsBundle.message("change.list.manager.wait.lists.synchronization", title), cancellable);
+ myWaiter = new Waiter(project, runnable, VcsBundle.message("change.list.manager.wait.lists.synchronization", title), cancellable);
}
public void run(@NotNull final ProgressIndicator indicator) {
*/
package com.intellij.openapi.vcs.changes;
-import com.intellij.openapi.application.ModalityState;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.progress.ProgressIndicator;
import com.intellij.openapi.progress.Task;
public class Waiter extends Task.Modal {
private final Logger LOG = Logger.getInstance("#com.intellij.openapi.vcs.changes.Waiter");
- private final ModalityState myState;
private final Runnable myRunnable;
private boolean myStarted;
private boolean myDone;
private final Object myLock = new Object();
- public Waiter(final Project project, final Runnable runnable, final ModalityState state, final String title, final boolean cancellable) {
+ public Waiter(final Project project, final Runnable runnable, final String title, final boolean cancellable) {
super(project, title, cancellable);
myRunnable = runnable;
- myState = state;
myDone = false;
myStarted = false;
setCancelText("Skip");
boolean highlightProblems,
@Nullable Runnable inclusionListener,
MyUseCase useCase, @Nullable VirtualFile toSelect) {
- super(project, changeLists, changes, initialListSelection, capableOfExcludingChanges, highlightProblems, inclusionListener, useCase,
- toSelect, Change.class);
+ super(project, changes, capableOfExcludingChanges, highlightProblems, inclusionListener, useCase, toSelect, Change.class);
+
+ init();
+ setInitialSelection(changeLists, changes, initialListSelection);
+ rebuildList();
}
@NotNull
// for backgroundable rollback to mark
private boolean myDataIsDirty;
- // this field is used to workaround issues connected to virtual method calls (like rebuildList()) in ChangesBrowserBase constructor
- // so inheritors are not fully initialized yet when such methods are called from constructor
- protected final boolean myIsInitialized;
protected final Class<T> myClass;
protected final ChangesTreeList<T> myViewer;
protected ChangeList mySelectedChangeList;
}
protected ChangesBrowserBase(final Project project,
- List<? extends ChangeList> changeLists,
@NotNull List<T> changes,
- ChangeList initialListSelection,
final boolean capableOfExcludingChanges,
final boolean highlightProblems,
@Nullable final Runnable inclusionListener,
return ChangesBrowserBase.this.getLeadSelectedObject(node);
}
};
+ myHeaderPanel = new JPanel(new BorderLayout());
+ }
- myViewer.setDoubleClickHandler(getDoubleClickHandler());
-
- setInitialSelection(changeLists, changes, initialListSelection);
- rebuildList();
-
+ protected void init() {
add(myViewer, BorderLayout.CENTER);
- myHeaderPanel = new JPanel(new BorderLayout());
myHeaderPanel.add(createToolbar(), BorderLayout.CENTER);
add(myHeaderPanel, BorderLayout.NORTH);
add(myBottomPanel, BorderLayout.SOUTH);
myViewer.installPopupHandler(myToolBarGroup);
- myIsInitialized = true;
+ myViewer.setDoubleClickHandler(getDoubleClickHandler());
}
@NotNull
treeActionsGroup.add(action);
}
- ActionToolbar toolbar = ActionManager.getInstance().createActionToolbar(ActionPlaces.UNKNOWN, toolbarGroups, true);
+ ActionToolbar toolbar = ActionManager.getInstance().createActionToolbar(ActionPlaces.TOOLBAR, toolbarGroups, true);
toolbar.setTargetComponent(this);
return toolbar.getComponent();
}
@Nullable Runnable rebuildListListener,
@Nullable Runnable inclusionListener,
boolean unversionedFilesEnabled) {
- super(project, changeLists, changes, initialListSelection, capableOfExcludingChanges, highlightProblems, inclusionListener,
- ChangesBrowser.MyUseCase.LOCAL_CHANGES, null, Object.class);
+ super(project, changes, capableOfExcludingChanges, highlightProblems, inclusionListener, ChangesBrowser.MyUseCase.LOCAL_CHANGES, null,
+ Object.class);
myRebuildListListener = rebuildListListener;
myVcsConfiguration = ObjectUtils.assertNotNull(VcsConfiguration.getInstance(myProject));
myUnversionedFilesEnabled = unversionedFilesEnabled;
+ init();
+ setInitialSelection(changeLists, changes, initialListSelection);
+
myChangeListChooser = new ChangeListChooser();
myChangeListChooser.updateLists(changeLists);
- // rebuild toolbar to ensure "myUnversionedFilesEnabled" is considered
- myHeaderPanel.removeAll();
- myHeaderPanel.add(createToolbar(), BorderLayout.CENTER);
myHeaderPanel.add(myChangeListChooser, BorderLayout.EAST);
ChangeListManager.getInstance(myProject).addChangeListListener(myChangeListListener);
@Override
public void rebuildList() {
- if (!myIsInitialized || myInRebuildList) return;
+ if (myInRebuildList) return;
try {
myInRebuildList = true;
super("Show Unversioned Files", null, AllIcons.Debugger.Disable_value_calculation);
}
+ @Override
+ public void update(@NotNull AnActionEvent e) {
+ super.update(e);
+
+ e.getPresentation().setEnabledAndVisible(ActionPlaces.isToolbarPlace(e.getPlace()));
+ }
+
@Override
public boolean isSelected(@NotNull AnActionEvent e) {
return myVcsConfiguration.SHOW_UNVERSIONED_FILES_WHILE_COMMIT;
import com.intellij.openapi.progress.util.ProgressWindow;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.OnePixelDivider;
-import com.intellij.openapi.util.Comparing;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vcs.changes.issueLinks.IssueLinkHtmlRenderer;
import com.intellij.openapi.vcs.ui.FontUtil;
import com.intellij.ui.SeparatorComponent;
import com.intellij.ui.components.JBLabel;
import com.intellij.ui.components.JBLoadingPanel;
+import com.intellij.ui.components.JBPanel;
import com.intellij.ui.components.JBScrollPane;
-import com.intellij.util.NotNullProducer;
import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.text.DateFormatUtil;
import com.intellij.util.ui.JBUI;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
+import java.util.Set;
/**
* @author Kirill Likhodedov
@NotNull private final VcsLogColorManager myColorManager;
@NotNull private VisiblePack myDataPack;
- @Nullable private VcsFullCommitDetails myCurrentCommitDetails;
+ @NotNull private Set<VcsFullCommitDetails> myCurrentCommitDetails = Collections.emptySet();
private final StatusText myEmptyText;
Dimension size = super.getPreferredSize();
boolean expanded = false;
for (Component c : getComponents()) {
- if (c instanceof DataPanel && ((DataPanel)c).isExpanded()) {
+ if (c instanceof CommitPanel && ((CommitPanel)c).isExpanded()) {
expanded = true;
break;
}
super.paintChildren(g);
}
}
-
};
myMainContentPanel.setLayout(new BoxLayout(myMainContentPanel, BoxLayout.Y_AXIS));
myEmptyText = new StatusText(myMainContentPanel) {
public void valueChanged(@Nullable ListSelectionEvent event) {
if (event != null && event.getValueIsAdjusting()) return;
- VcsFullCommitDetails newCommitDetails = null;
+ Set<VcsFullCommitDetails> newCommitDetails = ContainerUtil.newHashSet();
int[] rows = myGraphTable.getSelectedRows();
int count = 0;
for (int i = 0; i < Math.min(rows.length, MAX_ROWS); i++) {
int row = rows[i];
- boolean reuseExisting = count + 1 < myMainContentPanel.getComponentCount();
- ReferencesPanel referencesPanel;
- DataPanel dataPanel;
+ boolean reuseExisting = count < myMainContentPanel.getComponentCount();
+ CommitPanel commitPanel;
if (!reuseExisting) {
- referencesPanel = new ReferencesPanel(myColorManager);
- dataPanel = new DataPanel(myLogData.getProject(), myLogData.isMultiRoot());
+ commitPanel = new CommitPanel();
if (i > 0) {
- myMainContentPanel.add(new SeparatorComponent(8, OnePixelDivider.BACKGROUND, null));
- count ++;
+ myMainContentPanel.add(new SeparatorComponent(0, OnePixelDivider.BACKGROUND, null));
+ count++;
}
- referencesPanel.setAlignmentX(LEFT_ALIGNMENT);
- myMainContentPanel.add(referencesPanel);
- count++;
- dataPanel.setAlignmentX(LEFT_ALIGNMENT);
- myMainContentPanel.add(dataPanel);
+ commitPanel.setAlignmentX(LEFT_ALIGNMENT);
+ myMainContentPanel.add(commitPanel);
count++;
}
else {
- if (i > 0) count ++; // separator
- referencesPanel = (ReferencesPanel)myMainContentPanel.getComponent(count++);
- dataPanel = (DataPanel)myMainContentPanel.getComponent(count++);
+ if (i > 0) count++; // separator
+ commitPanel = (CommitPanel)myMainContentPanel.getComponent(count++);
}
VcsFullCommitDetails commitData = tableModel.getFullDetails(row);
- if (commitData instanceof LoadingDetails) {
- myLoadingPanel.startLoading();
- dataPanel.setData(null);
- referencesPanel.setReferences(Collections.emptyList());
- updateDetailsBorder(null);
- }
- else {
- dataPanel.setData(commitData);
- referencesPanel.setReferences(sortRefs(commitData.getId(), commitData.getRoot()));
- updateDetailsBorder(commitData);
- newCommitDetails = commitData;
- }
- List<String> branches = null;
+ commitPanel.setCommit(commitData);
if (!(commitData instanceof LoadingDetails)) {
- branches = myLogData.getContainingBranchesGetter().requestContainingBranches(commitData.getRoot(), commitData.getId());
+ newCommitDetails.add(commitData);
}
- dataPanel.setBranches(branches);
- dataPanel.update();
}
// clear superfluous items
}
if (rows.length > MAX_ROWS) {
- myMainContentPanel.add(new SeparatorComponent(8, OnePixelDivider.BACKGROUND, null));
+ myMainContentPanel.add(new SeparatorComponent(0, OnePixelDivider.BACKGROUND, null));
JBLabel label = new JBLabel("(showing " + MAX_ROWS + " of " + rows.length + " selected commits)");
label.setFont(getDataPanelFont());
label.setAlignmentX(LEFT_ALIGNMENT);
myMainContentPanel.add(label);
}
- if (!Comparing.equal(myCurrentCommitDetails, newCommitDetails)) {
- myCurrentCommitDetails = newCommitDetails;
+ if (!ContainerUtil.intersects(myCurrentCommitDetails, newCommitDetails)) {
myScrollPane.getVerticalScrollBar().setValue(0);
}
- }
-
- private void updateDetailsBorder(@Nullable VcsFullCommitDetails data) {
- if (data == null || !myColorManager.isMultipleRoots()) {
- myMainContentPanel.setBorder(JBUI.Borders.empty(VcsLogGraphTable.ROOT_INDICATOR_WHITE_WIDTH / 2,
- VcsLogGraphTable.ROOT_INDICATOR_WHITE_WIDTH / 2, 0, 0));
- }
- else {
- Color color = VcsLogGraphTable.getRootBackgroundColor(data.getRoot(), myColorManager);
- myMainContentPanel.setBorder(new CompoundBorder(new MatteBorder(0, VcsLogGraphTable.ROOT_INDICATOR_COLORED_WIDTH, 0, 0, color),
- new MatteBorder(VcsLogGraphTable.ROOT_INDICATOR_WHITE_WIDTH / 2,
- VcsLogGraphTable.ROOT_INDICATOR_WHITE_WIDTH, 0, 0,
- new JBColor(new NotNullProducer<Color>() {
- @NotNull
- @Override
- public Color produce() {
- return getDetailsBackground();
- }
- }))));
- }
- }
-
- @NotNull
- private List<VcsRef> sortRefs(@NotNull Hash hash, @NotNull VirtualFile root) {
- Collection<VcsRef> refs = myDataPack.getRefs().refsToCommit(hash, root);
- return ContainerUtil.sorted(refs, myLogData.getLogProvider(root).getReferenceManager().getLabelsOrderComparator());
+ myCurrentCommitDetails = newCommitDetails;
}
@NotNull
return EditorColorsManager.getInstance().getGlobalScheme().getFont(EditorFontType.PLAIN);
}
+ private class CommitPanel extends JBPanel {
+ private static final int BOTTOM_BORDER = 2;
+ @NotNull private final ReferencesPanel myReferencesPanel;
+ @NotNull private final DataPanel myDataPanel;
+
+ public CommitPanel() {
+ setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
+
+ myReferencesPanel = new ReferencesPanel(myColorManager);
+ myDataPanel = new DataPanel(myLogData.getProject(), myLogData.isMultiRoot());
+
+ myReferencesPanel.setAlignmentX(LEFT_ALIGNMENT);
+ myDataPanel.setAlignmentX(LEFT_ALIGNMENT);
+
+ add(myReferencesPanel);
+ add(myDataPanel);
+ }
+
+ public void setCommit(@NotNull VcsFullCommitDetails commitData) {
+ if (commitData instanceof LoadingDetails) {
+ myLoadingPanel.startLoading();
+ myDataPanel.setData(null);
+ myReferencesPanel.setReferences(Collections.emptyList());
+ updateBorder(null);
+ }
+ else {
+ myDataPanel.setData(commitData);
+ myReferencesPanel.setReferences(sortRefs(commitData.getId(), commitData.getRoot()));
+ updateBorder(commitData);
+ }
+ List<String> branches = null;
+ if (!(commitData instanceof LoadingDetails)) {
+ branches = myLogData.getContainingBranchesGetter().requestContainingBranches(commitData.getRoot(), commitData.getId());
+ }
+ myDataPanel.setBranches(branches);
+ myDataPanel.update();
+ revalidate();
+ }
+
+ @NotNull
+ private List<VcsRef> sortRefs(@NotNull Hash hash, @NotNull VirtualFile root) {
+ Collection<VcsRef> refs = myDataPack.getRefs().refsToCommit(hash, root);
+ return ContainerUtil.sorted(refs, myLogData.getLogProvider(root).getReferenceManager().getLabelsOrderComparator());
+ }
+
+ private void updateBorder(@Nullable VcsFullCommitDetails data) {
+ if (data == null || !myColorManager.isMultipleRoots()) {
+ setBorder(JBUI.Borders.empty(VcsLogGraphTable.ROOT_INDICATOR_WHITE_WIDTH / 2,
+ VcsLogGraphTable.ROOT_INDICATOR_WHITE_WIDTH / 2, BOTTOM_BORDER, 0));
+ }
+ else {
+ Color color = VcsLogGraphTable.getRootBackgroundColor(data.getRoot(), myColorManager);
+ setBorder(new CompoundBorder(new MatteBorder(0, VcsLogGraphTable.ROOT_INDICATOR_COLORED_WIDTH, 0, 0, color),
+ new MatteBorder(VcsLogGraphTable.ROOT_INDICATOR_WHITE_WIDTH / 2,
+ VcsLogGraphTable.ROOT_INDICATOR_WHITE_WIDTH, BOTTOM_BORDER, 0,
+ new JBColor(DetailsPanel::getDetailsBackground))));
+ }
+ }
+
+ @Override
+ public Color getBackground() {
+ return getDetailsBackground();
+ }
+
+ public boolean isExpanded() {
+ return myDataPanel.isExpanded();
+ }
+ }
+
private static class DataPanel extends JEditorPane {
public static final int BRANCHES_LIMIT = 6;
public static final int BRANCHES_TABLE_COLUMN_COUNT = 3;
int separator = fullMessage.indexOf("\n\n");
String subject = separator > 0 ? fullMessage.substring(0, separator) : fullMessage;
String description = fullMessage.substring(subject.length());
- return "<b>" + getHtmlWithFonts(escapeMultipleSpaces(IssueLinkHtmlRenderer.formatTextWithLinks(myProject, subject)), Font.BOLD) + "</b>" +
+ return "<b>" +
+ getHtmlWithFonts(escapeMultipleSpaces(IssueLinkHtmlRenderer.formatTextWithLinks(myProject, subject)), Font.BOLD) +
+ "</b>" +
getHtmlWithFonts(escapeMultipleSpaces(IssueLinkHtmlRenderer.formatTextWithLinks(myProject, description)));
}
return myRefPainter.getSize(myReference, this);
}
}
-
}
key="object.allocation.in.loop.display.name" groupBundle="messages.InspectionsBundle"
groupKey="group.names.performance.issues" enabledByDefault="false" level="WARNING"
implementationClass="com.siyeh.ig.performance.ObjectAllocationInLoopInspection"/>
+ <localInspection groupPath="Java" language="JAVA" shortName="ObjectInstantiationInEqualsHashCode" bundle="com.siyeh.InspectionGadgetsBundle"
+ key="object.instantiation.inside.equals.or.hashcode.display.name" groupBundle="messages.InspectionsBundle"
+ groupKey="group.names.performance.issues" enabledByDefault="false" level="WARNING"
+ implementationClass="com.siyeh.ig.performance.ObjectInstantiationInEqualsHashCodeInspection"/>
<localInspection groupPath="Java" language="JAVA" suppressId="UsingRandomNextDoubleForRandomInteger" shortName="RandomDoubleForRandomInteger"
bundle="com.siyeh.InspectionGadgetsBundle" key="random.double.for.random.integer.display.name"
groupBundle="messages.InspectionsBundle" groupKey="group.names.performance.issues" enabledByDefault="false"
large.array.allocation.no.outofmemoryerror.problem.descriptor=Large array allocation which is not checked for out-of-memory condition #loc
large.array.allocation.no.outofmemoryerror.maximum.number.of.elements.option=Maximum number of elements:
connection.opened.not.safely.closed.display.name=Connection opened but not safely closed
-field.repeatedly.accessed.in.method.display.name=Field repeatedly accessed in method
-field.repeatedly.accessed.in.method.problem.descriptor=Field ''{0}'' accessed repeatedly in method <code>#ref()</code> #loc
-field.repeatedly.accessed.in.method.ignore.option=Ignore 'final' fields
interface.one.inheritor.display.name=Interface which has only one direct inheritor
interface.one.inheritor.problem.descriptor=Interface <code>#ref</code> has only one direct inheritor #loc
method.call.in.loop.condition.display.name=Method call in loop condition
misordered.assert.equals.arguments.display.name=Misordered 'assertEquals()' arguments
unnecessary.constructor.display.name=Redundant no-arg constructor
method.name.same.as.parent.name.display.name=Method name same as parent class name
-java.lang.reflect.display.name=Use of 'java.lang.reflect'
while.can.be.foreach.display.name='while' loop replaceable with 'foreach'
big.decimal.equals.display.name='equals()' called on java.math.BigDecimal
wait.not.in.synchronized.context.display.name='wait()' while not synchronized
random.double.for.random.integer.problem.descriptor=Using <code>Random.#ref</code> to create random integer #loc
manual.array.copy.problem.descriptor=Manual array copy #loc
manual.array.to.collection.copy.problem.descriptor=Manual array to collection copy #loc
-java.lang.reflect.problem.descriptor=Use of type <code>#ref</code> from 'java.lang.reflect' #loc
call.to.simple.getter.in.class.problem.descriptor=Call to simple getter <code>#ref()</code> from within class #loc
call.to.simple.setter.in.class.problem.descriptor=Call to simple setter <code>#ref()</code> from within class #loc
asserts.without.messages.problem.descriptor=JUnit <code>#ref()</code> without message #loc
optional.get.without.is.present.display.name='Optional.get()' without 'isPresent()' check
optional.get.without.is.present.problem.descriptor=<code>{0}.#ref()</code> without ''isPresent()'' check
synchronization.on.get.class.display.name=Synchronization on 'getClass()'
-synchronization.on.get.class.problem.descriptor=Synchronization on <code>#ref()</code> #loc
\ No newline at end of file
+synchronization.on.get.class.problem.descriptor=Synchronization on <code>#ref()</code> #loc
+object.instantiation.inside.equals.or.hashcode.display.name=Object instantiation inside 'equals()' or 'hashCode()'
+object.instantiation.inside.equals.problem.descriptor=Object instantiation inside 'equals()' #loc
+object.instantiation.inside.hashcode.problem.descriptor=Object instantiation inside 'hashCode()' #loc
\ No newline at end of file
return PsiTreeUtil.getParentOfType(expression, PsiReturnStatement.class) != null;
}
- private static boolean isInThrowStatementArgument(@NotNull PsiExpression expression) {
+ public static boolean isInThrowStatementArgument(@NotNull PsiExpression expression) {
return PsiTreeUtil.getParentOfType(expression, PsiThrowStatement.class) != null;
}
--- /dev/null
+/*
+ * Copyright 2000-2016 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.siyeh.ig.performance;
+
+import com.intellij.psi.*;
+import com.intellij.psi.util.PsiTreeUtil;
+import com.siyeh.InspectionGadgetsBundle;
+import com.siyeh.ig.BaseInspection;
+import com.siyeh.ig.BaseInspectionVisitor;
+import com.siyeh.ig.psiutils.ControlFlowUtils;
+import com.siyeh.ig.psiutils.ExpressionUtils;
+import com.siyeh.ig.psiutils.MethodUtils;
+import org.jetbrains.annotations.Nls;
+import org.jetbrains.annotations.NotNull;
+
+/**
+ * @author Bas Leijdekkers
+ */
+public class ObjectInstantiationInEqualsHashCodeInspection extends BaseInspection {
+
+ @Nls
+ @NotNull
+ @Override
+ public String getDisplayName() {
+ return InspectionGadgetsBundle.message("object.instantiation.inside.equals.or.hashcode.display.name");
+ }
+
+ @NotNull
+ @Override
+ protected String buildErrorString(Object... infos) {
+ final PsiMethod method = PsiTreeUtil.getParentOfType((PsiElement)infos[0], PsiMethod.class);
+ return InspectionGadgetsBundle.message(MethodUtils.isEquals(method)
+ ? "object.instantiation.inside.equals.problem.descriptor"
+ : "object.instantiation.inside.hashcode.problem.descriptor");
+ }
+
+ @Override
+ public BaseInspectionVisitor buildVisitor() {
+ return new ObjectInstantiationInEqualsHashCodeVisitor();
+ }
+
+ // todo check boxing too
+ private static class ObjectInstantiationInEqualsHashCodeVisitor extends BaseInspectionVisitor {
+
+ @Override
+ public void visitPolyadicExpression(PsiPolyadicExpression expression) {
+ super.visitPolyadicExpression(expression);
+ if (!ExpressionUtils.hasStringType(expression) || ExpressionUtils.isEvaluatedAtCompileTime(expression)) {
+ return;
+ }
+ if (!isInsideEqualsOrHashCode(expression)) {
+ return;
+ }
+ registerError(expression, expression);
+ }
+
+ @Override
+ public void visitNewExpression(PsiNewExpression expression) {
+ super.visitNewExpression(expression);
+ if (!isInsideEqualsOrHashCode(expression)) {
+ return;
+ }
+ registerNewExpressionError(expression, expression);
+ }
+
+ private static boolean isInsideEqualsOrHashCode(PsiElement element) {
+ final PsiMethod method =
+ PsiTreeUtil.getParentOfType(element, PsiMethod.class, true, PsiAssertStatement.class, PsiThrowStatement.class);
+ if (method == null) {
+ return false;
+ }
+ return MethodUtils.isEquals(method) || MethodUtils.isHashCode(method);
+ }
+ }
+}
--- /dev/null
+<html>
+<body>
+Reports construction of (temporary) new objects inside an <b>equals()</b> or <b>hashCode()</b> method.
+This can cause significant performance problems when for example objects of classes with such constructs are added to a <b>Set</b> or <b>Map</b>,
+where these methods will be called often.
+This inspection will not warn when the objects are created in a <b>throw</b> or <b>assert</b> statement.
+<!-- tooltip end -->
+<p>
+<small>New in 2016.2</small>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+import java.util.Arrays;
+
+class ObjectInstantiationInEqualsHashCode {
+
+ Object a;
+ int b;
+
+ public boolean equals(Object o) {
+ ObjectInstantiationInEqualsHashCode other = (ObjectInstantiationInEqualsHashCode)o;
+ return Arrays.equals(new <warning descr="Object instantiation inside 'equals()'">Object</warning>[] {a, b}, new <warning descr="Object instantiation inside 'equals()'">Object</warning>[] {other.a, other.b});
+ }
+
+ public int hashCode() {
+ return (<warning descr="Object instantiation inside 'hashCode()'">a + ", " + b</warning>).hashCode();
+ }
+}
+class X {
+
+ Object a;
+ int b;
+
+ public boolean equals(Object o) {
+ throw new UnsupportedOperationException("asdf" + a);
+ }
+
+ public int hashCode() {
+ assert a != null : "check " + b;
+ return a.hashCode() + b;
+ }
+}
\ No newline at end of file
--- /dev/null
+/*
+ * Copyright 2000-2016 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.siyeh.ig.performance;
+
+import com.intellij.codeInspection.InspectionProfileEntry;
+import com.siyeh.ig.LightInspectionTestCase;
+import org.jetbrains.annotations.Nullable;
+
+/**
+ * @author Bas Leijdekkers
+ */
+public class ObjectInstantiationInEqualsHashCodeInspectionTest extends LightInspectionTestCase {
+
+ public void testObjectInstantiationInEqualsHashCode() {
+ doTest();
+ }
+
+ @Nullable
+ @Override
+ protected InspectionProfileEntry getInspection() {
+ return new ObjectInstantiationInEqualsHashCodeInspection();
+ }
+}
\ No newline at end of file
@Nullable
private AuthDialog showAuthDialog(final String url, final String login) {
final Ref<AuthDialog> dialog = Ref.create();
- ApplicationManager.getApplication().invokeAndWait(() -> {
- dialog.set(new AuthDialog(myProject, myTitle, "Enter credentials for " + url, login, null, true));
- dialog.get().show();
- }, ModalityState.defaultModalityState());
+ ApplicationManager.getApplication().invokeAndWait(new Runnable() {
+ @Override
+ public void run() {
+ dialog.set(new AuthDialog(myProject, myTitle, "Enter credentials for " + url, login, null, true));
+ dialog.get().show();
+ }
+ }, ModalityState.any());
return dialog.get();
}
+/* The following code was generated by JFlex 1.7.0-SNAPSHOT tweaked for IntelliJ platform */
+
/*
- * Copyright 2000-2014 JetBrains s.r.o.
- *
+ * Copyright 2000-2008 JetBrains s.r.o.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* limitations under the License.
*/
-/* The following code was generated by JFlex 1.4.3 on 21.05.14 20:33 */
-
package org.jetbrains.plugins.groovy.lang.groovydoc.lexer;
import com.intellij.lexer.FlexLexer;
/**
* This class is a scanner generated by
- * <a href="http://www.jflex.de/">JFlex</a> 1.4.3
- * on 21.05.14 20:33 from the specification file
- * <tt>C:/Work/Idea/tools/lexer/../../community/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/groovydoc/lexer/gdoc.flex</tt>
+ * <a href="http://www.jflex.de/">JFlex</a> 1.7.0-SNAPSHOT
+ * from the specification file <tt>/ideadev/tools/lexer/../../community/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/groovydoc/lexer/gdoc.flex</tt>
*/
public class _GroovyDocLexer implements FlexLexer {
+
+ /** This character denotes the end of file */
+ public static final int YYEOF = -1;
+
/** initial size of the lookahead buffer */
private static final int ZZ_BUFFERSIZE = 16384;
/** lexical states */
- public static final int INLINE_TAG_NAME = 16;
- public static final int PARAM_TAG_SPACE = 8;
- public static final int COMMENT_DATA = 4;
- public static final int DOC_TAG_VALUE = 10;
+ public static final int YYINITIAL = 0;
public static final int COMMENT_DATA_START = 2;
+ public static final int COMMENT_DATA = 4;
public static final int TAG_DOC_SPACE = 6;
- public static final int YYINITIAL = 0;
+ public static final int PARAM_TAG_SPACE = 8;
+ public static final int DOC_TAG_VALUE = 10;
public static final int DOC_TAG_VALUE_IN_PAREN = 12;
public static final int DOC_TAG_VALUE_IN_LTGT = 14;
+ public static final int INLINE_TAG_NAME = 16;
/**
* ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
* Translates characters to character classes
*/
private static final String ZZ_CMAP_PACKED =
- "\11\0\1\2\1\1\1\0\1\2\1\1\22\0\1\2\2\0\1\13"+
+ "\11\0\1\2\1\1\1\26\1\2\1\1\22\0\1\2\2\0\1\13"+
"\1\4\3\0\1\11\1\12\1\7\1\0\1\14\1\5\1\3\1\6"+
"\12\3\1\5\1\0\1\22\1\0\1\23\1\0\1\15\32\4\1\10"+
"\1\0\1\10\1\0\1\4\1\0\1\17\13\4\1\21\2\4\1\16"+
- "\1\4\1\20\10\4\1\24\1\0\1\25\44\0\4\4\4\0\1\4"+
- "\12\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\201\0\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\10\0\236\4\11\0\46\4"+
- "\2\0\1\4\7\0\47\4\7\0\1\4\100\0\33\4\5\0\3\4"+
- "\30\0\1\4\24\0\53\4\43\0\2\4\1\0\143\4\1\0\1\4"+
- "\17\0\2\4\7\0\2\4\12\0\3\4\2\0\1\4\20\0\1\4"+
- "\1\0\36\4\35\0\131\4\13\0\1\4\30\0\41\4\11\0\2\4"+
- "\4\0\1\4\5\0\26\4\4\0\1\4\11\0\1\4\3\0\1\4"+
- "\27\0\31\4\107\0\1\4\1\0\13\4\127\0\66\4\3\0\1\4"+
- "\22\0\1\4\7\0\12\4\17\0\7\4\1\0\7\4\5\0\10\4"+
- "\2\0\2\4\2\0\26\4\1\0\7\4\1\0\1\4\3\0\4\4"+
- "\3\0\1\4\20\0\1\4\15\0\2\4\1\0\3\4\16\0\4\4"+
- "\7\0\1\4\11\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\37\0\4\4\1\0\1\4"+
- "\23\0\3\4\20\0\11\4\1\0\3\4\1\0\26\4\1\0\7\4"+
- "\1\0\2\4\1\0\5\4\3\0\1\4\22\0\1\4\17\0\2\4"+
- "\17\0\1\4\23\0\10\4\2\0\2\4\2\0\26\4\1\0\7\4"+
- "\1\0\2\4\1\0\5\4\3\0\1\4\36\0\2\4\1\0\3\4"+
- "\17\0\1\4\21\0\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\26\0\1\4\50\0\1\4\13\0\10\4\1\0\3\4"+
- "\1\0\27\4\1\0\12\4\1\0\5\4\3\0\1\4\32\0\2\4"+
- "\6\0\2\4\43\0\10\4\1\0\3\4\1\0\27\4\1\0\12\4"+
- "\1\0\5\4\3\0\1\4\40\0\1\4\1\0\2\4\17\0\2\4"+
- "\22\0\10\4\1\0\3\4\1\0\51\4\2\0\1\4\20\0\1\4"+
- "\21\0\2\4\30\0\6\4\5\0\22\4\3\0\30\4\1\0\11\4"+
- "\1\0\1\4\2\0\7\4\72\0\60\4\1\0\2\4\13\0\10\4"+
- "\72\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\0\2\4\11\0\1\4\2\0\5\4"+
- "\1\0\1\4\25\0\4\4\40\0\1\4\77\0\10\4\1\0\44\4"+
- "\33\0\5\4\163\0\53\4\24\0\1\4\20\0\6\4\4\0\4\4"+
- "\3\0\1\4\3\0\2\4\7\0\3\4\4\0\15\4\14\0\1\4"+
- "\21\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"+
- "\45\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\16\0\22\4"+
- "\16\0\22\4\16\0\15\4\1\0\3\4\17\0\64\4\43\0\1\4"+
- "\3\0\2\4\103\0\130\4\10\0\51\4\1\0\1\4\5\0\106\4"+
- "\12\0\35\4\63\0\36\4\2\0\5\4\13\0\54\4\25\0\7\4"+
- "\70\0\27\4\11\0\65\4\122\0\1\4\135\0\57\4\21\0\7\4"+
- "\67\0\36\4\15\0\2\4\12\0\54\4\32\0\44\4\51\0\3\4"+
- "\12\0\44\4\153\0\4\4\1\0\4\4\3\0\2\4\11\0\300\4"+
- "\100\0\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\102\0\2\4"+
- "\23\0\1\4\34\0\1\4\15\0\1\4\20\0\15\4\3\0\33\4"+
- "\107\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\0\2\4\14\0\46\4"+
- "\1\0\1\4\5\0\1\4\2\0\70\4\7\0\1\4\20\0\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\120\0\1\4\u01d5\0\3\4"+
- "\31\0\11\4\7\0\5\4\2\0\5\4\4\0\126\4\6\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\0\2\4\24\0\57\4\20\0\31\4"+
- "\10\0\120\4\47\0\11\4\2\0\147\4\2\0\4\4\1\0\4\4"+
- "\14\0\13\4\115\0\12\4\1\0\3\4\1\0\4\4\1\0\27\4"+
- "\25\0\1\4\7\0\64\4\16\0\62\4\76\0\6\4\3\0\1\4"+
- "\16\0\34\4\12\0\27\4\31\0\35\4\7\0\57\4\34\0\1\4"+
- "\60\0\51\4\27\0\3\4\1\0\10\4\24\0\27\4\3\0\1\4"+
- "\5\0\60\4\1\0\1\4\3\0\2\4\2\0\5\4\2\0\1\4"+
- "\1\0\1\4\30\0\3\4\2\0\13\4\7\0\3\4\14\0\6\4"+
- "\2\0\6\4\2\0\6\4\11\0\7\4\1\0\7\4\221\0\43\4"+
- "\35\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\0\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\66\0\2\4"+
- "\30\0\3\4\31\0\1\4\6\0\5\4\1\0\207\4\7\0\1\4"+
- "\34\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"+
- "\31\0";
+ "\1\4\1\20\10\4\1\24\1\0\1\25\7\0\1\26\34\0\4\4"+
+ "\4\0\1\4\12\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"+
+ "\201\0\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\10\0\236\4"+
+ "\11\0\46\4\2\0\1\4\7\0\47\4\7\0\1\4\100\0\33\4"+
+ "\5\0\3\4\30\0\1\4\24\0\53\4\43\0\2\4\1\0\143\4"+
+ "\1\0\1\4\17\0\2\4\7\0\2\4\12\0\3\4\2\0\1\4"+
+ "\20\0\1\4\1\0\36\4\35\0\131\4\13\0\1\4\30\0\41\4"+
+ "\11\0\2\4\4\0\1\4\5\0\26\4\4\0\1\4\11\0\1\4"+
+ "\3\0\1\4\27\0\31\4\107\0\1\4\1\0\13\4\127\0\66\4"+
+ "\3\0\1\4\22\0\1\4\7\0\12\4\17\0\7\4\1\0\7\4"+
+ "\5\0\10\4\2\0\2\4\2\0\26\4\1\0\7\4\1\0\1\4"+
+ "\3\0\4\4\3\0\1\4\20\0\1\4\15\0\2\4\1\0\3\4"+
+ "\16\0\4\4\7\0\1\4\11\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\37\0\4\4"+
+ "\1\0\1\4\23\0\3\4\20\0\11\4\1\0\3\4\1\0\26\4"+
+ "\1\0\7\4\1\0\2\4\1\0\5\4\3\0\1\4\22\0\1\4"+
+ "\17\0\2\4\17\0\1\4\23\0\10\4\2\0\2\4\2\0\26\4"+
+ "\1\0