diff --git a/json/gen/com/intellij/json/_JsonLexer.java b/json/gen/com/intellij/json/_JsonLexer.java index 70ff10b455be..9928ed3ac760 100644 --- a/json/gen/com/intellij/json/_JsonLexer.java +++ b/json/gen/com/intellij/json/_JsonLexer.java @@ -3,6 +3,7 @@ package com.intellij.json; import com.intellij.lexer.*; import com.intellij.psi.tree.IElementType; +import static com.intellij.psi.TokenType.*; import static com.intellij.json.JsonElementTypes.*; @@ -34,154 +35,137 @@ public class _JsonLexer implements FlexLexer { /** * Translates characters to character classes + * Chosen bits are [12, 6, 3] + * Total runtime size is 14928 bytes */ - private static final String ZZ_CMAP_PACKED = - "\11\22\1\2\1\1\1\4\1\5\1\1\16\22\4\0\1\2\1\0"+ - "\1\10\1\0\1\21\2\0\1\12\2\0\1\7\1\20\1\27\1\13"+ - "\1\16\1\3\1\14\11\15\1\30\6\0\4\21\1\17\25\21\1\25"+ - "\1\11\1\26\1\0\1\21\1\0\1\36\3\21\1\34\1\35\5\21"+ - "\1\37\1\21\1\41\3\21\1\32\1\40\1\31\1\33\5\21\1\23"+ - "\1\0\1\24\1\0\6\22\1\6\32\22\2\0\4\21\4\0\1\21"+ - "\2\0\1\22\7\0\1\21\4\0\1\21\5\0\27\21\1\0\37\21"+ - "\1\0\u01ca\21\4\0\14\21\16\0\5\21\7\0\1\21\1\0\1\21"+ - "\21\0\160\22\5\21\1\0\2\21\2\0\4\21\10\0\1\21\1\0"+ - "\3\21\1\0\1\21\1\0\24\21\1\0\123\21\1\0\213\21\1\0"+ - "\5\22\2\0\236\21\11\0\46\21\2\0\1\21\7\0\47\21\7\0"+ - "\1\21\1\0\55\22\1\0\1\22\1\0\2\22\1\0\2\22\1\0"+ - "\1\22\10\0\33\21\5\0\3\21\15\0\5\22\6\0\1\21\4\0"+ - "\13\22\5\0\53\21\37\22\4\0\2\21\1\22\143\21\1\0\1\21"+ - "\10\22\1\0\6\22\2\21\2\22\1\0\4\22\2\21\12\22\3\21"+ - "\2\0\1\21\17\0\1\22\1\21\1\22\36\21\33\22\2\0\131\21"+ - "\13\22\1\21\16\0\12\22\41\21\11\22\2\21\4\0\1\21\5\0"+ - "\26\21\4\22\1\21\11\22\1\21\3\22\1\21\5\22\22\0\31\21"+ - "\3\22\104\0\1\21\1\0\13\21\67\0\33\22\1\0\4\22\66\21"+ - "\3\22\1\21\22\22\1\21\7\22\12\21\2\22\2\0\12\22\1\0"+ - "\7\21\1\0\7\21\1\0\3\22\1\0\10\21\2\0\2\21\2\0"+ - "\26\21\1\0\7\21\1\0\1\21\3\0\4\21\2\0\1\22\1\21"+ - "\7\22\2\0\2\22\2\0\3\22\1\21\10\0\1\22\4\0\2\21"+ - "\1\0\3\21\2\22\2\0\12\22\4\21\7\0\1\21\5\0\3\22"+ - "\1\0\6\21\4\0\2\21\2\0\26\21\1\0\7\21\1\0\2\21"+ - "\1\0\2\21\1\0\2\21\2\0\1\22\1\0\5\22\4\0\2\22"+ - "\2\0\3\22\3\0\1\22\7\0\4\21\1\0\1\21\7\0\14\22"+ - "\3\21\1\22\13\0\3\22\1\0\11\21\1\0\3\21\1\0\26\21"+ - "\1\0\7\21\1\0\2\21\1\0\5\21\2\0\1\22\1\21\10\22"+ - "\1\0\3\22\1\0\3\22\2\0\1\21\17\0\2\21\2\22\2\0"+ - "\12\22\1\0\1\21\17\0\3\22\1\0\10\21\2\0\2\21\2\0"+ - "\26\21\1\0\7\21\1\0\2\21\1\0\5\21\2\0\1\22\1\21"+ - "\7\22\2\0\2\22\2\0\3\22\10\0\2\22\4\0\2\21\1\0"+ - "\3\21\2\22\2\0\12\22\1\0\1\21\20\0\1\22\1\21\1\0"+ - "\6\21\3\0\3\21\1\0\4\21\3\0\2\21\1\0\1\21\1\0"+ - "\2\21\3\0\2\21\3\0\3\21\3\0\14\21\4\0\5\22\3\0"+ - "\3\22\1\0\4\22\2\0\1\21\6\0\1\22\16\0\12\22\11\0"+ - "\1\21\7\0\3\22\1\0\10\21\1\0\3\21\1\0\27\21\1\0"+ - "\12\21\1\0\5\21\3\0\1\21\7\22\1\0\3\22\1\0\4\22"+ - "\7\0\2\22\1\0\2\21\6\0\2\21\2\22\2\0\12\22\22\0"+ - "\2\22\1\0\10\21\1\0\3\21\1\0\27\21\1\0\12\21\1\0"+ - "\5\21\2\0\1\22\1\21\7\22\1\0\3\22\1\0\4\22\7\0"+ - "\2\22\7\0\1\21\1\0\2\21\2\22\2\0\12\22\1\0\2\21"+ - "\17\0\2\22\1\0\10\21\1\0\3\21\1\0\51\21\2\0\1\21"+ - "\7\22\1\0\3\22\1\0\4\22\1\21\10\0\1\22\10\0\2\21"+ - "\2\22\2\0\12\22\12\0\6\21\2\0\2\22\1\0\22\21\3\0"+ - "\30\21\1\0\11\21\1\0\1\21\2\0\7\21\3\0\1\22\4\0"+ - "\6\22\1\0\1\22\1\0\10\22\22\0\2\22\15\0\60\21\1\22"+ - "\2\21\7\22\4\0\10\21\10\22\1\0\12\22\47\0\2\21\1\0"+ - "\1\21\2\0\2\21\1\0\1\21\2\0\1\21\6\0\4\21\1\0"+ - "\7\21\1\0\3\21\1\0\1\21\1\0\1\21\2\0\2\21\1\0"+ - "\4\21\1\22\2\21\6\22\1\0\2\22\1\21\2\0\5\21\1\0"+ - "\1\21\1\0\6\22\2\0\12\22\2\0\4\21\40\0\1\21\27\0"+ - "\2\22\6\0\12\22\13\0\1\22\1\0\1\22\1\0\1\22\4\0"+ - "\2\22\10\21\1\0\44\21\4\0\24\22\1\0\2\22\5\21\13\22"+ - "\1\0\44\22\11\0\1\22\71\0\53\21\24\22\1\21\12\22\6\0"+ - "\6\21\4\22\4\21\3\22\1\21\3\22\2\21\7\22\3\21\4\22"+ - "\15\21\14\22\1\21\17\22\2\0\46\21\1\0\1\21\5\0\1\21"+ - "\2\0\53\21\1\0\u014d\21\1\0\4\21\2\0\7\21\1\0\1\21"+ - "\1\0\4\21\2\0\51\21\1\0\4\21\2\0\41\21\1\0\4\21"+ - "\2\0\7\21\1\0\1\21\1\0\4\21\2\0\17\21\1\0\71\21"+ - "\1\0\4\21\2\0\103\21\2\0\3\22\40\0\20\21\20\0\125\21"+ - "\14\0\u026c\21\2\0\21\21\1\0\32\21\5\0\113\21\3\0\3\21"+ - "\17\0\15\21\1\0\4\21\3\22\13\0\22\21\3\22\13\0\22\21"+ - "\2\22\14\0\15\21\1\0\3\21\1\0\2\22\14\0\64\21\40\22"+ - "\3\0\1\21\3\0\2\21\1\22\2\0\12\22\41\0\3\22\2\0"+ - "\12\22\6\0\130\21\10\0\51\21\1\22\1\21\5\0\106\21\12\0"+ - "\35\21\3\0\14\22\4\0\14\22\12\0\12\22\36\21\2\0\5\21"+ - "\13\0\54\21\4\0\21\22\7\21\2\22\6\0\12\22\46\0\27\21"+ - "\5\22\4\0\65\21\12\22\1\0\35\22\2\0\13\22\6\0\12\22"+ - "\15\0\1\21\130\0\5\22\57\21\21\22\7\21\4\0\12\22\21\0"+ - "\11\22\14\0\3\22\36\21\15\22\2\21\12\22\54\21\16\22\14\0"+ - "\44\21\24\22\10\0\12\22\3\0\3\21\12\22\44\21\122\0\3\22"+ - "\1\0\25\22\4\21\1\22\4\21\3\22\2\21\11\0\300\21\47\22"+ - "\25\0\4\22\u0116\21\2\0\6\21\2\0\46\21\2\0\6\21\2\0"+ - "\10\21\1\0\1\21\1\0\1\21\1\0\1\21\1\0\37\21\2\0"+ - "\65\21\1\0\7\21\1\0\1\21\3\0\3\21\1\0\7\21\3\0"+ - "\4\21\2\0\6\21\4\0\15\21\5\0\3\21\1\0\7\21\16\0"+ - "\5\22\30\0\1\4\1\4\5\22\20\0\2\21\23\0\1\21\13\0"+ - "\5\22\5\0\6\22\1\0\1\21\15\0\1\21\20\0\15\21\3\0"+ - "\33\21\25\0\15\22\4\0\1\22\3\0\14\22\21\0\1\21\4\0"+ - "\1\21\2\0\12\21\1\0\1\21\3\0\5\21\6\0\1\21\1\0"+ - "\1\21\1\0\1\21\1\0\4\21\1\0\13\21\2\0\4\21\5\0"+ - "\5\21\4\0\1\21\21\0\51\21\u0a77\0\57\21\1\0\57\21\1\0"+ - "\205\21\6\0\4\21\3\22\2\21\14\0\46\21\1\0\1\21\5\0"+ - "\1\21\2\0\70\21\7\0\1\21\17\0\1\22\27\21\11\0\7\21"+ - "\1\0\7\21\1\0\7\21\1\0\7\21\1\0\7\21\1\0\7\21"+ - "\1\0\7\21\1\0\7\21\1\0\40\22\57\0\1\21\u01d5\0\3\21"+ - "\31\0\11\21\6\22\1\0\5\21\2\0\5\21\4\0\126\21\2\0"+ - "\2\22\2\0\3\21\1\0\132\21\1\0\4\21\5\0\51\21\3\0"+ - "\136\21\21\0\33\21\65\0\20\21\u0200\0\u19b6\21\112\0\u51cd\21\63\0"+ - "\u048d\21\103\0\56\21\2\0\u010d\21\3\0\20\21\12\22\2\21\24\0"+ - "\57\21\1\22\4\0\12\22\1\0\31\21\7\0\1\22\120\21\2\22"+ - "\45\0\11\21\2\0\147\21\2\0\4\21\1\0\4\21\14\0\13\21"+ - "\115\0\12\21\1\22\3\21\1\22\4\21\1\22\27\21\5\22\20\0"+ - "\1\21\7\0\64\21\14\0\2\22\62\21\21\22\13\0\12\22\6\0"+ - "\22\22\6\21\3\0\1\21\4\0\12\22\34\21\10\22\2\0\27\21"+ - "\15\22\14\0\35\21\3\0\4\22\57\21\16\22\16\0\1\21\12\22"+ - "\46\0\51\21\16\22\11\0\3\21\1\22\10\21\2\22\2\0\12\22"+ - "\6\0\27\21\3\0\1\21\1\22\4\0\60\21\1\22\1\21\3\22"+ - "\2\21\2\22\5\21\2\22\1\21\1\22\1\21\30\0\3\21\2\0"+ - "\13\21\5\22\2\0\3\21\2\22\12\0\6\21\2\0\6\21\2\0"+ - "\6\21\11\0\7\21\1\0\7\21\221\0\43\21\10\22\1\0\2\22"+ - "\2\0\12\22\6\0\u2ba4\21\14\0\27\21\4\0\61\21\u2104\0\u016e\21"+ - "\2\0\152\21\46\0\7\21\14\0\5\21\5\0\1\21\1\22\12\21"+ - "\1\0\15\21\1\0\5\21\1\0\1\21\1\0\2\21\1\0\2\21"+ - "\1\0\154\21\41\0\u016b\21\22\0\100\21\2\0\66\21\50\0\15\21"+ - "\3\0\20\22\20\0\7\22\14\0\2\21\30\0\3\21\31\0\1\21"+ - "\6\0\5\21\1\0\207\21\2\0\1\22\4\0\1\21\13\0\12\22"+ - "\7\0\32\21\4\0\1\21\1\0\32\21\13\0\131\21\3\0\6\21"+ - "\2\0\6\21\2\0\6\21\2\0\3\21\3\0\2\21\3\0\2\21"+ - "\22\0\3\22\4\0\14\21\1\0\32\21\1\0\23\21\1\0\2\21"+ - "\1\0\17\21\2\0\16\21\42\0\173\21\105\0\65\21\210\0\1\22"+ - "\202\0\35\21\3\0\61\21\57\0\37\21\21\0\33\21\65\0\36\21"+ - "\2\0\44\21\4\0\10\21\1\0\5\21\52\0\236\21\2\0\12\22"+ - "\u0356\0\6\21\2\0\1\21\1\0\54\21\1\0\2\21\3\0\1\21"+ - "\2\0\27\21\252\0\26\21\12\0\32\21\106\0\70\21\6\0\2\21"+ - "\100\0\1\21\3\22\1\0\2\22\5\0\4\22\4\21\1\0\3\21"+ - "\1\0\33\21\4\0\3\22\4\0\1\22\40\0\35\21\203\0\66\21"+ - "\12\0\26\21\12\0\23\21\215\0\111\21\u03b7\0\3\22\65\21\17\22"+ - "\37\0\12\22\20\0\3\22\55\21\13\22\2\0\1\22\22\0\31\21"+ - "\7\0\12\22\6\0\3\22\44\21\16\22\1\0\12\22\100\0\3\22"+ - "\60\21\16\22\4\21\13\0\12\22\u04a6\0\53\21\15\22\10\0\12\22"+ - "\u0936\0\u036f\21\221\0\143\21\u0b9d\0\u042f\21\u33d1\0\u0239\21\u04c7\0\105\21"+ - "\13\0\1\21\56\22\20\0\4\22\15\21\u4060\0\2\21\u2163\0\5\22"+ - "\3\0\26\22\2\0\7\22\36\0\4\22\224\0\3\22\u01bb\0\125\21"+ - "\1\0\107\21\1\0\2\21\2\0\1\21\2\0\2\21\2\0\4\21"+ - "\1\0\14\21\1\0\1\21\1\0\7\21\1\0\101\21\1\0\4\21"+ - "\2\0\10\21\1\0\7\21\1\0\34\21\1\0\4\21\1\0\5\21"+ - "\1\0\1\21\3\0\7\21\1\0\u0154\21\2\0\31\21\1\0\31\21"+ - "\1\0\37\21\1\0\31\21\1\0\37\21\1\0\31\21\1\0\37\21"+ - "\1\0\31\21\1\0\37\21\1\0\31\21\1\0\10\21\2\0\62\22"+ - "\u1600\0\4\21\1\0\33\21\1\0\2\21\1\0\1\21\2\0\1\21"+ - "\1\0\12\21\1\0\4\21\1\0\1\21\1\0\1\21\6\0\1\21"+ - "\4\0\1\21\1\0\1\21\1\0\1\21\1\0\3\21\1\0\2\21"+ - "\1\0\1\21\2\0\1\21\1\0\1\21\1\0\1\21\1\0\1\21"+ - "\1\0\1\21\1\0\2\21\1\0\1\21\2\0\4\21\1\0\7\21"+ - "\1\0\4\21\1\0\4\21\1\0\1\21\1\0\12\21\1\0\21\21"+ - "\5\0\3\21\1\0\5\21\1\0\21\21\u1144\0\ua6d7\21\51\0\u1035\21"+ - "\13\0\336\21\u3fe2\0\u021e\21\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\22\36\0\140\22\200\0\360\22\uffff\0\uffff\0\ufe12\0"; + public static int ZZ_CMAP(int ch) { + return ZZ_CMAP_A[(ZZ_CMAP_Y[(ZZ_CMAP_Z[ch>>9]<<6)|((ch>>3)&0x3f)]<<3)|(ch&0x7)]; + } - /** - * Translates characters to character classes - */ - private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); + /* The ZZ_CMAP_Z table has 2176 entries */ + static final char ZZ_CMAP_Z[] = zzUnpackCMap( + "\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1"+ + "\20\5\21\1\22\1\23\1\24\1\21\14\25\1\26\50\25\1\27\2\25\1\30\1\31\1\32\1\33"+ + "\25\25\1\34\20\21\1\35\1\36\1\37\1\40\1\41\1\42\1\43\1\21\1\44\1\45\1\46\1"+ + "\21\1\47\2\21\1\50\4\21\1\25\1\51\1\52\5\21\2\25\1\53\31\21\1\25\1\54\1\21"+ + "\1\55\40\21\1\56\17\21\1\57\1\60\1\61\1\62\13\21\1\63\10\21\123\25\1\64\7"+ + "\25\1\65\1\66\37\21\1\25\1\66\u0582\21\1\67\u017f\21"); + + /* The ZZ_CMAP_Y table has 3584 entries */ + static final char ZZ_CMAP_Y[] = zzUnpackCMap( + "\1\0\1\1\1\0\1\2\1\3\1\4\1\5\1\6\1\7\2\10\1\11\1\12\1\13\1\14\1\15\1\16\3"+ + "\0\1\17\1\20\1\21\1\22\2\10\1\23\3\10\1\23\71\10\1\24\1\10\1\25\1\26\1\27"+ + "\1\30\2\26\16\0\1\31\1\32\1\33\1\34\2\10\1\35\11\10\1\36\21\10\1\37\1\40\23"+ + "\10\1\26\1\41\3\10\1\23\1\42\1\41\4\10\1\43\1\44\4\0\1\45\1\46\1\26\3\10\2"+ + "\47\1\26\1\50\1\51\1\0\1\52\5\10\1\53\3\0\1\54\1\55\13\10\1\56\1\45\1\57\1"+ + "\60\1\0\1\61\1\26\1\62\1\63\3\10\3\0\1\64\12\10\1\65\1\0\1\66\1\26\1\0\1\67"+ + "\3\10\1\53\1\70\1\22\2\10\1\65\1\71\1\72\1\73\2\26\3\10\1\74\10\26\1\75\1"+ + "\27\6\26\1\76\2\0\1\77\1\100\6\10\1\101\2\0\1\102\1\10\1\103\1\0\2\41\1\104"+ + "\1\105\1\106\2\10\1\75\1\107\1\110\1\111\1\112\1\62\1\113\1\103\1\0\1\114"+ + "\1\51\1\104\1\115\1\106\2\10\1\75\1\116\1\117\1\120\1\121\1\122\1\123\1\124"+ + "\1\0\1\125\1\26\1\104\1\36\1\35\2\10\1\75\1\126\1\110\1\45\1\127\1\130\1\26"+ + "\1\103\1\0\1\42\1\26\1\104\1\105\1\106\2\10\1\75\1\126\1\110\1\111\1\121\1"+ + "\124\1\113\1\103\1\0\1\42\1\26\1\131\1\132\1\133\1\134\1\135\1\132\1\10\1"+ + "\136\1\137\1\140\1\141\1\26\1\124\1\0\1\26\1\42\1\104\1\31\1\75\2\10\1\75"+ + "\1\142\1\143\1\144\1\140\1\145\1\25\1\103\1\0\2\26\1\146\1\31\1\75\2\10\1"+ + "\75\1\142\1\110\1\144\1\140\1\145\1\33\1\103\1\0\1\147\1\26\1\146\1\31\1\75"+ + "\4\10\1\150\1\144\1\151\1\62\1\26\1\103\1\0\1\26\1\40\1\146\1\10\1\23\1\40"+ + "\2\10\1\35\1\152\1\23\1\153\1\154\1\0\2\26\1\155\1\26\1\41\5\10\1\156\1\157"+ + "\1\160\1\77\1\0\1\161\4\26\1\162\1\163\1\164\1\41\1\165\1\166\1\156\1\167"+ + "\1\170\1\171\1\0\1\172\4\26\1\130\2\26\1\161\1\0\1\161\1\173\1\174\1\10\1"+ + "\41\3\10\1\27\1\44\1\0\1\144\1\175\1\0\1\44\3\0\1\50\1\176\7\26\5\10\1\53"+ + "\1\0\1\177\1\0\1\161\1\65\1\200\1\201\1\202\1\203\1\10\1\204\1\205\1\0\1\171"+ + "\4\10\1\36\1\21\5\10\1\206\51\10\1\133\1\23\1\133\5\10\1\133\4\10\1\133\1"+ + "\23\1\133\1\10\1\23\7\10\1\133\10\10\1\207\4\26\2\10\2\26\12\10\1\27\1\26"+ + "\1\41\114\10\1\105\2\10\1\210\2\10\1\47\11\10\1\132\1\130\1\26\1\10\1\31\1"+ + "\211\1\26\2\10\1\211\1\26\2\10\1\212\1\26\1\10\1\31\1\213\1\26\6\10\1\214"+ + "\3\0\1\215\1\216\1\0\1\161\3\26\1\217\1\0\1\161\13\10\1\26\5\10\1\220\10\10"+ + "\1\221\1\26\3\10\1\27\1\0\1\2\1\0\1\2\1\124\1\0\3\10\1\221\1\27\1\26\5\10"+ + "\1\114\2\0\1\55\1\161\1\0\1\161\4\26\2\10\1\160\1\2\6\10\1\175\1\77\3\0\1"+ + "\111\1\0\1\161\1\0\1\161\1\43\13\26\1\222\5\10\1\214\1\0\1\222\1\114\1\0\1"+ + "\161\1\26\1\223\1\2\1\26\1\224\3\10\1\102\1\202\1\0\1\67\4\10\1\65\1\0\1\2"+ + "\1\26\4\10\1\214\2\0\1\26\1\0\1\225\1\0\1\67\3\10\1\221\12\26\1\226\2\0\1"+ + "\227\1\230\1\26\30\10\4\0\1\77\2\26\1\76\42\10\2\221\4\10\2\221\1\10\1\231"+ + "\3\10\1\221\6\10\1\31\1\170\1\232\1\27\1\233\1\114\1\10\1\27\1\232\1\27\1"+ + "\234\1\235\3\26\1\236\1\26\1\43\1\130\1\26\1\237\1\240\1\50\1\241\1\42\1\43"+ + "\2\26\1\10\1\27\3\10\1\47\2\26\1\0\1\50\1\242\1\0\1\243\1\26\1\244\1\40\1"+ + "\152\1\245\1\30\1\246\1\10\1\247\1\250\1\251\2\26\5\10\1\130\116\26\5\10\1"+ + "\23\5\10\1\23\20\10\1\27\1\252\1\253\1\26\4\10\1\36\1\21\7\10\1\43\1\26\1"+ + "\62\2\10\1\23\1\26\10\23\4\0\5\26\1\43\72\26\1\254\3\26\1\41\1\204\1\245\1"+ + "\27\1\41\11\10\1\23\1\255\1\41\12\10\1\206\1\250\4\10\1\221\1\41\12\10\1\23"+ + "\2\26\3\10\1\47\6\26\170\10\1\221\11\26\71\10\1\27\6\26\21\10\1\27\10\26\5"+ + "\10\1\221\41\10\1\27\2\10\1\0\1\253\2\26\5\10\1\160\1\76\1\256\3\10\1\62\12"+ + "\10\1\161\3\26\1\43\1\10\1\40\14\10\1\257\1\114\1\26\1\10\1\47\11\26\1\10"+ + "\1\260\1\261\2\10\1\53\2\26\1\130\6\10\1\114\1\26\1\67\5\10\1\214\1\0\1\50"+ + "\1\26\1\0\1\161\2\0\1\67\1\51\1\0\1\67\2\10\1\65\1\171\2\10\1\160\1\0\1\2"+ + "\1\26\3\10\1\27\1\100\5\10\1\53\1\0\1\243\1\43\1\0\1\161\4\26\5\10\1\102\1"+ + "\77\1\26\1\261\1\262\1\0\1\161\2\10\1\23\1\263\6\10\1\201\1\264\1\220\2\26"+ + "\1\265\1\10\1\53\1\266\1\26\3\267\1\26\2\23\22\26\4\10\1\53\1\270\1\0\1\161"+ + "\64\10\1\114\1\26\2\10\1\23\1\271\5\10\1\114\40\26\55\10\1\221\15\10\1\25"+ + "\4\26\1\23\1\26\1\271\1\272\1\10\1\75\1\23\1\170\1\273\15\10\1\25\3\26\1\271"+ + "\54\10\1\221\2\26\10\10\1\40\6\10\5\26\1\10\1\27\2\0\2\26\1\77\1\26\1\135"+ + "\2\26\1\250\3\26\1\42\1\31\20\10\1\274\1\237\1\26\1\0\1\161\1\41\2\10\1\115"+ + "\1\41\2\10\1\47\1\275\12\10\1\23\3\40\1\276\1\277\2\26\1\300\1\10\1\142\2"+ + "\10\1\23\2\10\1\301\1\10\1\221\1\10\1\221\4\26\17\10\1\47\10\26\6\10\1\27"+ + "\20\26\1\302\20\26\3\10\1\27\6\10\1\130\5\26\3\10\1\23\2\26\3\10\1\47\6\26"+ + "\3\10\1\221\4\10\1\114\1\10\1\245\5\26\23\10\1\221\1\0\1\161\52\26\1\221\1"+ + "\75\4\10\1\36\1\303\2\10\1\221\25\26\2\10\1\221\1\26\3\10\1\25\10\26\7\10"+ + "\1\275\10\26\1\304\1\76\1\142\1\41\2\10\1\114\1\120\4\26\3\10\1\27\20\26\6"+ + "\10\1\221\1\26\2\10\1\221\1\26\2\10\1\47\21\26\11\10\1\130\66\26\1\224\6\10"+ + "\1\0\1\77\3\26\1\124\1\0\2\26\1\224\5\10\1\0\1\305\2\26\3\10\1\130\1\0\1\161"+ + "\1\224\3\10\1\160\1\0\1\144\1\0\10\26\1\224\5\10\1\53\1\0\1\306\1\26\1\0\1"+ + "\161\24\26\5\10\1\53\1\0\1\26\1\0\1\161\46\26\55\10\1\23\22\26\14\10\1\47"+ + "\63\26\5\10\1\23\72\26\7\10\1\130\130\26\10\10\1\27\1\26\1\102\4\0\1\77\1"+ + "\26\1\62\1\224\1\10\14\26\1\25\153\26\1\307\1\310\2\0\1\311\1\2\3\26\1\312"+ + "\22\26\1\313\67\26\12\10\1\31\10\10\1\31\1\314\1\315\1\10\1\316\1\142\7\10"+ + "\1\36\1\317\2\31\3\10\1\320\1\170\1\40\1\75\51\10\1\221\3\10\1\75\2\10\1\206"+ + "\3\10\1\206\2\10\1\31\3\10\1\31\2\10\1\23\3\10\1\23\3\10\1\75\3\10\1\75\2"+ + "\10\1\206\1\321\6\0\1\142\3\10\1\162\1\41\1\206\1\322\1\244\1\323\1\162\1"+ + "\231\1\162\2\206\1\123\1\10\1\35\1\10\1\114\1\324\1\35\1\10\1\114\50\26\32"+ + "\10\1\23\5\26\106\10\1\27\1\26\33\10\1\221\74\26\1\122\3\26\14\0\20\26\36"+ + "\0\2\26"); + + /* The ZZ_CMAP_A table has 1704 entries */ + static final char ZZ_CMAP_A[] = zzUnpackCMap( + "\11\21\1\1\1\3\2\4\1\3\6\21\4\0\1\1\1\0\1\7\1\0\1\20\2\0\1\11\2\0\1\6\1\17"+ + "\1\26\1\12\1\15\1\2\1\13\11\14\1\27\6\0\4\20\1\16\15\20\1\24\1\10\1\25\1\0"+ + "\1\20\1\0\1\35\3\20\1\33\1\34\5\20\1\36\1\20\1\40\3\20\1\31\1\37\1\30\1\32"+ + "\5\20\1\22\1\0\1\23\1\0\6\21\1\5\2\21\1\1\1\0\4\20\4\0\1\20\2\0\1\21\7\0\1"+ + "\20\4\0\1\20\5\0\7\20\1\0\2\20\4\0\4\20\16\0\5\20\7\0\1\20\1\0\1\20\1\0\5"+ + "\20\1\0\2\20\2\0\4\20\10\0\1\20\1\0\3\20\1\0\1\20\1\0\4\20\1\0\13\20\1\0\3"+ + "\20\1\0\5\21\2\0\6\20\1\0\7\20\1\0\1\20\15\0\1\20\1\0\15\21\1\0\1\21\1\0\2"+ + "\21\1\0\2\21\1\0\1\21\3\20\5\0\5\21\6\0\1\20\4\0\3\21\5\0\3\20\7\21\4\0\2"+ + "\20\1\21\13\20\1\0\1\20\7\21\2\20\2\21\1\0\4\21\2\20\2\21\3\20\2\0\1\20\7"+ + "\0\1\21\1\20\1\21\6\20\3\21\2\0\11\20\3\21\1\20\6\0\2\21\6\20\4\21\2\20\2"+ + "\0\2\21\1\20\11\21\1\20\3\21\1\20\5\21\2\0\1\20\3\21\4\0\1\20\1\0\6\20\4\0"+ + "\13\21\1\0\4\21\6\20\3\21\1\20\2\21\1\20\7\21\2\20\2\21\2\0\2\21\1\0\3\21"+ + "\1\0\10\20\2\0\2\20\2\0\6\20\1\0\1\20\3\0\4\20\2\0\1\21\1\20\7\21\2\0\2\21"+ + "\2\0\3\21\1\20\5\0\2\20\1\0\5\20\4\0\3\20\4\0\2\20\1\0\2\20\1\0\2\20\1\0\2"+ + "\20\2\0\1\21\1\0\5\21\4\0\2\21\2\0\3\21\3\0\1\21\7\0\4\20\1\0\1\20\7\0\4\21"+ + "\3\20\1\21\2\0\1\20\1\0\2\20\1\0\3\20\2\21\1\0\3\21\2\0\1\20\11\0\1\21\1\20"+ + "\1\0\6\20\3\0\3\20\1\0\4\20\3\0\2\20\1\0\1\20\1\0\2\20\3\0\2\20\3\0\2\20\4"+ + "\0\5\21\3\0\3\21\1\0\4\21\2\0\1\20\6\0\1\21\4\20\1\0\5\20\3\0\1\20\7\21\1"+ + "\0\2\21\5\0\2\21\3\0\2\21\1\0\3\20\1\0\2\20\5\0\3\20\2\0\1\20\3\21\1\0\4\21"+ + "\1\20\1\0\4\20\1\0\1\20\4\0\1\21\4\0\6\21\1\0\1\21\3\0\2\21\4\0\1\20\1\21"+ + "\2\20\7\21\4\0\10\20\3\21\7\0\2\20\1\0\1\20\2\0\2\20\1\0\1\20\2\0\1\20\6\0"+ + "\4\20\1\0\3\20\1\0\1\20\1\0\1\20\2\0\2\20\1\0\3\20\2\21\1\0\2\21\1\20\2\0"+ + "\5\20\1\0\1\20\1\0\6\21\2\0\2\21\2\0\4\20\5\0\1\21\1\0\1\21\1\0\1\21\4\0\2"+ + "\21\5\20\3\21\6\0\1\21\1\0\7\21\1\20\2\21\4\20\3\21\1\20\3\21\2\20\7\21\3"+ + "\20\4\21\5\20\14\21\1\20\1\21\3\20\1\0\7\20\2\0\3\21\1\1\11\20\3\21\3\0\2"+ + "\20\2\21\4\0\1\20\1\0\2\21\4\0\4\20\10\21\3\0\1\20\3\0\2\20\1\21\5\0\3\21"+ + "\2\0\1\20\1\21\1\20\5\0\6\20\2\0\5\21\3\20\3\0\10\21\5\20\2\21\3\0\3\20\3"+ + "\21\1\0\5\21\4\20\1\21\4\20\3\21\2\20\2\0\1\20\1\0\1\20\1\0\1\20\1\0\1\20"+ + "\2\0\3\20\1\0\6\20\2\0\2\20\13\1\5\21\2\4\5\21\1\1\4\0\1\20\12\0\1\1\2\0\6"+ + "\21\1\0\1\21\3\0\4\21\11\0\1\20\4\0\1\20\1\0\5\20\2\0\1\20\1\0\4\20\1\0\3"+ + "\20\2\0\4\20\5\0\5\20\4\0\1\20\4\0\4\20\3\21\2\20\4\0\1\1\4\0\3\20\1\0\2\21"+ + "\2\0\3\20\6\21\1\0\2\20\2\0\4\20\1\0\2\20\1\21\3\20\1\21\4\20\1\21\10\20\2"+ + "\21\4\0\1\20\1\21\4\0\1\21\5\20\2\21\3\0\3\20\4\0\3\20\2\21\2\0\6\20\1\0\3"+ + "\21\1\0\2\21\5\0\5\20\5\0\1\20\1\21\3\20\1\0\2\20\1\0\7\20\2\0\1\21\6\0\2"+ + "\20\2\0\3\20\3\0\2\20\3\0\2\20\2\0\3\21\4\0\3\20\1\0\2\20\1\0\1\20\5\0\1\21"+ + "\2\0\1\20\3\0\1\20\2\0\2\20\3\21\1\0\2\21\1\0\3\21\2\0\1\21\2\0\1\21\4\20"+ + "\10\0\5\21\3\0\6\21\2\0\3\21\2\0\4\21\4\0\3\21\5\0\1\20\2\0\2\20\2\0\4\20"+ + "\1\0\4\20\1\0\1\20\1\0\6\20\2\0\5\20\1\0\4\20\1\0\4\20\2\0\2\21\1\0\1\20\1"+ + "\0\1\20\5\0\1\20\1\0\1\20\1\0\3\20\1\0\3\20\1\0\3\20"); /** * Translates DFA states to action switch labels. @@ -220,12 +204,12 @@ public class _JsonLexer implements FlexLexer { private static final int [] ZZ_ROWMAP = zzUnpackRowMap(); private static final String ZZ_ROWMAP_PACKED_0 = - "\0\0\0\42\0\104\0\146\0\210\0\252\0\314\0\356"+ - "\0\u0110\0\u0132\0\42\0\42\0\42\0\42\0\42\0\42"+ - "\0\u0154\0\u0176\0\u0198\0\u01ba\0\u01dc\0\42\0\u01fe\0\u0220"+ - "\0\42\0\u0242\0\u0264\0\u0286\0\u02a8\0\u02ca\0\u02ec\0\u030e"+ - "\0\u0330\0\u0352\0\u0374\0\u0396\0\42\0\u0132\0\u03b8\0\u0132"+ - "\0\u0132"; + "\0\0\0\41\0\102\0\143\0\204\0\245\0\306\0\347"+ + "\0\u0108\0\u0129\0\41\0\41\0\41\0\41\0\41\0\41"+ + "\0\u014a\0\u016b\0\u018c\0\u01ad\0\u01ce\0\41\0\u01ef\0\u0210"+ + "\0\41\0\u0231\0\u0252\0\u0273\0\u0294\0\u02b5\0\u02d6\0\u02f7"+ + "\0\u0318\0\u0339\0\u035a\0\u037b\0\41\0\u0129\0\u039c\0\u0129"+ + "\0\u0129"; private static int [] zzUnpackRowMap() { int [] result = new int[41]; @@ -251,38 +235,37 @@ public class _JsonLexer implements FlexLexer { private static final int [] ZZ_TRANS = zzUnpackTrans(); private static final String ZZ_TRANS_PACKED_0 = - "\1\2\2\3\1\4\1\2\1\3\2\2\1\5\1\2"+ - "\1\6\1\7\1\10\1\11\1\2\1\12\1\2\1\12"+ - "\1\2\1\13\1\14\1\15\1\16\1\17\1\20\1\21"+ - "\3\12\1\22\3\12\1\23\43\0\2\3\2\0\1\3"+ - "\37\0\1\24\3\0\1\25\32\0\1\5\1\0\6\5"+ - "\1\26\1\27\30\5\1\6\1\0\7\6\1\30\1\31"+ - "\27\6\14\0\1\10\1\11\42\0\1\32\1\33\14\0"+ - "\1\33\21\0\2\11\1\32\1\33\14\0\1\33\13\0"+ + "\1\2\1\3\1\4\3\3\1\2\1\5\1\2\1\6"+ + "\1\7\1\10\1\11\1\2\1\12\1\2\1\12\1\2"+ + "\1\13\1\14\1\15\1\16\1\17\1\20\1\21\3\12"+ + "\1\22\3\12\1\23\42\0\1\3\1\0\3\3\35\0"+ + "\1\24\3\0\1\25\32\0\3\5\1\0\3\5\1\26"+ + "\1\27\30\5\3\6\1\0\4\6\1\30\1\31\27\6"+ + "\13\0\1\10\1\11\41\0\1\32\1\33\14\0\1\33"+ + "\20\0\2\11\1\32\1\33\14\0\1\33\12\0\1\12"+ + "\5\0\2\12\1\0\1\12\1\0\2\12\6\0\11\12"+ + "\5\0\1\12\5\0\2\12\1\0\1\12\1\0\2\12"+ + "\6\0\1\12\1\34\7\12\5\0\1\12\5\0\2\12"+ + "\1\0\1\12\1\0\2\12\6\0\5\12\1\35\3\12"+ + "\5\0\1\12\5\0\2\12\1\0\1\12\1\0\2\12"+ + "\6\0\2\12\1\36\6\12\3\24\3\0\33\24\6\25"+ + "\1\37\32\25\3\5\1\0\35\5\3\6\1\0\35\6"+ + "\13\0\2\40\36\0\3\41\2\0\1\41\26\0\1\12"+ + "\5\0\2\12\1\0\1\12\1\0\2\12\6\0\2\12"+ + "\1\42\6\12\5\0\1\12\5\0\2\12\1\0\1\12"+ + "\1\0\2\12\6\0\6\12\1\43\2\12\5\0\1\12"+ + "\5\0\2\12\1\0\1\12\1\0\2\12\6\0\6\12"+ + "\1\44\2\12\2\25\1\45\3\25\1\37\32\25\13\0"+ + "\2\40\1\0\1\33\14\0\1\33\20\0\2\41\31\0"+ "\1\12\5\0\2\12\1\0\1\12\1\0\2\12\6\0"+ - "\11\12\6\0\1\12\5\0\2\12\1\0\1\12\1\0"+ - "\2\12\6\0\1\12\1\34\7\12\6\0\1\12\5\0"+ - "\2\12\1\0\1\12\1\0\2\12\6\0\5\12\1\35"+ - "\3\12\6\0\1\12\5\0\2\12\1\0\1\12\1\0"+ - "\2\12\6\0\2\12\1\36\6\12\1\24\1\0\2\24"+ - "\3\0\33\24\7\25\1\37\32\25\1\5\1\0\40\5"+ - "\1\6\1\0\40\6\14\0\2\40\37\0\3\41\2\0"+ - "\1\41\27\0\1\12\5\0\2\12\1\0\1\12\1\0"+ - "\2\12\6\0\2\12\1\42\6\12\6\0\1\12\5\0"+ - "\2\12\1\0\1\12\1\0\2\12\6\0\6\12\1\43"+ - "\2\12\6\0\1\12\5\0\2\12\1\0\1\12\1\0"+ - "\2\12\6\0\6\12\1\44\2\12\3\25\1\45\3\25"+ - "\1\37\32\25\14\0\2\40\1\0\1\33\14\0\1\33"+ - "\21\0\2\41\32\0\1\12\5\0\2\12\1\0\1\12"+ - "\1\0\2\12\6\0\3\12\1\46\5\12\6\0\1\12"+ - "\5\0\2\12\1\0\1\12\1\0\2\12\6\0\7\12"+ - "\1\47\1\12\6\0\1\12\5\0\2\12\1\0\1\12"+ - "\1\0\2\12\6\0\6\12\1\50\2\12\6\0\1\12"+ - "\5\0\2\12\1\0\1\12\1\0\2\12\6\0\3\12"+ - "\1\51\5\12"; + "\3\12\1\46\5\12\5\0\1\12\5\0\2\12\1\0"+ + "\1\12\1\0\2\12\6\0\7\12\1\47\1\12\5\0"+ + "\1\12\5\0\2\12\1\0\1\12\1\0\2\12\6\0"+ + "\6\12\1\50\2\12\5\0\1\12\5\0\2\12\1\0"+ + "\1\12\1\0\2\12\6\0\3\12\1\51\5\12"; private static int [] zzUnpackTrans() { - int [] result = new int[986]; + int [] result = new int[957]; int offset = 0; offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result); return result; @@ -402,10 +385,14 @@ public class _JsonLexer implements FlexLexer { * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { - char [] map = new char[0x110000]; + int size = 0; + for (int i = 0, length = packed.length(); i < length; i += 2) { + size += packed.charAt(i); + } + char[] map = new char[size]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ - while (i < 2828) { + while (i < packed.length()) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); @@ -551,7 +538,6 @@ public class _JsonLexer implements FlexLexer { int zzMarkedPosL; int zzEndReadL = zzEndRead; CharSequence zzBufferL = zzBuffer; - char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; @@ -603,7 +589,7 @@ public class _JsonLexer implements FlexLexer { zzCurrentPosL += Character.charCount(zzInput); } } - int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; + int zzNext = zzTransL[ zzRowMapL[zzState] + ZZ_CMAP(zzInput) ]; if (zzNext == -1) break zzForAction; zzState = zzNext; @@ -627,11 +613,11 @@ public class _JsonLexer implements FlexLexer { else { switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 1: - { return com.intellij.psi.TokenType.BAD_CHARACTER; + { return BAD_CHARACTER; } case 18: break; case 2: - { return com.intellij.psi.TokenType.WHITE_SPACE; + { return WHITE_SPACE; } case 19: break; case 3: diff --git a/json/gen/com/intellij/json/JsonLexer.java b/json/src/com/intellij/json/JsonLexer.java similarity index 100% rename from json/gen/com/intellij/json/JsonLexer.java rename to json/src/com/intellij/json/JsonLexer.java diff --git a/json/gen/com/intellij/json/_JsonLexer.flex b/json/src/com/intellij/json/_JsonLexer.flex similarity index 86% rename from json/gen/com/intellij/json/_JsonLexer.flex rename to json/src/com/intellij/json/_JsonLexer.flex index 7bcfc6015e1e..22ddb6e11afc 100644 --- a/json/gen/com/intellij/json/_JsonLexer.flex +++ b/json/src/com/intellij/json/_JsonLexer.flex @@ -1,6 +1,7 @@ package com.intellij.json; import com.intellij.lexer.*; import com.intellij.psi.tree.IElementType; +import static com.intellij.psi.TokenType.*; import static com.intellij.json.JsonElementTypes.*; %% @@ -18,9 +19,7 @@ import static com.intellij.json.JsonElementTypes.*; %type IElementType %unicode -EOL="\r"|"\n"|"\r\n" -LINE_WS=[\ \t\f] -WHITE_SPACE=({LINE_WS}|{EOL})+ +WHITE_SPACE=\s+ LINE_COMMENT="//".* BLOCK_COMMENT="/"\*([^*]|\*+[^*/])*(\*+"/")? @@ -31,7 +30,7 @@ INDENTIFIER=[:jletter:] [:jletterdigit:]* %% { - {WHITE_SPACE} { return com.intellij.psi.TokenType.WHITE_SPACE; } + {WHITE_SPACE} { return WHITE_SPACE; } "{" { return L_CURLY; } "}" { return R_CURLY; } @@ -50,5 +49,6 @@ INDENTIFIER=[:jletter:] [:jletterdigit:]* {NUMBER} { return NUMBER; } {INDENTIFIER} { return INDENTIFIER; } - [^] { return com.intellij.psi.TokenType.BAD_CHARACTER; } } + +[^] { return BAD_CHARACTER; } diff --git a/python/gen/com/jetbrains/commandInterface/commandLine/_CommandLineLexer.java b/python/gen/com/jetbrains/commandInterface/commandLine/_CommandLineLexer.java index cbad45ac8423..c7e305136d32 100644 --- a/python/gen/com/jetbrains/commandInterface/commandLine/_CommandLineLexer.java +++ b/python/gen/com/jetbrains/commandInterface/commandLine/_CommandLineLexer.java @@ -3,6 +3,7 @@ package com.jetbrains.commandInterface.commandLine; import com.intellij.lexer.*; import com.intellij.psi.tree.IElementType; +import static com.intellij.psi.TokenType.*; import static com.jetbrains.commandInterface.commandLine.CommandLineElementTypes.*; @@ -34,135 +35,121 @@ public class _CommandLineLexer implements FlexLexer { /** * Translates characters to character classes + * Chosen bits are [11, 6, 4] + * Total runtime size is 13856 bytes */ - private static final String ZZ_CMAP_PACKED = - "\11\0\1\1\1\1\1\0\1\1\1\1\22\0\1\1\14\0\1\7"+ - "\1\6\1\6\12\11\1\5\2\0\1\13\3\0\32\4\1\0\1\5"+ - "\2\0\1\3\1\0\32\4\3\0\1\12\53\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\10\4\0\2\2\1\0\143\2\1\0\1\2\17\0\2\2"+ - "\7\0\2\2\12\10\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\10\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\10\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\10\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\10\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\10"+ - "\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\10\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\10\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\10\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\10\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\10\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\10\21\0\60\2\1\0\2\2\14\0\7\2\11\0\12\10"+ - "\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\10\2\0\4\2\40\0\1\2\37\0\12\10"+ - "\26\0\10\2\1\0\44\2\33\0\5\2\163\0\53\2\24\0\1\2"+ - "\12\10\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\10\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\10\46\0\12\10\6\0\130\2\10\0\51\2\1\0"+ - "\1\2\5\0\106\2\12\0\37\2\47\0\12\10\36\2\2\0\5\2"+ - "\13\0\54\2\4\0\32\2\6\0\12\10\46\0\27\2\11\0\65\2"+ - "\53\0\12\10\6\0\12\10\15\0\1\2\135\0\57\2\21\0\7\2"+ - "\4\0\12\10\51\0\36\2\15\0\2\2\12\10\54\2\32\0\44\2"+ - "\34\0\12\10\3\0\3\2\12\10\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\164\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\10\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\10"+ - "\30\0\6\2\3\0\1\2\1\0\1\2\2\0\12\10\34\2\12\0"+ - "\27\2\31\0\35\2\7\0\57\2\34\0\1\2\12\10\6\0\5\2"+ - "\1\0\12\2\12\10\5\2\1\0\51\2\27\0\3\2\1\0\10\2"+ - "\4\0\12\10\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\10\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\10\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\10\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\10\23\0\55\2"+ - "\40\0\31\2\7\0\12\10\11\0\44\2\17\0\12\10\20\0\43\2"+ - "\3\0\1\2\14\0\60\2\16\0\4\2\13\0\12\10\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\10\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\10\246\0\57\2\51\0\4\2\44\0"+ - "\60\2\24\0\1\2\13\0\12\10\46\0\53\2\25\0\12\10\66\0"+ - "\32\2\26\0\12\10\u0166\0\100\2\12\10\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\10\146\0\36\2\22\0\60\2\20\0\4\2"+ - "\14\0\12\10\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\10\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"; + public static int ZZ_CMAP(int ch) { + return ZZ_CMAP_A[(ZZ_CMAP_Y[(ZZ_CMAP_Z[ch>>10]<<6)|((ch>>4)&0x3f)]<<4)|(ch&0xf)]; + } - /** - * Translates characters to character classes - */ - private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); + /* The ZZ_CMAP_Z table has 1088 entries */ + static final char ZZ_CMAP_Z[] = zzUnpackCMap( + "\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\2\11\1\12\1\13\6\14\1\15\23\14\1\16"+ + "\1\14\1\17\1\20\12\14\1\21\10\11\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1"+ + "\32\1\11\1\33\1\34\2\11\1\14\1\35\3\11\1\36\10\11\1\37\1\40\20\11\1\41\2\11"+ + "\1\42\5\11\1\43\4\11\1\44\1\45\4\11\51\14\1\46\3\14\1\47\1\50\4\14\1\51\12"+ + "\11\1\52\u0381\11"); + + /* The ZZ_CMAP_Y table has 2752 entries */ + static final char ZZ_CMAP_Y[] = zzUnpackCMap( + "\1\0\1\1\1\2\1\3\1\4\1\5\1\4\1\6\1\7\1\1\1\10\1\11\1\12\1\13\1\12\1\13\34"+ + "\12\1\14\1\15\1\16\10\1\1\17\1\20\1\12\1\21\4\12\1\22\10\12\1\23\12\12\1\24"+ + "\1\12\1\25\1\24\1\12\1\26\4\1\1\12\1\27\1\30\2\1\2\12\1\27\1\1\1\31\1\24\5"+ + "\12\1\32\1\33\1\34\1\1\1\35\1\12\1\1\1\36\5\12\1\37\1\40\1\41\1\12\1\27\1"+ + "\42\1\12\1\43\1\44\1\1\1\12\1\45\4\1\1\12\1\46\4\1\1\47\2\12\1\50\1\1\1\51"+ + "\1\52\1\24\1\53\1\54\1\55\1\56\1\57\1\60\1\52\1\15\1\61\1\54\1\55\1\62\1\1"+ + "\1\63\1\64\1\65\1\66\1\21\1\55\1\67\1\1\1\70\1\52\1\71\1\72\1\54\1\55\1\67"+ + "\1\1\1\60\1\52\1\40\1\73\1\74\1\75\1\76\1\1\1\70\1\64\1\1\1\77\1\35\1\55\1"+ + "\50\1\1\1\100\1\52\1\1\1\77\1\35\1\55\1\101\1\1\1\57\1\52\1\102\1\77\1\35"+ + "\1\12\1\103\1\57\1\104\1\52\1\105\1\106\1\107\1\12\1\110\1\111\1\1\1\64\1"+ + "\1\1\24\2\12\1\112\1\111\1\113\2\1\1\114\1\115\1\116\1\117\1\120\1\121\2\1"+ + "\1\70\1\1\1\113\1\1\1\122\1\12\1\123\1\1\1\124\7\1\2\12\1\27\1\104\1\113\1"+ + "\125\1\126\1\127\1\130\1\113\2\12\1\131\2\12\1\132\24\12\1\133\1\134\2\12"+ + "\1\133\2\12\1\135\1\136\1\13\3\12\1\136\3\12\1\27\2\1\1\12\1\1\5\12\1\137"+ + "\1\24\45\12\1\140\1\12\1\141\1\27\4\12\1\27\1\142\1\143\1\15\1\12\1\15\1\12"+ + "\1\15\1\143\1\70\3\12\1\144\1\1\1\145\1\113\2\1\1\113\5\12\1\26\2\12\1\146"+ + "\4\12\1\37\1\12\1\147\2\1\1\64\1\12\1\150\1\46\2\12\1\151\1\12\1\76\1\113"+ + "\2\1\1\12\1\111\3\12\1\46\2\1\2\113\1\152\5\1\1\106\2\12\1\144\1\153\1\113"+ + "\2\1\1\154\1\12\1\155\1\41\2\12\1\37\1\1\2\12\1\144\1\1\1\156\1\41\1\12\1"+ + "\150\6\1\1\157\1\160\14\12\4\1\21\12\1\137\2\12\1\137\1\161\1\12\1\150\3\12"+ + "\1\162\1\163\1\164\1\123\1\163\1\165\1\1\1\166\2\1\1\167\1\1\1\170\1\1\1\123"+ + "\6\1\1\171\1\172\1\173\1\174\1\175\3\1\1\176\147\1\2\12\1\147\2\12\1\147\10"+ + "\12\1\177\1\200\2\12\1\131\3\12\1\201\1\1\1\12\1\111\4\202\4\1\1\104\35\1"+ + "\1\203\2\1\1\204\1\24\4\12\1\205\1\24\4\12\1\132\1\106\1\12\1\150\1\24\4\12"+ + "\1\147\1\1\1\12\1\27\3\1\1\12\40\1\133\12\1\37\4\1\135\12\1\37\2\1\10\12\1"+ + "\123\4\1\2\12\1\150\20\12\1\123\1\12\1\206\1\1\2\12\1\147\1\104\1\12\1\150"+ + "\4\12\1\37\2\1\1\207\1\210\5\12\1\211\1\12\1\150\1\26\3\1\1\207\1\212\1\12"+ + "\1\30\1\1\3\12\1\144\1\210\2\12\1\144\1\1\1\113\1\1\1\213\1\41\1\12\1\37\1"+ + "\12\1\111\1\1\1\12\1\123\1\47\2\12\1\30\1\104\1\113\1\214\1\215\2\12\1\45"+ + "\1\1\1\216\1\113\1\12\1\217\3\12\1\220\1\221\1\222\1\27\1\65\1\223\1\224\1"+ + "\202\2\12\1\132\1\37\7\12\1\30\1\113\72\12\1\144\1\12\1\225\2\12\1\151\20"+ + "\1\26\12\1\150\6\12\1\76\2\1\1\111\1\226\1\55\1\227\1\230\6\12\1\15\1\1\1"+ + "\154\25\12\1\150\1\1\4\12\1\210\2\12\1\26\2\1\1\151\7\1\1\214\7\12\1\123\1"+ + "\1\1\113\1\24\1\27\1\24\1\27\1\231\4\12\1\147\1\232\1\233\2\1\1\234\1\12\1"+ + "\13\1\235\2\150\2\1\7\12\1\27\30\1\1\12\1\123\3\12\1\70\2\1\2\12\1\1\1\12"+ + "\1\236\2\12\1\37\1\12\1\150\2\12\1\237\3\1\11\12\1\150\1\113\5\1\2\12\1\26"+ + "\3\12\1\144\11\1\23\12\1\111\1\12\1\37\1\26\11\1\1\240\2\12\1\241\1\12\1\37"+ + "\1\12\1\111\1\12\1\147\4\1\1\12\1\242\1\12\1\37\1\12\1\76\4\1\3\12\1\243\4"+ + "\1\1\70\1\244\1\12\1\144\2\1\1\12\1\123\1\12\1\123\2\1\1\122\1\12\1\46\1\1"+ + "\3\12\1\37\1\12\1\37\1\12\1\30\1\12\1\15\6\1\4\12\1\45\3\1\3\12\1\30\3\12"+ + "\1\30\60\1\1\154\2\12\1\26\2\1\1\64\1\1\1\154\2\12\2\1\1\12\1\45\1\113\1\154"+ + "\1\12\1\111\1\64\1\1\2\12\1\245\1\154\2\12\1\30\1\246\1\247\2\1\1\12\1\21"+ + "\1\151\5\1\1\250\1\251\1\45\2\12\1\147\1\1\1\113\1\72\1\54\1\55\1\67\1\1\1"+ + "\252\1\15\21\1\3\12\1\1\1\253\1\113\12\1\2\12\1\147\2\1\1\254\2\1\3\12\1\1"+ + "\1\255\1\113\2\1\2\12\1\27\1\1\1\113\3\1\1\12\1\76\1\1\1\113\26\1\4\12\1\113"+ + "\1\104\34\1\3\12\1\45\20\1\71\12\1\76\16\1\14\12\1\144\53\1\2\12\1\147\75"+ + "\1\44\12\1\111\33\1\43\12\1\45\1\12\1\147\1\113\6\1\1\12\1\150\1\1\3\12\1"+ + "\1\1\144\1\113\1\154\1\256\1\12\67\1\4\12\1\46\1\70\3\1\1\154\6\1\1\15\77"+ + "\1\6\12\1\27\1\123\1\45\1\76\66\1\5\12\1\214\3\12\1\143\1\257\1\260\1\261"+ + "\3\12\1\262\1\263\1\12\1\264\1\265\1\35\24\12\1\266\1\12\1\35\1\132\1\12\1"+ + "\132\1\12\1\214\1\12\1\214\1\147\1\12\1\147\1\12\1\55\1\12\1\55\1\12\1\267"+ + "\3\270\14\12\1\46\123\1\1\261\1\12\1\271\1\272\1\273\1\274\1\275\1\276\1\277"+ + "\1\151\1\300\1\151\24\1\55\12\1\111\2\1\103\12\1\46\15\12\1\150\150\12\1\15"+ + "\25\1\41\12\1\150\36\1"); + + /* The ZZ_CMAP_A table has 3088 entries */ + static final char ZZ_CMAP_A[] = zzUnpackCMap( + "\11\0\5\1\22\0\1\1\14\0\1\7\2\6\12\11\1\5\2\0\1\13\3\0\32\4\1\0\1\5\2\0\1"+ + "\3\13\4\3\0\1\12\6\0\1\1\12\0\1\1\11\0\1\2\12\0\1\2\4\0\1\2\5\0\27\2\1\0\12"+ + "\2\4\0\14\2\16\0\5\2\7\0\1\2\1\0\1\2\1\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\4\2\1\0\23\2\1\0\13\2\10\0\6\2\1\0\26\2\2\0\1\2\6\0"+ + "\10\2\10\0\13\2\5\0\3\2\15\0\12\10\4\0\6\2\1\0\1\2\17\0\2\2\7\0\2\2\12\10"+ + "\3\2\2\0\2\2\1\0\16\2\15\0\11\2\13\0\1\2\16\0\12\10\6\2\4\0\2\2\4\0\1\2\5"+ + "\0\6\2\4\0\1\2\11\0\1\2\3\0\1\2\7\0\11\2\7\0\5\2\17\0\26\2\3\0\1\2\2\0\1\2"+ + "\7\0\12\2\4\0\12\10\1\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\1\2\5\0\6\2\4\0\2\2\1\0\2\2\1\0\2\2\1\0\2\2"+ + "\17\0\4\2\1\0\1\2\7\0\12\10\2\0\3\2\20\0\11\2\1\0\2\2\1\0\2\2\1\0\5\2\3\0"+ + "\1\2\2\0\1\2\30\0\1\2\13\0\10\2\2\0\1\2\3\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\13\0\10\2\1\0\2\2\10\0\3\2"+ + "\5\0\4\2\1\0\5\2\3\0\1\2\3\0\2\2\15\0\13\2\2\0\1\2\21\0\1\2\12\0\6\2\5\0\22"+ + "\2\3\0\10\2\1\0\11\2\1\0\1\2\2\0\7\2\11\0\1\2\1\0\2\2\14\0\12\10\7\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\10\2\0\14\2\1\0\24\2"+ + "\13\0\5\2\3\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\6"+ + "\2\1\0\1\2\5\0\1\2\2\0\13\2\1\0\15\2\1\0\4\2\2\0\7\2\1\0\1\2\1\0\4\2\2\0\1"+ + "\2\1\0\4\2\2\0\7\2\1\0\1\2\1\0\4\2\2\0\16\2\2\0\6\2\2\0\15\2\2\0\1\2\1\1\17"+ + "\2\1\0\10\2\7\0\15\2\1\0\6\2\23\0\1\2\4\0\1\2\3\0\11\2\1\0\1\2\5\0\17\2\1"+ + "\0\16\2\2\0\14\2\13\0\1\2\15\0\7\2\7\0\16\2\15\0\2\2\12\10\3\0\3\2\11\0\4"+ + "\2\1\0\4\2\3\0\2\2\11\0\10\2\1\0\1\2\1\0\1\2\1\0\1\2\1\0\6\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\13\1\15\0\2\1\5\0\1\1\17\0\1\1\1\0"+ + "\1\2\15\0\1\2\2\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\4\0\2\2\13\0\5\2\6\0\4\2\3\0"+ + "\2\2\14\0\10\2\7\0\10\2\1\0\7\2\1\0\1\1\4\0\2\2\12\0\5\2\5\0\2\2\3\0\7\2\6"+ + "\0\3\2\12\10\2\2\13\0\11\2\2\0\27\2\2\0\7\2\1\0\3\2\1\0\4\2\1\0\4\2\2\0\6"+ + "\2\3\0\1\2\1\0\1\2\2\0\5\2\1\0\12\2\12\10\5\2\1\0\3\2\1\0\10\2\4\0\7\2\3\0"+ + "\1\2\3\0\2\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\3\0\6\2\2\0"+ + "\6\2\2\0\6\2\11\0\7\2\4\0\5\2\3\0\5\2\5\0\1\2\1\0\10\2\1\0\5\2\1\0\1\2\1\0"+ + "\2\2\1\0\2\2\1\0\12\2\6\0\12\2\2\0\6\2\2\0\6\2\2\0\6\2\2\0\3\2\3\0\14\2\1"+ + "\0\16\2\1\0\2\2\1\0\2\2\1\0\10\2\6\0\4\2\4\0\16\2\2\0\1\2\1\0\14\2\1\0\2\2"+ + "\3\0\1\2\2\0\4\2\1\0\2\2\12\0\10\2\6\0\6\2\1\0\3\2\1\0\12\2\3\0\1\2\12\0\4"+ + "\2\13\0\12\10\1\2\1\0\1\2\3\0\7\2\1\0\1\2\1\0\4\2\1\0\17\2\1\0\2\2\14\0\3"+ + "\2\4\0\2\2\1\0\1\2\20\0\4\2\10\0\1\2\13\0\10\2\5\0\3\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\21\2\1\0\4\2\2\0\10\2\1\0\7\2\1\0\14\2\1"+ + "\0\4\2\1\0\5\2\1\0\1\2\3\0\14\2\2\0\13\2\1\0\10\2\2\0\22\10\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\5\2\1\0\3\2"+ + "\1\0\5\2\1\0\5\2"); /** * Translates DFA states to action switch labels. @@ -353,10 +340,14 @@ public class _CommandLineLexer implements FlexLexer { * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { - char [] map = new char[0x110000]; + int size = 0; + for (int i = 0, length = packed.length(); i < length; i += 2) { + size += packed.charAt(i); + } + char[] map = new char[size]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ - while (i < 2454) { + while (i < packed.length()) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); @@ -502,7 +493,6 @@ public class _CommandLineLexer implements FlexLexer { int zzMarkedPosL; int zzEndReadL = zzEndRead; CharSequence zzBufferL = zzBuffer; - char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; @@ -554,7 +544,7 @@ public class _CommandLineLexer implements FlexLexer { zzCurrentPosL += Character.charCount(zzInput); } } - int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; + int zzNext = zzTransL[ zzRowMapL[zzState] + ZZ_CMAP(zzInput) ]; if (zzNext == -1) break zzForAction; zzState = zzNext; @@ -578,11 +568,11 @@ public class _CommandLineLexer implements FlexLexer { else { switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 1: - { return com.intellij.psi.TokenType.BAD_CHARACTER; + { return BAD_CHARACTER; } case 9: break; case 2: - { return com.intellij.psi.TokenType.WHITE_SPACE; + { return WHITE_SPACE; } case 10: break; case 3: diff --git a/python/gen/com/jetbrains/commandInterface/commandLine/_CommandLineLexer.flex b/python/src/com/jetbrains/commandInterface/commandLine/_CommandLineLexer.flex similarity index 83% rename from python/gen/com/jetbrains/commandInterface/commandLine/_CommandLineLexer.flex rename to python/src/com/jetbrains/commandInterface/commandLine/_CommandLineLexer.flex index e9082f578d30..3a67a142e79c 100644 --- a/python/gen/com/jetbrains/commandInterface/commandLine/_CommandLineLexer.flex +++ b/python/src/com/jetbrains/commandInterface/commandLine/_CommandLineLexer.flex @@ -1,6 +1,7 @@ package com.jetbrains.commandInterface.commandLine; import com.intellij.lexer.*; import com.intellij.psi.tree.IElementType; +import static com.intellij.psi.TokenType.*; import static com.jetbrains.commandInterface.commandLine.CommandLineElementTypes.*; %% @@ -18,9 +19,7 @@ import static com.jetbrains.commandInterface.commandLine.CommandLineElementTypes %type IElementType %unicode -EOL="\r"|"\n"|"\r\n" -LINE_WS=[\ \t\f] -WHITE_SPACE=({LINE_WS}|{EOL})+ +WHITE_SPACE=\s+ LITERAL_STARTS_FROM_LETTER=[:letter:]([a-zA-Z_0-9]|:|\\|"/"|\.|-)* LITERAL_STARTS_FROM_DIGIT=[:digit:]([a-zA-Z_0-9]|:|\\|"/"|\.|-)* @@ -30,7 +29,7 @@ LONG_OPTION_NAME_TOKEN=--[:letter:](-|[a-zA-Z_0-9])* %% { - {WHITE_SPACE} { return com.intellij.psi.TokenType.WHITE_SPACE; } + {WHITE_SPACE} { return WHITE_SPACE; } "=" { return EQ; } @@ -40,5 +39,6 @@ LONG_OPTION_NAME_TOKEN=--[:letter:](-|[a-zA-Z_0-9])* {SHORT_OPTION_NAME_TOKEN} { return SHORT_OPTION_NAME_TOKEN; } {LONG_OPTION_NAME_TOKEN} { return LONG_OPTION_NAME_TOKEN; } - [^] { return com.intellij.psi.TokenType.BAD_CHARACTER; } } + +[^] { return BAD_CHARACTER; }