diff --git a/src/main/gen/com/amazon/ion/plugin/intellij/IonLexer.java b/src/main/gen/com/amazon/ion/plugin/intellij/IonLexer.java
index 3f3c3a3..633b356 100644
--- a/src/main/gen/com/amazon/ion/plugin/intellij/IonLexer.java
+++ b/src/main/gen/com/amazon/ion/plugin/intellij/IonLexer.java
@@ -1,20 +1,16 @@
-/* The following code was generated by JFlex 1.7.0 tweaked for IntelliJ platform */
+// Generated by JFlex 1.9.2 http://jflex.de/ (tweaked for IntelliJ platform)
+// source: Ion.flex
package com.amazon.ion.plugin.intellij;
-import com.intellij.lexer.FlexLexer;
import com.intellij.psi.tree.IElementType;
import com.amazon.ion.plugin.intellij.psi.IonTypes;
+import com.intellij.lexer.FlexLexer;
import com.intellij.psi.TokenType;
import static com.amazon.ion.plugin.intellij.helpers.ContentCorrectnessHelper.*;
-/**
- * This class is a scanner generated by
- * JFlex 1.7.0
- * from the specification file Ion.flex
- */
public class IonLexer implements FlexLexer {
/** This character denotes the end of file */
@@ -41,73 +37,111 @@ public class IonLexer implements FlexLexer {
* at the beginning of a line
* l is of the form l = 2*k, k a non negative integer
*/
- private static final int ZZ_LEXSTATE[] = {
+ private static final int ZZ_LEXSTATE[] = {
0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7,
8, 8, 9, 9
};
- /**
- * Translates characters to character classes
- * Chosen bits are [9, 6, 6]
- * Total runtime size is 1568 bytes
+ /**
+ * Top-level table for translating characters to character classes
*/
- public static int ZZ_CMAP(int ch) {
- return ZZ_CMAP_A[(ZZ_CMAP_Y[ZZ_CMAP_Z[ch>>12]|((ch>>6)&0x3f)]<<6)|(ch&0x3f)];
+ private static final int [] ZZ_CMAP_TOP = zzUnpackcmap_top();
+
+ private static final String ZZ_CMAP_TOP_PACKED_0 =
+ "\1\0\37\u0100\1\u0200\267\u0100\10\u0300\u1020\u0100";
+
+ private static int [] zzUnpackcmap_top() {
+ int [] result = new int[4352];
+ int offset = 0;
+ offset = zzUnpackcmap_top(ZZ_CMAP_TOP_PACKED_0, offset, result);
+ return result;
+ }
+
+ private static int zzUnpackcmap_top(String packed, int offset, int [] result) {
+ int i = 0; /* index in packed string */
+ int j = offset; /* index in unpacked array */
+ int l = packed.length();
+ while (i < l) {
+ int count = packed.charAt(i++);
+ int value = packed.charAt(i++);
+ do result[j++] = value; while (--count > 0);
+ }
+ return j;
}
- /* The ZZ_CMAP_Z table has 272 entries */
- static final char ZZ_CMAP_Z[] = zzUnpackCMap(
- "\1\0\1\100\1\200\u010d\100");
- /* The ZZ_CMAP_Y table has 192 entries */
- static final char ZZ_CMAP_Y[] = zzUnpackCMap(
- "\1\0\1\1\1\2\175\3\1\4\77\3");
+ /**
+ * Second-level tables for translating characters to character classes
+ */
+ private static final int [] ZZ_CMAP_BLOCKS = zzUnpackcmap_blocks();
+
+ private static final String ZZ_CMAP_BLOCKS_PACKED_0 =
+ "\11\0\1\1\1\2\1\3\1\1\1\2\22\0\1\4"+
+ "\1\5\1\6\1\5\1\7\1\5\1\10\1\11\1\12"+
+ "\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22"+
+ "\1\23\10\24\1\25\1\5\1\26\1\27\1\30\2\5"+
+ "\3\31\1\32\1\33\1\31\15\34\1\35\5\34\1\36"+
+ "\1\37\1\40\1\41\1\5\1\42\1\5\1\43\1\44"+
+ "\1\45\1\46\1\47\1\50\1\51\1\34\1\52\2\34"+
+ "\1\53\1\54\1\55\1\56\1\57\1\34\1\60\1\61"+
+ "\1\62\1\63\2\34\1\64\1\65\1\34\1\66\1\67"+
+ "\1\70\1\5\6\0\1\3\u01a2\0\2\3\326\0\u0100\3";
+
+ private static int [] zzUnpackcmap_blocks() {
+ int [] result = new int[1024];
+ int offset = 0;
+ offset = zzUnpackcmap_blocks(ZZ_CMAP_BLOCKS_PACKED_0, offset, result);
+ return result;
+ }
- /* The ZZ_CMAP_A table has 320 entries */
- static final char ZZ_CMAP_A[] = zzUnpackCMap(
- "\11\0\1\2\1\1\1\67\1\2\1\1\22\0\1\2\1\27\1\64\1\27\1\26\1\27\1\25\1\63\1\14"+
- "\1\15\1\4\1\17\1\7\1\20\1\30\1\3\1\54\1\60\10\6\1\16\1\27\1\22\1\21\1\23\2"+
- "\27\3\55\1\56\1\57\1\55\15\61\1\65\5\61\1\66\1\12\1\62\1\13\1\27\1\5\1\27"+
- "\1\36\1\42\1\46\1\45\1\34\1\35\1\51\1\61\1\44\2\61\1\37\1\47\1\41\1\43\1\50"+
- "\1\61\1\32\1\40\1\31\1\33\2\61\1\53\1\52\1\61\1\10\1\24\1\11\1\27\6\0\1\67"+
- "\242\0\2\67\26\0");
+ private static int zzUnpackcmap_blocks(String packed, int offset, int [] result) {
+ int i = 0; /* index in packed string */
+ int j = offset; /* index in unpacked array */
+ int l = packed.length();
+ while (i < l) {
+ int count = packed.charAt(i++);
+ int value = packed.charAt(i++);
+ do result[j++] = value; while (--count > 0);
+ }
+ return j;
+ }
- /**
+ /**
* Translates DFA states to action switch labels.
*/
private static final int [] ZZ_ACTION = zzUnpackAction();
private static final String ZZ_ACTION_PACKED_0 =
- "\12\0\1\1\1\2\1\1\1\3\1\4\1\5\1\6"+
- "\1\7\1\10\3\1\3\3\1\4\1\11\1\12\1\13"+
- "\1\14\1\15\1\16\1\14\1\17\1\20\1\21\1\22"+
- "\1\23\1\24\1\25\2\1\3\21\1\22\1\26\1\27"+
- "\2\14\1\30\1\31\2\32\1\33\10\32\1\34\1\35"+
- "\1\34\1\1\2\34\1\1\1\2\1\3\1\4\1\5"+
- "\1\6\1\7\1\10\3\1\3\3\1\4\1\11\1\12"+
- "\1\0\2\36\1\37\2\40\1\41\1\42\1\0\1\4"+
- "\1\43\1\0\1\43\1\44\1\45\1\0\2\4\4\3"+
- "\3\0\1\46\1\14\1\0\1\22\1\47\1\0\1\47"+
- "\1\50\1\0\2\22\4\21\2\0\1\14\1\0\4\34"+
- "\1\51\1\34\1\0\1\4\1\43\1\0\1\43\1\44"+
- "\1\45\1\0\2\4\4\3\5\0\1\4\2\43\1\0"+
- "\1\43\1\0\3\3\1\43\1\52\1\53\1\54\1\14"+
- "\1\55\1\22\2\47\1\0\1\47\1\0\3\21\1\47"+
- "\1\56\1\57\1\14\1\60\5\34\1\0\1\4\2\43"+
- "\1\0\1\43\1\0\3\3\1\43\1\52\1\53\1\61"+
- "\1\0\1\42\1\4\1\0\1\43\1\62\1\63\1\14"+
- "\1\22\1\0\1\47\1\64\1\65\1\14\2\34\1\66"+
- "\1\4\1\0\1\43\1\62\1\63\1\66\1\42\1\0"+
- "\1\67\2\0\1\70\1\0\2\14\2\34\1\0\1\67"+
- "\1\0\1\66\26\0\2\14\1\34\45\0\2\14\1\34"+
- "\26\0\1\63\12\0\1\65\1\0\1\14\11\0\1\63"+
- "\15\0\1\14\6\0\2\67\3\0\2\70\3\0\1\14"+
- "\2\67\5\0\1\67\3\0\1\70\3\0\1\67\12\0"+
- "\1\67\1\0\1\70\1\0\1\67\7\0\1\67\1\0"+
- "\1\70\1\0\1\67\1\0";
+ "\12\0\1\1\1\2\1\3\1\4\1\5\1\6\1\1"+
+ "\1\7\2\1\2\10\1\1\1\11\3\4\1\12\1\13"+
+ "\1\14\1\15\1\16\1\17\1\15\1\20\1\21\1\22"+
+ "\1\23\1\24\2\1\2\25\1\26\3\22\1\27\2\15"+
+ "\1\30\1\31\1\15\3\32\1\33\7\32\1\34\4\35"+
+ "\2\1\1\2\1\0\1\3\1\4\1\5\1\6\1\1"+
+ "\1\7\1\1\2\10\1\1\1\11\3\4\1\12\1\36"+
+ "\1\37\1\36\1\40\1\41\1\40\2\0\2\10\1\0"+
+ "\1\42\1\43\1\10\1\43\3\0\1\44\4\4\1\45"+
+ "\1\0\1\46\1\15\2\0\2\25\1\47\1\25\1\47"+
+ "\2\0\4\22\1\50\1\0\1\15\5\35\1\51\3\0"+
+ "\2\10\1\43\1\10\1\43\3\0\1\44\4\4\1\45"+
+ "\1\52\3\0\1\43\1\10\1\43\1\0\1\43\1\53"+
+ "\1\54\1\4\1\43\2\4\1\55\1\15\1\56\1\0"+
+ "\1\47\1\25\1\47\1\0\1\47\1\57\1\22\1\47"+
+ "\2\22\1\60\1\15\5\35\1\0\1\61\1\0\1\43"+
+ "\1\10\1\43\1\0\1\43\1\53\1\54\1\4\1\43"+
+ "\2\4\1\43\1\0\1\42\1\10\1\0\1\62\1\63"+
+ "\1\15\1\47\1\25\1\0\1\64\1\65\1\15\2\35"+
+ "\2\66\1\43\1\10\1\0\1\62\1\63\1\42\1\0"+
+ "\1\67\2\0\1\70\1\0\2\15\2\35\1\66\1\0"+
+ "\1\67\27\0\2\15\1\35\45\0\2\15\1\35\23\0"+
+ "\1\62\12\0\1\64\4\0\1\15\6\0\1\62\20\0"+
+ "\1\15\6\0\2\67\3\0\2\70\3\0\1\15\2\67"+
+ "\5\0\1\67\3\0\1\70\3\0\1\67\13\0\1\67"+
+ "\1\0\1\70\1\0\1\67\7\0\1\67\1\0\1\70"+
+ "\1\0\1\67";
private static int [] zzUnpackAction() {
- int [] result = new int[427];
+ int [] result = new int[428];
int offset = 0;
offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
return result;
@@ -126,69 +160,69 @@ private static int zzUnpackAction(String packed, int offset, int [] result) {
}
- /**
+ /**
* Translates a state to a row index in the transition table
*/
private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
private static final String ZZ_ROWMAP_PACKED_0 =
- "\0\0\0\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\u0230"+
- "\0\u0348\0\u0230\0\u0230\0\u0380\0\u03b8\0\u03f0\0\u0428\0\u0460"+
- "\0\u0498\0\u04d0\0\u0508\0\u0230\0\u0230\0\u0540\0\u0230\0\u0578"+
- "\0\u05b0\0\u05e8\0\u0230\0\u0620\0\u0658\0\u0690\0\u0230\0\u0230"+
- "\0\u06c8\0\u0700\0\u0738\0\u0770\0\u07a8\0\u07e0\0\u0818\0\u0230"+
- "\0\u0850\0\u0888\0\u08c0\0\u0230\0\u02a0\0\u0230\0\u0230\0\u08f8"+
- "\0\u0930\0\u0968\0\u09a0\0\u09d8\0\u0a10\0\u02d8\0\u0a48\0\u0a80"+
- "\0\u0ab8\0\u0af0\0\u0b28\0\u0b60\0\u0b98\0\u0bd0\0\u0c08\0\u0c40"+
- "\0\u0c78\0\u0bd0\0\u0cb0\0\u0bd0\0\u0bd0\0\u0ce8\0\u0d20\0\u0d58"+
- "\0\u0d90\0\u0dc8\0\u0e00\0\u0e38\0\u0e70\0\u0bd0\0\u0bd0\0\u0ea8"+
- "\0\u0ee0\0\u0230\0\u0f18\0\u0f50\0\u0508\0\u0f88\0\u0fc0\0\u0ff8"+
- "\0\u1030\0\u1068\0\u10a0\0\u0230\0\u0230\0\u10d8\0\u1110\0\u1148"+
- "\0\u1180\0\u11b8\0\u11f0\0\u1228\0\u1260\0\u1298\0\u12d0\0\u0230"+
- "\0\u1308\0\u1340\0\u1378\0\u13b0\0\u13e8\0\u1420\0\u0230\0\u1458"+
- "\0\u1490\0\u14c8\0\u1500\0\u1538\0\u1570\0\u15a8\0\u15e0\0\u1618"+
- "\0\u1650\0\u1688\0\u16c0\0\u16f8\0\u1730\0\u1768\0\u0230\0\u17a0"+
- "\0\u17d8\0\u1810\0\u1848\0\u1880\0\u18b8\0\u0bd0\0\u0bd0\0\u18f0"+
- "\0\u1928\0\u1960\0\u1998\0\u19d0\0\u1a08\0\u1a40\0\u1a78\0\u1ab0"+
- "\0\u1ae8\0\u1b20\0\u1b58\0\u1b90\0\u1bc8\0\u1c00\0\u1c38\0\u1c70"+
- "\0\u1ca8\0\u1ce0\0\u1d18\0\u1d50\0\u02d8\0\u1260\0\u1298\0\u0230"+
- "\0\u1d88\0\u0230\0\u1dc0\0\u1df8\0\u1e30\0\u1e68\0\u1ea0\0\u1ed8"+
- "\0\u1f10\0\u1f48\0\u1f80\0\u0620\0\u15e0\0\u0230\0\u1fb8\0\u0230"+
- "\0\u1ff0\0\u2028\0\u2060\0\u2098\0\u20d0\0\u2108\0\u2140\0\u2178"+
- "\0\u21b0\0\u21e8\0\u2220\0\u2258\0\u2290\0\u22c8\0\u2300\0\u0c40"+
- "\0\u1a78\0\u1ab0\0\u2338\0\u2370\0\u1b20\0\u23a8\0\u1c00\0\u0230"+
- "\0\u02d8\0\u23e0\0\u2418\0\u2450\0\u1e30\0\u0230\0\u0620\0\u2488"+
- "\0\u24c0\0\u24f8\0\u2530\0\u2338\0\u2568\0\u21b0\0\u0bd0\0\u0c40"+
- "\0\u25a0\0\u25d8\0\u0230\0\u2610\0\u2648\0\u2680\0\u26b8\0\u26f0"+
- "\0\u2728\0\u2760\0\u2798\0\u27d0\0\u2808\0\u2840\0\u2878\0\u28b0"+
- "\0\u0230\0\u28e8\0\u2920\0\u2958\0\u2990\0\u29c8\0\u2a00\0\u2a38"+
- "\0\u2a70\0\u2aa8\0\u2ae0\0\u2b18\0\u2b50\0\u2b88\0\u2bc0\0\u2bf8"+
- "\0\u2c30\0\u2c68\0\u2ca0\0\u2cd8\0\u2d10\0\u2d48\0\u2d80\0\u2db8"+
- "\0\u2df0\0\u2e28\0\u2e60\0\u2e98\0\u2ed0\0\u2f08\0\u2f40\0\u2f78"+
- "\0\u2fb0\0\u2fe8\0\u3020\0\u3058\0\u3090\0\u30c8\0\u3100\0\u3138"+
- "\0\u3170\0\u31a8\0\u31e0\0\u3218\0\u3250\0\u3288\0\u32c0\0\u32f8"+
- "\0\u3330\0\u3368\0\u33a0\0\u33d8\0\u3410\0\u3448\0\u3480\0\u34b8"+
- "\0\u34f0\0\u3528\0\u3560\0\u3598\0\u35d0\0\u3608\0\u3640\0\u3678"+
- "\0\u36b0\0\u36e8\0\u3720\0\u3758\0\u3790\0\u37c8\0\u3800\0\u3838"+
- "\0\u3870\0\u38a8\0\u38e0\0\u3918\0\u3950\0\u3988\0\u39c0\0\u39f8"+
- "\0\u3a30\0\u3a68\0\u3aa0\0\u3ad8\0\u3b10\0\u3b48\0\u3b80\0\u3bb8"+
- "\0\u0230\0\u3bf0\0\u3c28\0\u3c60\0\u3c98\0\u3cd0\0\u3d08\0\u3d40"+
- "\0\u3d78\0\u3db0\0\u3de8\0\u0230\0\u3e20\0\u3e58\0\u3e90\0\u3ec8"+
- "\0\u3f00\0\u3f38\0\u3f70\0\u3fa8\0\u3fe0\0\u4018\0\u4050\0\u0bd0"+
- "\0\u4088\0\u40c0\0\u40f8\0\u4130\0\u4168\0\u41a0\0\u41d8\0\u4210"+
- "\0\u4248\0\u4280\0\u42b8\0\u42f0\0\u4328\0\u4360\0\u4398\0\u43d0"+
- "\0\u4408\0\u4440\0\u4478\0\u44b0\0\u44e8\0\u4520\0\u4558\0\u4590"+
- "\0\u45c8\0\u4600\0\u4638\0\u4670\0\u46a8\0\u46e0\0\u4718\0\u4750"+
- "\0\u4788\0\u47c0\0\u47f8\0\u4830\0\u4868\0\u48a0\0\u0230\0\u48d8"+
- "\0\u4910\0\u4948\0\u0230\0\u4980\0\u49b8\0\u49f0\0\u0bd0\0\u4a28"+
- "\0\u4a60\0\u4a98\0\u4ad0\0\u4b08\0\u4b40\0\u4b78\0\u4bb0\0\u4be8"+
- "\0\u4c20\0\u4c58\0\u4c90\0\u4cc8\0\u4d00\0\u4d38\0\u4d70\0\u4da8"+
- "\0\u4de0\0\u4e18\0\u4e50\0\u4e88\0\u4ec0\0\u4ef8\0\u4f30\0\u4f68"+
- "\0\u4fa0\0\u4fd8\0\u5010";
+ "\0\0\0\71\0\162\0\253\0\344\0\u011d\0\u0156\0\u018f"+
+ "\0\u01c8\0\u0201\0\u023a\0\u0273\0\u023a\0\u02ac\0\u02e5\0\u023a"+
+ "\0\u031e\0\u023a\0\u0357\0\u0390\0\u03c9\0\u0402\0\u043b\0\u023a"+
+ "\0\u0474\0\u04ad\0\u04e6\0\u051f\0\u023a\0\u023a\0\u0558\0\u0591"+
+ "\0\u05ca\0\u0603\0\u023a\0\u023a\0\u063c\0\u0675\0\u023a\0\u06ae"+
+ "\0\u06e7\0\u0720\0\u0759\0\u023a\0\u0792\0\u07cb\0\u0804\0\u083d"+
+ "\0\u0876\0\u08af\0\u023a\0\u08e8\0\u0921\0\u023a\0\u02ac\0\u095a"+
+ "\0\u023a\0\u0993\0\u09cc\0\u0a05\0\u0390\0\u0a3e\0\u0a77\0\u0ab0"+
+ "\0\u0ae9\0\u0b22\0\u0b5b\0\u0b94\0\u0bcd\0\u0c06\0\u0c3f\0\u0c78"+
+ "\0\u0c3f\0\u0c3f\0\u0cb1\0\u0cea\0\u0c3f\0\u0d23\0\u0c3f\0\u0d5c"+
+ "\0\u0d95\0\u0dce\0\u0e07\0\u0c3f\0\u0e40\0\u0e79\0\u0eb2\0\u0eeb"+
+ "\0\u0f24\0\u023a\0\u0f5d\0\u0f96\0\u02e5\0\u0fcf\0\u1008\0\u1041"+
+ "\0\u107a\0\u10b3\0\u10ec\0\u1125\0\u115e\0\u1197\0\u11d0\0\u1209"+
+ "\0\u1242\0\u127b\0\u023a\0\u12b4\0\u12ed\0\u1326\0\u135f\0\u023a"+
+ "\0\u1398\0\u023a\0\u13d1\0\u140a\0\u1443\0\u147c\0\u14b5\0\u14ee"+
+ "\0\u1527\0\u1560\0\u1599\0\u15d2\0\u160b\0\u1644\0\u167d\0\u16b6"+
+ "\0\u023a\0\u16ef\0\u1728\0\u1761\0\u179a\0\u17d3\0\u180c\0\u1845"+
+ "\0\u023a\0\u187e\0\u18b7\0\u18f0\0\u1929\0\u1962\0\u199b\0\u19d4"+
+ "\0\u1a0d\0\u1a46\0\u1a7f\0\u1ab8\0\u0c3f\0\u1af1\0\u1b2a\0\u1b63"+
+ "\0\u1b9c\0\u0c3f\0\u023a\0\u1bd5\0\u1c0e\0\u1c47\0\u1c80\0\u1cb9"+
+ "\0\u1cf2\0\u1d2b\0\u1d64\0\u1242\0\u127b\0\u1d9d\0\u02ac\0\u1dd6"+
+ "\0\u1e0f\0\u023a\0\u1e48\0\u023a\0\u1e81\0\u1eba\0\u1ef3\0\u1f2c"+
+ "\0\u1f65\0\u1f9e\0\u15d2\0\u1fd7\0\u063c\0\u2010\0\u2049\0\u023a"+
+ "\0\u2082\0\u20bb\0\u20f4\0\u212d\0\u2166\0\u219f\0\u21d8\0\u2211"+
+ "\0\u224a\0\u2283\0\u22bc\0\u22f5\0\u232e\0\u2367\0\u1a7f\0\u1ab8"+
+ "\0\u23a0\0\u0cb1\0\u23d9\0\u2412\0\u023a\0\u244b\0\u1c0e\0\u2484"+
+ "\0\u1d64\0\u24bd\0\u02ac\0\u24f6\0\u023a\0\u252f\0\u1f9e\0\u2568"+
+ "\0\u063c\0\u25a1\0\u25da\0\u2613\0\u2211\0\u264c\0\u0c3f\0\u2685"+
+ "\0\u2367\0\u26be\0\u0cb1\0\u023a\0\u26f7\0\u2730\0\u2769\0\u27a2"+
+ "\0\u27db\0\u2814\0\u284d\0\u2886\0\u28bf\0\u28f8\0\u023a\0\u2931"+
+ "\0\u296a\0\u29a3\0\u29dc\0\u2a15\0\u2a4e\0\u2a87\0\u2ac0\0\u2af9"+
+ "\0\u2b32\0\u2b6b\0\u2ba4\0\u2bdd\0\u2c16\0\u2c4f\0\u2c88\0\u2cc1"+
+ "\0\u2cfa\0\u2d33\0\u2d6c\0\u2da5\0\u2dde\0\u2e17\0\u2e50\0\u2e89"+
+ "\0\u2ec2\0\u2efb\0\u2f34\0\u2f6d\0\u2fa6\0\u2fdf\0\u3018\0\u3051"+
+ "\0\u308a\0\u30c3\0\u30fc\0\u3135\0\u316e\0\u31a7\0\u31e0\0\u3219"+
+ "\0\u3252\0\u328b\0\u32c4\0\u32fd\0\u3336\0\u336f\0\u33a8\0\u33e1"+
+ "\0\u341a\0\u3453\0\u348c\0\u34c5\0\u34fe\0\u3537\0\u3570\0\u35a9"+
+ "\0\u35e2\0\u361b\0\u3654\0\u368d\0\u36c6\0\u36ff\0\u3738\0\u3771"+
+ "\0\u37aa\0\u37e3\0\u381c\0\u3855\0\u388e\0\u38c7\0\u3900\0\u3939"+
+ "\0\u3972\0\u39ab\0\u39e4\0\u3a1d\0\u3a56\0\u3a8f\0\u3ac8\0\u3b01"+
+ "\0\u3b3a\0\u3b73\0\u3bac\0\u3be5\0\u3c1e\0\u3c57\0\u023a\0\u3c90"+
+ "\0\u3cc9\0\u3d02\0\u3d3b\0\u3d74\0\u3dad\0\u3de6\0\u3e1f\0\u3e58"+
+ "\0\u3e91\0\u023a\0\u3eca\0\u3f03\0\u3f3c\0\u3f75\0\u3fae\0\u3fe7"+
+ "\0\u4020\0\u4059\0\u4092\0\u40cb\0\u4104\0\u0c3f\0\u413d\0\u4176"+
+ "\0\u41af\0\u41e8\0\u4221\0\u425a\0\u4293\0\u42cc\0\u4305\0\u433e"+
+ "\0\u4377\0\u43b0\0\u43e9\0\u4422\0\u445b\0\u4494\0\u44cd\0\u4506"+
+ "\0\u453f\0\u4578\0\u45b1\0\u45ea\0\u4623\0\u465c\0\u4695\0\u46ce"+
+ "\0\u4707\0\u4740\0\u4779\0\u47b2\0\u47eb\0\u4824\0\u485d\0\u4896"+
+ "\0\u48cf\0\u4908\0\u4941\0\u497a\0\u49b3\0\u49ec\0\u4a25\0\u023a"+
+ "\0\u4a5e\0\u4a97\0\u4ad0\0\u023a\0\u4b09\0\u4b42\0\u4b7b\0\u0c3f"+
+ "\0\u4bb4\0\u4bed\0\u4c26\0\u4c5f\0\u4c98\0\u4cd1\0\u4d0a\0\u4d43"+
+ "\0\u4d7c\0\u4db5\0\u4dee\0\u4e27\0\u4e60\0\u4e99\0\u4ed2\0\u4f0b"+
+ "\0\u4f44\0\u4f7d\0\u4fb6\0\u4fef\0\u5028\0\u5061\0\u509a\0\u50d3"+
+ "\0\u510c\0\u5145\0\u517e\0\u51b7";
private static int [] zzUnpackRowMap() {
- int [] result = new int[427];
+ int [] result = new int[428];
int offset = 0;
offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
return result;
@@ -197,7 +231,7 @@ private static int zzUnpackAction(String packed, int offset, int [] result) {
private static int zzUnpackRowMap(String packed, int offset, int [] result) {
int i = 0; /* index in packed string */
int j = offset; /* index in unpacked array */
- int l = packed.length();
+ int l = packed.length() - 1;
while (i < l) {
int high = packed.charAt(i++) << 16;
result[j++] = high | packed.charAt(i++);
@@ -205,370 +239,319 @@ private static int zzUnpackRowMap(String packed, int offset, int [] result) {
return j;
}
- /**
+ /**
* The transition table of the DFA
*/
- private static final int [] ZZ_TRANS = zzUnpackTrans();
+ private static final int [] ZZ_TRANS = zzUnpacktrans();
private static final String ZZ_TRANS_PACKED_0 =
- "\1\13\2\14\1\15\1\13\1\16\1\17\1\20\1\21"+
- "\1\13\1\22\1\13\1\23\1\13\1\24\1\25\1\26"+
- "\5\13\1\16\2\13\1\27\3\16\1\30\3\16\1\31"+
- "\12\16\1\32\3\16\1\17\1\16\1\13\1\33\1\34"+
- "\2\16\1\0\1\13\2\14\1\15\1\13\1\16\1\17"+
- "\1\20\1\21\1\13\1\22\1\35\1\23\1\13\1\24"+
- "\1\25\1\26\5\13\1\16\2\13\1\27\3\16\1\30"+
- "\3\16\1\31\12\16\1\32\3\16\1\17\1\16\1\13"+
- "\1\33\1\34\2\16\1\0\1\13\2\14\1\15\1\13"+
- "\1\36\1\17\1\20\1\21\1\37\1\22\1\13\1\23"+
- "\1\13\1\40\1\25\1\26\5\13\1\36\2\13\10\36"+
- "\1\41\12\36\1\32\3\36\1\17\1\36\1\13\1\42"+
- "\1\43\2\36\1\0\1\13\2\14\2\13\1\44\1\45"+
- "\1\20\1\46\1\13\1\47\1\13\1\50\1\13\1\24"+
- "\1\51\1\52\5\13\1\44\2\13\1\53\3\44\1\54"+
- "\3\44\1\55\12\44\1\56\3\44\1\45\1\44\1\13"+
- "\1\57\1\60\2\44\1\0\1\61\2\14\3\61\1\62"+
- "\7\61\1\24\35\61\1\62\3\61\1\62\1\61\1\13"+
- "\1\63\1\64\3\61\1\13\2\14\1\65\1\66\1\16"+
- "\1\17\1\20\1\21\1\13\1\22\1\13\1\23\1\67"+
- "\1\24\1\70\1\71\1\66\1\72\1\73\1\74\1\75"+
- "\1\76\1\66\1\77\1\27\3\16\1\30\3\16\1\31"+
- "\12\16\1\32\3\16\1\17\1\16\1\13\1\33\1\34"+
- "\2\16\1\0\1\13\2\14\1\100\1\13\1\101\1\102"+
- "\1\20\1\21\1\103\1\22\1\13\1\23\1\13\1\24"+
- "\1\100\1\26\5\13\1\101\2\13\10\104\1\105\12\104"+
- "\1\102\3\104\1\102\1\104\1\13\1\33\1\34\2\104"+
- "\1\0\1\106\2\107\2\106\1\110\1\111\1\112\1\113"+
- "\1\106\1\114\1\106\1\115\1\106\1\116\1\117\1\120"+
- "\5\106\1\110\2\106\1\121\3\110\1\122\3\110\1\123"+
- "\12\110\1\124\3\110\1\111\1\110\1\106\1\125\1\126"+
- "\2\110\1\127\62\130\1\131\1\130\1\132\3\130\62\133"+
- "\1\134\1\135\4\133\71\0\2\14\70\0\1\136\1\137"+
- "\70\0\2\16\17\0\1\16\2\0\31\16\3\0\2\16"+
- "\7\0\1\140\21\0\1\141\3\0\1\142\10\0\1\143"+
- "\6\0\1\140\1\0\1\143\1\142\1\140\17\0\1\144"+
- "\75\0\1\145\115\0\1\146\31\0\1\147\35\0\1\146"+
- "\7\0\1\150\3\0\1\147\14\0\2\16\17\0\1\16"+
- "\2\0\1\16\1\151\27\16\3\0\2\16\6\0\2\16"+
- "\17\0\1\16\2\0\5\16\1\152\23\16\3\0\2\16"+
- "\6\0\2\16\17\0\1\16\2\0\2\16\1\153\2\16"+
- "\1\154\23\16\3\0\2\16\7\0\1\140\21\0\1\141"+
- "\3\0\1\142\5\0\1\155\2\0\1\143\5\0\1\156"+
- "\1\140\1\0\1\143\1\142\1\140\72\0\1\157\11\0"+
- "\2\36\17\0\1\36\2\0\31\36\3\0\2\36\17\0"+
- "\1\160\56\0\2\36\17\0\1\36\2\0\2\36\1\161"+
- "\26\36\3\0\2\36\64\0\1\162\11\0\2\44\17\0"+
- "\1\44\2\0\31\44\3\0\2\44\7\0\1\163\21\0"+
- "\1\164\3\0\1\165\10\0\1\166\6\0\1\163\1\0"+
- "\1\166\1\165\1\163\17\0\1\167\123\0\1\170\31\0"+
- "\1\171\35\0\1\170\7\0\1\172\3\0\1\171\14\0"+
- "\2\44\17\0\1\44\2\0\1\44\1\173\27\44\3\0"+
- "\2\44\6\0\2\44\17\0\1\44\2\0\5\44\1\174"+
- "\23\44\3\0\2\44\6\0\2\44\17\0\1\44\2\0"+
- "\2\44\1\175\2\44\1\176\23\44\3\0\2\44\7\0"+
- "\1\163\21\0\1\164\3\0\1\165\5\0\1\155\2\0"+
- "\1\166\5\0\1\177\1\163\1\0\1\166\1\165\1\163"+
- "\72\0\1\200\4\0\1\61\2\0\13\61\1\0\43\61"+
- "\3\0\4\61\2\0\3\61\1\201\7\61\1\0\35\61"+
- "\1\201\3\61\1\201\1\61\3\0\3\61\63\0\1\202"+
- "\23\0\1\66\24\0\1\146\31\0\1\147\11\0\1\66"+
- "\23\0\1\146\7\0\1\150\3\0\1\147\31\0\1\66"+
- "\70\0\1\66\70\0\1\66\70\0\1\66\72\0\1\66"+
- "\42\0\1\100\2\0\1\100\10\0\1\100\1\0\1\203"+
- "\7\0\31\100\3\0\2\100\6\0\2\101\17\0\1\101"+
- "\2\0\31\101\3\0\2\101\4\0\1\100\2\0\1\204"+
- "\10\0\1\100\1\0\1\203\6\0\1\141\3\100\1\205"+
- "\10\100\1\206\6\100\1\204\1\100\1\206\1\205\1\204"+
- "\1\100\3\0\2\100\12\0\1\207\61\0\1\100\1\0"+
- "\1\101\1\104\10\0\1\100\1\0\1\203\4\0\1\101"+
- "\2\0\31\104\3\0\2\104\4\0\1\100\1\0\1\101"+
- "\1\104\10\0\1\100\1\0\1\203\4\0\1\101\2\0"+
- "\2\104\1\210\26\104\3\0\2\104\1\0\63\127\1\211"+
- "\5\127\2\107\60\127\1\211\11\127\2\110\17\127\1\110"+
- "\2\127\31\110\1\127\1\211\1\127\2\110\7\127\1\212"+
- "\21\127\1\213\3\127\1\214\10\127\1\215\6\127\1\212"+
- "\1\127\1\215\1\214\1\212\2\127\1\211\14\127\1\216"+
- "\52\127\1\211\22\127\1\217\44\127\1\211\50\127\1\220"+
- "\16\127\1\211\12\127\1\221\35\127\1\220\7\127\1\222"+
- "\3\127\1\221\2\127\1\211\11\127\2\110\17\127\1\110"+
- "\2\127\1\110\1\223\27\110\1\127\1\211\1\127\2\110"+
- "\6\127\2\110\17\127\1\110\2\127\5\110\1\224\23\110"+
- "\1\127\1\211\1\127\2\110\6\127\2\110\17\127\1\110"+
- "\2\127\2\110\1\225\2\110\1\226\23\110\1\127\1\211"+
- "\1\127\2\110\7\127\1\212\21\127\1\213\3\127\1\214"+
- "\5\127\1\227\2\127\1\215\5\127\1\230\1\212\1\127"+
- "\1\215\1\214\1\212\2\127\1\211\67\127\1\231\4\127"+
- "\62\130\1\131\1\130\1\0\65\130\1\131\5\130\62\133"+
- "\1\134\1\0\66\133\1\134\5\133\1\136\1\0\66\136"+
- "\4\232\1\233\63\232\6\0\1\234\21\0\1\141\3\0"+
- "\1\142\10\0\1\143\6\0\1\234\1\0\1\143\1\142"+
- "\1\234\15\0\1\235\10\0\2\235\13\0\1\142\10\0"+
- "\1\142\6\0\1\235\1\0\2\142\1\235\15\0\1\236"+
- "\10\0\2\237\33\0\1\236\3\0\1\236\15\0\1\235"+
- "\10\0\2\240\13\0\1\142\10\0\1\142\6\0\1\235"+
- "\1\0\2\142\1\235\50\0\1\241\34\0\1\147\21\0"+
- "\1\141\3\0\1\142\10\0\1\143\6\0\1\147\1\0"+
- "\1\143\1\142\1\147\15\0\1\147\21\0\1\141\3\0"+
- "\1\142\10\0\1\143\5\0\1\156\1\147\1\0\1\143"+
- "\1\142\1\147\14\0\2\16\17\0\1\16\2\0\2\16"+
- "\1\242\26\16\3\0\2\16\6\0\2\16\17\0\1\16"+
- "\2\0\6\16\1\243\22\16\3\0\2\16\6\0\2\16"+
- "\17\0\1\16\2\0\6\16\1\244\22\16\3\0\2\16"+
- "\6\0\2\16\17\0\1\16\2\0\10\16\1\245\20\16"+
- "\3\0\2\16\55\0\1\246\3\0\1\246\15\0\1\247"+
- "\25\0\3\247\3\0\1\247\2\0\2\247\5\0\5\247"+
- "\72\0\1\250\11\0\2\36\17\0\1\36\2\0\6\36"+
- "\1\251\22\36\3\0\2\36\64\0\1\252\12\0\1\253"+
- "\21\0\1\164\3\0\1\165\10\0\1\166\6\0\1\253"+
- "\1\0\1\166\1\165\1\253\15\0\1\254\10\0\2\254"+
- "\13\0\1\165\10\0\1\165\6\0\1\254\1\0\2\165"+
- "\1\254\15\0\1\255\10\0\2\256\33\0\1\255\3\0"+
- "\1\255\15\0\1\254\10\0\2\257\13\0\1\165\10\0"+
- "\1\165\6\0\1\254\1\0\2\165\1\254\50\0\1\260"+
- "\34\0\1\171\21\0\1\164\3\0\1\165\10\0\1\166"+
- "\6\0\1\171\1\0\1\166\1\165\1\171\15\0\1\171"+
- "\21\0\1\164\3\0\1\165\10\0\1\166\5\0\1\177"+
- "\1\171\1\0\1\166\1\165\1\171\14\0\2\44\17\0"+
- "\1\44\2\0\2\44\1\261\26\44\3\0\2\44\6\0"+
- "\2\44\17\0\1\44\2\0\6\44\1\262\22\44\3\0"+
- "\2\44\6\0\2\44\17\0\1\44\2\0\6\44\1\263"+
- "\22\44\3\0\2\44\6\0\2\44\17\0\1\44\2\0"+
- "\10\44\1\264\20\44\3\0\2\44\7\0\1\265\25\0"+
- "\3\265\3\0\1\265\2\0\2\265\5\0\5\265\72\0"+
- "\1\266\4\0\1\61\2\0\3\61\1\267\7\61\1\0"+
- "\35\61\1\267\3\61\1\267\1\61\3\0\3\61\63\0"+
- "\1\270\25\0\1\203\51\0\1\100\2\0\1\271\10\0"+
- "\1\100\1\0\1\203\6\0\1\141\3\100\1\205\10\100"+
- "\1\206\6\100\1\271\1\100\1\206\1\205\1\271\1\100"+
- "\3\0\2\100\4\0\1\100\2\0\1\100\10\0\1\272"+
- "\1\237\1\203\7\0\31\100\3\0\2\100\4\0\1\100"+
- "\2\0\1\273\10\0\1\274\1\240\1\203\7\0\3\100"+
- "\1\205\10\100\1\205\6\100\1\273\1\100\2\205\1\273"+
- "\1\100\3\0\2\100\4\0\1\100\1\0\1\101\1\104"+
- "\10\0\1\100\1\0\1\203\4\0\1\101\2\0\6\104"+
- "\1\275\22\104\3\0\2\104\1\0\63\127\1\276\12\127"+
- "\1\277\21\127\1\213\3\127\1\214\10\127\1\215\6\127"+
- "\1\277\1\127\1\215\1\214\1\277\2\127\1\211\12\127"+
- "\1\300\10\127\2\300\13\127\1\214\10\127\1\214\6\127"+
- "\1\300\1\127\2\214\1\300\2\127\1\211\12\127\1\301"+
- "\10\127\2\302\33\127\1\301\3\127\1\301\2\127\1\211"+
- "\12\127\1\300\10\127\2\303\13\127\1\214\10\127\1\214"+
- "\6\127\1\300\1\127\2\214\1\300\2\127\1\211\45\127"+
- "\1\304\21\127\1\211\12\127\1\221\21\127\1\213\3\127"+
- "\1\214\10\127\1\215\6\127\1\221\1\127\1\215\1\214"+
- "\1\221\2\127\1\211\12\127\1\221\21\127\1\213\3\127"+
- "\1\214\10\127\1\215\5\127\1\230\1\221\1\127\1\215"+
- "\1\214\1\221\2\127\1\211\11\127\2\110\17\127\1\110"+
- "\2\127\2\110\1\305\26\110\1\127\1\211\1\127\2\110"+
- "\6\127\2\110\17\127\1\110\2\127\6\110\1\306\22\110"+
- "\1\127\1\211\1\127\2\110\6\127\2\110\17\127\1\110"+
- "\2\127\6\110\1\307\22\110\1\127\1\211\1\127\2\110"+
- "\6\127\2\110\17\127\1\110\2\127\10\110\1\310\20\110"+
- "\1\127\1\211\1\127\2\110\55\127\1\311\3\127\1\311"+
- "\2\127\1\211\12\127\1\312\25\127\3\312\3\127\1\312"+
- "\2\127\2\312\5\127\5\312\2\127\1\211\67\127\1\313"+
- "\4\127\4\232\1\314\66\232\1\315\1\314\63\232\6\0"+
- "\1\316\21\0\1\141\3\0\1\142\10\0\1\143\6\0"+
- "\1\316\1\0\1\143\1\142\1\316\15\0\1\235\25\0"+
- "\1\142\10\0\1\142\6\0\1\235\1\0\2\142\1\235"+
- "\15\0\1\236\45\0\1\236\3\0\1\236\15\0\1\236"+
- "\11\0\1\317\33\0\1\236\3\0\1\236\15\0\1\235"+
- "\11\0\1\317\13\0\1\142\10\0\1\142\6\0\1\235"+
- "\1\0\2\142\1\235\44\0\1\320\37\0\2\16\17\0"+
- "\1\16\2\0\3\16\1\321\25\16\3\0\2\16\6\0"+
- "\2\16\17\0\1\16\2\0\7\16\1\242\21\16\3\0"+
- "\2\16\6\0\2\16\17\0\1\16\2\0\6\16\1\322"+
- "\22\16\3\0\2\16\6\0\2\36\17\0\1\36\2\0"+
- "\6\36\1\323\22\36\3\0\2\36\7\0\1\324\21\0"+
- "\1\164\3\0\1\165\10\0\1\166\6\0\1\324\1\0"+
- "\1\166\1\165\1\324\15\0\1\254\25\0\1\165\10\0"+
- "\1\165\6\0\1\254\1\0\2\165\1\254\15\0\1\255"+
- "\45\0\1\255\3\0\1\255\15\0\1\255\11\0\1\325"+
- "\33\0\1\255\3\0\1\255\15\0\1\254\11\0\1\325"+
- "\13\0\1\165\10\0\1\165\6\0\1\254\1\0\2\165"+
- "\1\254\44\0\1\326\37\0\2\44\17\0\1\44\2\0"+
- "\3\44\1\327\25\44\3\0\2\44\6\0\2\44\17\0"+
- "\1\44\2\0\7\44\1\261\21\44\3\0\2\44\6\0"+
- "\2\44\17\0\1\44\2\0\6\44\1\330\22\44\3\0"+
- "\2\44\1\0\1\61\2\0\3\61\1\331\7\61\1\0"+
- "\35\61\1\331\3\61\1\331\1\61\3\0\3\61\3\0"+
- "\1\100\2\0\1\332\10\0\1\100\1\0\1\203\6\0"+
- "\1\141\3\100\1\205\10\100\1\206\6\100\1\332\1\100"+
- "\1\206\1\205\1\332\1\100\3\0\2\100\4\0\1\100"+
- "\2\0\1\100\10\0\1\100\1\317\1\203\7\0\31\100"+
- "\3\0\2\100\4\0\1\100\2\0\1\273\10\0\1\100"+
- "\1\0\1\203\7\0\3\100\1\205\10\100\1\205\6\100"+
- "\1\273\1\100\2\205\1\273\1\100\3\0\2\100\4\0"+
- "\1\100\2\0\1\273\10\0\1\100\1\317\1\203\7\0"+
- "\3\100\1\205\10\100\1\205\6\100\1\273\1\100\2\205"+
- "\1\273\1\100\3\0\2\100\4\0\1\100\1\0\1\101"+
- "\1\104\10\0\1\100\1\0\1\203\4\0\1\101\2\0"+
- "\6\104\1\333\22\104\3\0\2\104\1\0\63\127\1\334"+
- "\12\127\1\335\21\127\1\213\3\127\1\214\10\127\1\215"+
- "\6\127\1\335\1\127\1\215\1\214\1\335\2\127\1\211"+
- "\12\127\1\300\25\127\1\214\10\127\1\214\6\127\1\300"+
- "\1\127\2\214\1\300\2\127\1\211\12\127\1\301\45\127"+
- "\1\301\3\127\1\301\2\127\1\211\12\127\1\301\11\127"+
- "\1\336\33\127\1\301\3\127\1\301\2\127\1\211\12\127"+
- "\1\300\11\127\1\336\13\127\1\214\10\127\1\214\6\127"+
- "\1\300\1\127\2\214\1\300\2\127\1\211\41\127\1\337"+
- "\25\127\1\211\11\127\2\110\17\127\1\110\2\127\3\110"+
- "\1\340\25\110\1\127\1\211\1\127\2\110\6\127\2\110"+
- "\17\127\1\110\2\127\7\110\1\305\21\110\1\127\1\211"+
- "\1\127\2\110\6\127\2\110\17\127\1\110\2\127\6\110"+
- "\1\341\22\110\1\127\1\211\1\127\2\110\1\127\63\0"+
- "\1\342\4\0\3\232\1\343\1\314\63\232\6\0\1\147"+
- "\11\0\1\344\7\0\1\141\3\0\1\142\10\0\1\143"+
- "\6\0\1\147\1\0\1\143\1\142\1\147\4\0\1\345"+
- "\7\0\2\16\17\0\1\16\1\0\1\346\31\16\3\0"+
- "\2\16\6\0\2\36\17\0\1\36\1\0\1\346\31\36"+
- "\3\0\2\36\7\0\1\171\11\0\1\347\7\0\1\164"+
- "\3\0\1\165\10\0\1\166\6\0\1\171\1\0\1\166"+
- "\1\165\1\171\4\0\1\350\7\0\2\44\17\0\1\44"+
- "\1\0\1\351\31\44\3\0\2\44\1\0\1\61\2\0"+
- "\13\61\1\0\1\61\1\352\41\61\3\0\1\353\2\61"+
- "\3\0\1\100\2\0\1\354\10\0\1\100\1\344\1\203"+
- "\6\0\1\141\3\100\1\205\10\100\1\206\6\100\1\354"+
- "\1\100\1\206\1\205\1\354\1\100\3\0\1\355\1\100"+
- "\4\0\1\100\1\0\1\101\1\104\10\0\1\100\1\0"+
- "\1\203\4\0\1\101\1\0\1\346\31\104\3\0\2\104"+
- "\1\0\6\127\1\221\11\127\1\356\7\127\1\213\3\127"+
- "\1\214\10\127\1\215\6\127\1\221\1\127\1\215\1\214"+
- "\1\221\2\127\1\211\1\127\1\357\7\127\2\110\17\127"+
- "\1\110\1\127\1\360\31\110\1\127\1\211\1\127\2\110"+
- "\1\127\63\0\1\361\12\0\1\362\45\0\1\362\3\0"+
- "\1\362\15\0\1\363\45\0\1\363\3\0\1\363\40\0"+
- "\1\364\3\0\1\365\1\0\1\366\1\367\1\370\1\371"+
- "\1\0\1\372\1\373\1\374\27\0\1\375\45\0\1\375"+
- "\3\0\1\375\15\0\1\376\45\0\1\376\3\0\1\376"+
- "\40\0\1\377\3\0\1\u0100\1\0\1\u0101\1\u0102\1\u0103"+
- "\1\u0104\1\0\1\u0105\1\u0106\1\u0107\21\0\1\61\2\0"+
- "\3\61\1\u0108\7\61\1\0\35\61\1\u0108\3\61\1\u0108"+
- "\1\61\3\0\4\61\2\0\3\61\1\u0109\7\61\1\0"+
- "\35\61\1\u0109\3\61\1\u0109\1\61\3\0\3\61\3\0"+
- "\1\100\2\0\1\354\10\0\1\100\1\0\1\203\6\0"+
- "\1\141\3\100\1\205\10\100\1\206\6\100\1\354\1\100"+
- "\1\206\1\205\1\354\1\100\3\0\2\100\4\0\1\100"+
- "\2\0\1\u010a\10\0\1\100\1\0\1\203\7\0\23\100"+
- "\1\u010a\3\100\1\u010a\1\100\3\0\2\100\1\0\6\127"+
- "\1\u010b\45\127\1\u010b\3\127\1\u010b\2\127\1\211\12\127"+
- "\1\u010c\45\127\1\u010c\3\127\1\u010c\2\127\1\211\35\127"+
- "\1\u010d\3\127\1\u010e\1\127\1\u010f\1\u0110\1\u0111\1\u0112"+
- "\1\127\1\u0113\1\u0114\1\u0115\14\127\1\211\4\127\6\0"+
- "\1\u0116\45\0\1\u0116\3\0\1\u0116\15\0\1\u0117\45\0"+
- "\1\u0117\3\0\1\u0117\53\0\1\u0118\62\0\1\u0119\74\0"+
- "\1\u011a\54\0\1\u011b\2\0\1\u011c\15\0\1\u011d\50\0"+
- "\1\u011e\73\0\1\u011f\3\0\1\u0120\65\0\1\u0121\62\0"+
- "\1\u0122\72\0\1\u011f\36\0\1\u0123\45\0\1\u0123\3\0"+
- "\1\u0123\15\0\1\u0124\45\0\1\u0124\3\0\1\u0124\53\0"+
- "\1\u0125\62\0\1\u0126\74\0\1\u0127\54\0\1\u0128\2\0"+
- "\1\u0129\15\0\1\u012a\50\0\1\u012b\73\0\1\u012c\3\0"+
- "\1\u012d\65\0\1\u012e\62\0\1\u012f\72\0\1\u012c\30\0"+
- "\1\61\2\0\3\61\1\u0130\7\61\1\0\35\61\1\u0130"+
- "\3\61\1\u0130\1\61\3\0\4\61\2\0\3\61\1\u0131"+
- "\7\61\1\0\35\61\1\u0131\3\61\1\u0131\1\61\3\0"+
- "\3\61\3\0\1\100\2\0\1\u0132\10\0\1\100\1\0"+
- "\1\203\7\0\23\100\1\u0132\3\100\1\u0132\1\100\3\0"+
- "\2\100\1\0\6\127\1\u0133\45\127\1\u0133\3\127\1\u0133"+
- "\2\127\1\211\12\127\1\u0134\45\127\1\u0134\3\127\1\u0134"+
- "\2\127\1\211\50\127\1\u0135\16\127\1\211\43\127\1\u0136"+
- "\23\127\1\211\50\127\1\u0137\16\127\1\211\35\127\1\u0138"+
- "\2\127\1\u0139\15\127\1\u013a\10\127\1\211\37\127\1\u013b"+
- "\27\127\1\211\43\127\1\u013c\3\127\1\u013d\17\127\1\211"+
- "\45\127\1\u013e\21\127\1\211\40\127\1\u013f\26\127\1\211"+
- "\43\127\1\u013c\23\127\1\211\4\127\20\0\1\u0140\44\0"+
- "\1\345\20\0\1\u0141\120\0\1\u0142\63\0\1\u0143\64\0"+
- "\1\u0121\61\0\1\u0144\110\0\1\u0145\63\0\1\u0146\57\0"+
- "\1\u0147\73\0\1\u0148\67\0\1\u0147\55\0\1\u0149\104\0"+
- "\1\u014a\41\0\1\u014b\44\0\1\350\20\0\1\u014c\120\0"+
- "\1\u014d\63\0\1\u014e\64\0\1\u012e\61\0\1\u014f\110\0"+
- "\1\u0150\63\0\1\u0151\57\0\1\u0152\73\0\1\u0153\67\0"+
- "\1\u0152\55\0\1\u0154\104\0\1\u0155\21\0\1\61\2\0"+
- "\13\61\1\0\1\61\1\u0156\41\61\3\0\1\353\3\61"+
- "\2\0\13\61\1\u0141\43\61\3\0\3\61\3\0\1\100"+
- "\2\0\1\100\7\0\1\u0141\1\100\1\0\1\203\7\0"+
- "\31\100\3\0\2\100\1\0\20\127\1\u0157\42\127\1\211"+
- "\1\127\1\357\20\127\1\u0158\44\127\1\211\53\127\1\u0159"+
- "\13\127\1\211\47\127\1\u015a\17\127\1\211\44\127\1\u013e"+
- "\22\127\1\211\36\127\1\u015b\30\127\1\211\57\127\1\u015c"+
- "\7\127\1\211\53\127\1\u015d\13\127\1\211\43\127\1\u015e"+
- "\23\127\1\211\47\127\1\u015f\17\127\1\211\47\127\1\u015e"+
- "\17\127\1\211\35\127\1\u0160\31\127\1\211\52\127\1\u0161"+
- "\14\127\1\211\4\127\6\0\1\u0162\45\0\1\u0162\3\0"+
- "\1\u0162\15\0\1\u0163\45\0\1\u0163\3\0\1\u0163\43\0"+
- "\1\u0164\71\0\1\u0121\64\0\1\u0165\10\0\1\u0166\73\0"+
- "\1\u0149\61\0\1\u0120\64\0\1\u0149\72\0\1\u0149\71\0"+
- "\1\u0167\31\0\1\u0168\45\0\1\u0168\3\0\1\u0168\15\0"+
- "\1\u0169\45\0\1\u0169\3\0\1\u0169\43\0\1\u016a\71\0"+
- "\1\u012e\64\0\1\u016b\10\0\1\u016c\73\0\1\u0154\61\0"+
- "\1\u012d\64\0\1\u0154\72\0\1\u0154\71\0\1\u016d\23\0"+
- "\1\61\2\0\3\61\1\u016e\7\61\1\0\35\61\1\u016e"+
- "\3\61\1\u016e\1\61\3\0\3\61\6\127\1\u016f\45\127"+
- "\1\u016f\3\127\1\u016f\2\127\1\211\12\127\1\u0170\45\127"+
- "\1\u0170\3\127\1\u0170\2\127\1\211\40\127\1\u0171\26\127"+
- "\1\211\42\127\1\u013e\24\127\1\211\37\127\1\u0172\10\127"+
- "\1\u0173\16\127\1\211\54\127\1\u0160\12\127\1\211\46\127"+
- "\1\u013d\20\127\1\211\43\127\1\u0160\23\127\1\211\46\127"+
- "\1\u0160\20\127\1\211\50\127\1\u0174\16\127\1\211\4\127"+
- "\6\0\1\u0175\45\0\1\u0175\3\0\1\u0175\15\0\1\u0176"+
- "\45\0\1\u0176\3\0\1\u0176\47\0\1\u0177\75\0\1\u0121"+
- "\62\0\1\u0178\75\0\1\u0179\26\0\1\u017a\45\0\1\u017a"+
- "\3\0\1\u017a\15\0\1\u017b\45\0\1\u017b\3\0\1\u017b"+
- "\47\0\1\u017c\75\0\1\u012e\62\0\1\u017d\75\0\1\u017e"+
- "\20\0\1\61\2\0\3\61\1\u017f\7\61\1\0\35\61"+
- "\1\u017f\3\61\1\u017f\1\61\3\0\3\61\6\127\1\u0180"+
- "\45\127\1\u0180\3\127\1\u0180\2\127\1\211\12\127\1\u0181"+
- "\45\127\1\u0181\3\127\1\u0181\2\127\1\211\44\127\1\u0182"+
- "\22\127\1\211\52\127\1\u013e\14\127\1\211\45\127\1\u0183"+
- "\21\127\1\211\53\127\1\u0184\13\127\1\211\4\127\6\0"+
- "\1\363\45\0\1\363\3\0\1\363\4\0\1\345\20\0"+
- "\1\u0185\2\u0186\45\0\1\u0187\32\0\1\u0188\107\0\1\u0149"+
- "\54\0\1\u0147\37\0\1\376\45\0\1\376\3\0\1\376"+
- "\4\0\1\350\20\0\1\u0189\2\u018a\45\0\1\u018b\32\0"+
- "\1\u018c\107\0\1\u0154\54\0\1\u0152\31\0\1\61\2\0"+
- "\3\61\1\u0109\7\61\1\0\35\61\1\u0109\3\61\1\u0109"+
- "\1\61\3\0\1\353\2\61\6\127\1\u010c\45\127\1\u010c"+
- "\3\127\1\u010c\2\127\1\211\1\127\1\357\20\127\1\u018d"+
- "\2\u018e\42\127\1\211\2\127\1\u018f\32\127\1\u0190\31\127"+
- "\1\211\55\127\1\u0160\11\127\1\211\42\127\1\u015e\24\127"+
- "\1\211\4\127\6\0\1\u0191\45\0\1\u0191\3\0\1\u0191"+
- "\15\0\1\u0192\45\0\1\u0192\3\0\1\u0192\45\0\1\u0193"+
- "\37\0\1\u0194\45\0\1\u0194\3\0\1\u0194\15\0\1\u0195"+
- "\45\0\1\u0195\3\0\1\u0195\45\0\1\u0196\31\0\6\127"+
- "\1\u0197\45\127\1\u0197\3\127\1\u0197\2\127\1\211\12\127"+
- "\1\u0198\45\127\1\u0198\3\127\1\u0198\2\127\1\211\42\127"+
- "\1\u0199\24\127\1\211\4\127\6\0\1\u019a\45\0\1\u019a"+
- "\3\0\1\u019a\15\0\1\u019b\45\0\1\u019b\3\0\1\u019b"+
- "\56\0\1\u0145\26\0\1\u019c\45\0\1\u019c\3\0\1\u019c"+
- "\15\0\1\u019d\45\0\1\u019d\3\0\1\u019d\56\0\1\u0150"+
- "\20\0\6\127\1\u019e\45\127\1\u019e\3\127\1\u019e\2\127"+
- "\1\211\12\127\1\u019f\45\127\1\u019f\3\127\1\u019f\2\127"+
- "\1\211\53\127\1\u015c\13\127\1\211\4\127\17\0\2\u0186"+
- "\7\0\1\u01a0\35\0\1\u0187\17\0\1\u01a1\70\0\2\u018a"+
- "\7\0\1\u01a2\35\0\1\u018b\17\0\1\u01a3\51\0\17\127"+
- "\2\u018e\7\127\1\u01a4\32\127\1\211\2\127\1\u018f\17\127"+
- "\1\u01a5\44\127\1\211\4\127\6\0\1\u01a6\45\0\1\u01a6"+
- "\3\0\1\u01a6\15\0\1\u01a7\45\0\1\u01a7\3\0\1\u01a7"+
- "\15\0\1\u01a8\45\0\1\u01a8\3\0\1\u01a8\15\0\1\u01a9"+
- "\45\0\1\u01a9\3\0\1\u01a9\7\0\6\127\1\u01aa\45\127"+
- "\1\u01aa\3\127\1\u01aa\2\127\1\211\12\127\1\u01ab\45\127"+
- "\1\u01ab\3\127\1\u01ab\2\127\1\211\4\127\6\0\1\u01a6"+
- "\10\0\2\u0186\33\0\1\u01a6\3\0\1\u01a6\5\0\1\u0187"+
- "\7\0\1\u0187\45\0\1\u0187\3\0\1\u0187\15\0\1\u01a8"+
- "\10\0\2\u018a\33\0\1\u01a8\3\0\1\u01a8\5\0\1\u018b"+
- "\7\0\1\u018b\45\0\1\u018b\3\0\1\u018b\7\0\6\127"+
- "\1\u01aa\10\127\2\u018e\33\127\1\u01aa\3\127\1\u01aa\2\127"+
- "\1\211\2\127\1\u018f\7\127\1\u018f\45\127\1\u018f\3\127"+
- "\1\u018f\2\127\1\211\4\127";
-
- private static int [] zzUnpackTrans() {
- int [] result = new int[20552];
+ "\1\13\2\14\1\0\1\14\1\13\1\15\1\16\1\13"+
+ "\1\17\1\20\2\13\1\21\1\22\1\23\1\13\1\24"+
+ "\1\25\2\26\1\27\3\13\6\16\1\30\2\13\6\16"+
+ "\1\31\4\16\1\32\4\16\1\33\3\16\1\34\3\13"+
+ "\2\14\1\0\1\14\1\13\1\15\1\16\1\13\1\17"+
+ "\1\20\2\13\1\21\1\22\1\23\1\13\1\24\1\25"+
+ "\2\26\1\27\3\13\6\16\1\30\1\13\1\35\6\16"+
+ "\1\31\4\16\1\32\4\16\1\33\3\16\1\34\3\13"+
+ "\2\14\1\0\1\14\1\13\1\36\1\37\1\13\1\40"+
+ "\1\20\2\13\1\21\1\22\1\23\1\13\1\24\1\25"+
+ "\2\26\1\41\3\13\6\37\1\30\2\13\13\37\1\42"+
+ "\10\37\1\34\1\13\1\43\1\13\2\14\1\0\1\14"+
+ "\1\13\1\44\1\45\1\13\1\46\1\47\2\13\1\50"+
+ "\1\22\1\51\2\13\1\52\2\53\1\27\3\13\6\45"+
+ "\1\54\2\13\6\45\1\55\4\45\1\56\4\45\1\57"+
+ "\3\45\1\60\2\13\1\61\2\14\1\61\1\62\1\61"+
+ "\1\63\2\61\1\64\10\61\3\65\1\27\12\61\1\13"+
+ "\30\61\1\13\2\14\1\0\1\14\1\66\1\15\1\67"+
+ "\1\70\1\17\1\20\1\71\1\66\1\72\1\22\1\73"+
+ "\1\74\1\75\1\25\2\26\1\27\1\76\1\66\1\77"+
+ "\6\16\1\30\2\13\6\16\1\31\4\16\1\32\4\16"+
+ "\1\33\3\16\1\34\1\100\2\13\2\14\1\0\1\14"+
+ "\1\13\1\15\1\101\1\13\1\17\1\20\2\13\1\102"+
+ "\1\22\1\23\1\13\1\102\3\103\1\27\3\13\6\104"+
+ "\1\30\2\13\1\101\12\104\1\105\10\104\1\34\1\13"+
+ "\1\106\1\107\2\110\1\111\1\110\1\107\1\112\1\113"+
+ "\1\107\1\114\1\115\2\107\1\116\1\117\1\120\2\107"+
+ "\1\121\2\122\1\123\3\107\6\113\1\124\2\107\6\113"+
+ "\1\125\4\113\1\126\4\113\1\127\3\113\1\130\2\107"+
+ "\6\131\1\132\31\131\1\133\30\131\11\134\1\135\26\134"+
+ "\1\136\30\134\72\0\2\14\1\0\1\14\73\0\1\16"+
+ "\12\0\3\16\4\0\6\16\3\0\24\16\14\0\1\137"+
+ "\131\0\1\140\40\0\1\141\2\142\25\0\1\140\32\0"+
+ "\1\143\4\0\1\144\67\0\1\145\1\0\3\146\5\0"+
+ "\1\147\1\150\10\0\1\151\1\0\1\147\1\150\14\0"+
+ "\1\152\24\0\1\145\1\0\3\146\5\0\1\147\1\150"+
+ "\12\0\1\147\1\150\46\0\1\153\52\0\1\16\12\0"+
+ "\3\16\4\0\6\16\3\0\1\16\1\154\22\16\12\0"+
+ "\1\16\12\0\3\16\4\0\6\16\3\0\1\16\1\155"+
+ "\17\16\1\156\2\16\12\0\1\16\12\0\3\16\4\0"+
+ "\6\16\3\0\16\16\1\157\5\16\71\0\1\160\11\0"+
+ "\1\37\12\0\3\37\4\0\6\37\3\0\24\37\14\0"+
+ "\1\161\104\0\1\162\52\0\1\37\12\0\3\37\4\0"+
+ "\6\37\3\0\21\37\1\163\2\37\12\0\1\45\12\0"+
+ "\3\45\4\0\6\45\3\0\24\45\14\0\1\164\131\0"+
+ "\1\165\40\0\1\166\2\167\25\0\1\165\36\0\1\170"+
+ "\1\0\3\171\5\0\1\172\1\173\10\0\1\151\1\0"+
+ "\1\172\1\173\14\0\1\174\24\0\1\170\1\0\3\171"+
+ "\5\0\1\172\1\173\12\0\1\172\1\173\30\0\1\45"+
+ "\12\0\3\45\4\0\6\45\3\0\1\45\1\175\22\45"+
+ "\12\0\1\45\12\0\3\45\4\0\6\45\3\0\1\45"+
+ "\1\176\17\45\1\177\2\45\12\0\1\45\12\0\3\45"+
+ "\4\0\6\45\3\0\16\45\1\200\5\45\71\0\1\201"+
+ "\2\0\1\61\2\0\3\61\1\0\2\61\1\0\13\61"+
+ "\1\0\12\61\1\0\31\61\2\14\1\61\1\62\1\61"+
+ "\1\0\2\61\1\0\13\61\1\0\12\61\1\0\30\61"+
+ "\11\0\1\202\57\0\1\61\2\0\3\61\1\0\2\61"+
+ "\1\0\10\61\3\203\1\0\12\61\1\0\30\61\10\0"+
+ "\1\66\75\0\1\66\34\0\1\140\35\0\1\66\2\0"+
+ "\1\141\2\142\25\0\1\140\36\0\1\66\76\0\1\66"+
+ "\72\0\1\66\127\0\1\66\10\0\1\101\12\0\3\101"+
+ "\4\0\6\101\3\0\24\101\20\0\1\102\3\0\4\102"+
+ "\2\0\1\204\1\0\6\102\4\0\23\102\20\0\1\102"+
+ "\2\0\1\145\1\102\3\205\2\0\1\204\1\0\1\102"+
+ "\1\206\1\207\3\102\4\0\3\102\1\206\1\207\16\102"+
+ "\12\0\1\101\5\0\1\102\3\0\1\102\3\104\2\0"+
+ "\1\204\1\0\6\104\3\0\1\101\23\104\12\0\1\101"+
+ "\5\0\1\102\3\0\1\102\3\104\2\0\1\204\1\0"+
+ "\6\104\3\0\1\101\20\104\1\210\2\104\73\0\1\211"+
+ "\11\111\1\212\60\111\2\110\1\111\1\110\4\111\1\212"+
+ "\66\111\1\113\1\111\1\212\10\111\3\113\4\111\6\113"+
+ "\3\111\24\113\14\111\1\213\70\111\1\212\40\111\1\214"+
+ "\27\111\1\212\10\111\1\215\2\216\25\111\1\214\27\111"+
+ "\1\212\6\111\1\217\1\111\3\220\5\111\1\221\1\222"+
+ "\10\111\1\223\1\111\1\221\1\222\14\111\1\224\15\111"+
+ "\1\212\6\111\1\217\1\111\3\220\5\111\1\221\1\222"+
+ "\12\111\1\221\1\222\32\111\1\212\13\111\1\225\52\111"+
+ "\1\113\1\111\1\212\10\111\3\113\4\111\6\113\3\111"+
+ "\1\113\1\226\22\113\12\111\1\113\1\111\1\212\10\111"+
+ "\3\113\4\111\6\113\3\111\1\113\1\227\17\113\1\230"+
+ "\2\113\12\111\1\113\1\111\1\212\10\111\3\113\4\111"+
+ "\6\113\3\111\16\113\1\231\5\113\14\111\1\212\54\111"+
+ "\1\232\2\111\6\131\1\0\31\131\1\133\70\131\1\133"+
+ "\30\131\11\134\1\0\26\134\1\136\70\134\1\136\30\134"+
+ "\11\0\1\233\134\0\1\234\33\0\1\145\1\0\3\142"+
+ "\5\0\1\147\1\150\12\0\1\147\1\150\14\0\1\152"+
+ "\24\0\1\145\1\0\3\142\5\0\1\147\1\150\12\0"+
+ "\1\147\1\150\21\0\14\235\1\236\54\235\2\144\1\0"+
+ "\66\144\15\0\1\237\1\0\1\237\2\0\3\237\5\0"+
+ "\2\150\12\0\2\150\41\0\1\145\1\0\3\240\5\0"+
+ "\1\147\1\150\12\0\1\147\1\150\36\0\1\241\1\0"+
+ "\1\241\2\0\3\237\5\0\2\150\12\0\2\150\36\0"+
+ "\1\242\1\0\1\242\2\0\3\243\66\0\2\244\67\0"+
+ "\3\245\4\0\3\245\7\0\6\245\27\0\1\16\12\0"+
+ "\3\16\4\0\6\16\3\0\11\16\1\246\12\16\12\0"+
+ "\1\16\12\0\3\16\4\0\6\16\3\0\13\16\1\247"+
+ "\10\16\12\0\1\16\12\0\3\16\4\0\6\16\3\0"+
+ "\11\16\1\250\12\16\12\0\1\16\12\0\3\16\4\0"+
+ "\6\16\3\0\21\16\1\251\2\16\14\0\1\252\66\0"+
+ "\1\37\12\0\3\37\4\0\6\37\3\0\11\37\1\253"+
+ "\12\37\14\0\1\254\134\0\1\255\33\0\1\170\1\0"+
+ "\3\167\5\0\1\172\1\173\12\0\1\172\1\173\14\0"+
+ "\1\174\24\0\1\170\1\0\3\167\5\0\1\172\1\173"+
+ "\12\0\1\172\1\173\36\0\1\256\1\0\1\256\2\0"+
+ "\3\256\5\0\2\173\12\0\2\173\41\0\1\170\1\0"+
+ "\3\257\5\0\1\172\1\173\12\0\1\172\1\173\36\0"+
+ "\1\260\1\0\1\260\2\0\3\256\5\0\2\173\12\0"+
+ "\2\173\36\0\1\261\1\0\1\261\2\0\3\262\66\0"+
+ "\3\263\4\0\3\263\7\0\6\263\27\0\1\45\12\0"+
+ "\3\45\4\0\6\45\3\0\11\45\1\264\12\45\12\0"+
+ "\1\45\12\0\3\45\4\0\6\45\3\0\13\45\1\265"+
+ "\10\45\12\0\1\45\12\0\3\45\4\0\6\45\3\0"+
+ "\11\45\1\266\12\45\12\0\1\45\12\0\3\45\4\0"+
+ "\6\45\3\0\21\45\1\267\2\45\14\0\1\270\57\0"+
+ "\1\61\2\0\3\61\1\0\2\61\1\0\10\61\3\271"+
+ "\1\0\12\61\1\0\30\61\27\0\1\204\56\0\1\102"+
+ "\2\0\1\145\1\102\3\272\2\0\1\204\1\0\1\102"+
+ "\1\206\1\207\3\102\4\0\3\102\1\206\1\207\16\102"+
+ "\20\0\1\273\1\0\1\241\1\0\1\102\3\274\2\0"+
+ "\1\204\1\0\1\102\2\207\3\102\4\0\3\102\2\207"+
+ "\16\102\20\0\1\275\1\0\1\242\1\0\4\102\2\0"+
+ "\1\204\1\0\6\102\4\0\23\102\12\0\1\101\5\0"+
+ "\1\102\3\0\1\102\3\104\2\0\1\204\1\0\6\104"+
+ "\3\0\1\101\10\104\1\276\12\104\3\0\11\111\1\277"+
+ "\70\111\1\300\70\111\1\212\43\111\1\301\24\111\1\212"+
+ "\6\111\1\217\1\111\3\216\5\111\1\221\1\222\12\111"+
+ "\1\221\1\222\14\111\1\224\15\111\1\212\6\111\1\217"+
+ "\1\111\3\216\5\111\1\221\1\222\12\111\1\221\1\222"+
+ "\32\111\1\212\3\111\1\302\1\111\1\302\2\111\3\302"+
+ "\5\111\2\222\12\111\2\222\32\111\1\212\6\111\1\217"+
+ "\1\111\3\303\5\111\1\221\1\222\12\111\1\221\1\222"+
+ "\32\111\1\212\3\111\1\304\1\111\1\304\2\111\3\302"+
+ "\5\111\2\222\12\111\2\222\32\111\1\212\3\111\1\305"+
+ "\1\111\1\305\2\111\3\306\55\111\1\212\10\111\2\307"+
+ "\56\111\1\212\10\111\3\310\4\111\3\310\7\111\6\310"+
+ "\27\111\1\113\1\111\1\212\10\111\3\113\4\111\6\113"+
+ "\3\111\11\113\1\311\12\113\12\111\1\113\1\111\1\212"+
+ "\10\111\3\113\4\111\6\113\3\111\13\113\1\312\10\113"+
+ "\12\111\1\113\1\111\1\212\10\111\3\113\4\111\6\113"+
+ "\3\111\11\113\1\313\12\113\12\111\1\113\1\111\1\212"+
+ "\10\111\3\113\4\111\6\113\3\111\21\113\1\314\2\113"+
+ "\3\111\50\0\1\315\20\0\14\235\1\316\70\235\1\316"+
+ "\4\235\1\317\47\235\22\0\3\237\5\0\2\150\12\0"+
+ "\2\150\41\0\1\145\1\0\3\320\5\0\1\147\1\150"+
+ "\12\0\1\147\1\150\40\0\1\321\2\0\3\237\5\0"+
+ "\2\150\12\0\2\150\40\0\1\321\2\0\3\243\66\0"+
+ "\3\243\53\0\1\16\12\0\3\16\4\0\6\16\3\0"+
+ "\17\16\1\251\4\16\12\0\1\16\12\0\3\16\4\0"+
+ "\6\16\3\0\11\16\1\322\12\16\12\0\1\16\12\0"+
+ "\3\16\4\0\6\16\3\0\5\16\1\323\16\16\12\0"+
+ "\1\37\12\0\3\37\4\0\6\37\3\0\11\37\1\324"+
+ "\12\37\53\0\1\325\42\0\3\256\5\0\2\173\12\0"+
+ "\2\173\41\0\1\170\1\0\3\326\5\0\1\172\1\173"+
+ "\12\0\1\172\1\173\40\0\1\327\2\0\3\256\5\0"+
+ "\2\173\12\0\2\173\40\0\1\327\2\0\3\262\66\0"+
+ "\3\262\53\0\1\45\12\0\3\45\4\0\6\45\3\0"+
+ "\17\45\1\267\4\45\12\0\1\45\12\0\3\45\4\0"+
+ "\6\45\3\0\11\45\1\330\12\45\12\0\1\45\12\0"+
+ "\3\45\4\0\6\45\3\0\5\45\1\331\16\45\3\0"+
+ "\1\61\2\0\3\61\1\0\2\61\1\0\10\61\3\332"+
+ "\1\0\12\61\1\0\30\61\15\0\1\102\2\0\1\145"+
+ "\1\102\3\333\2\0\1\204\1\0\1\102\1\206\1\207"+
+ "\3\102\4\0\3\102\1\206\1\207\16\102\20\0\1\102"+
+ "\1\0\1\321\1\0\1\102\3\274\2\0\1\204\1\0"+
+ "\1\102\2\207\3\102\4\0\3\102\2\207\16\102\20\0"+
+ "\1\102\3\0\1\102\3\274\2\0\1\204\1\0\1\102"+
+ "\2\207\3\102\4\0\3\102\2\207\16\102\20\0\1\102"+
+ "\1\0\1\321\1\0\4\102\2\0\1\204\1\0\6\102"+
+ "\4\0\23\102\12\0\1\101\5\0\1\102\3\0\1\102"+
+ "\3\104\2\0\1\204\1\0\6\104\3\0\1\101\10\104"+
+ "\1\334\12\104\3\0\11\111\1\335\57\111\11\0\1\336"+
+ "\57\0\11\111\1\212\36\111\1\337\31\111\1\212\10\111"+
+ "\3\302\5\111\2\222\12\111\2\222\32\111\1\212\6\111"+
+ "\1\217\1\111\3\340\5\111\1\221\1\222\12\111\1\221"+
+ "\1\222\32\111\1\212\5\111\1\341\2\111\3\302\5\111"+
+ "\2\222\12\111\2\222\32\111\1\212\5\111\1\341\2\111"+
+ "\3\306\55\111\1\212\10\111\3\306\53\111\1\113\1\111"+
+ "\1\212\10\111\3\113\4\111\6\113\3\111\17\113\1\314"+
+ "\4\113\12\111\1\113\1\111\1\212\10\111\3\113\4\111"+
+ "\6\113\3\111\11\113\1\342\12\113\12\111\1\113\1\111"+
+ "\1\212\10\111\3\113\4\111\6\113\3\111\5\113\1\343"+
+ "\16\113\3\111\14\235\1\316\4\235\1\344\47\235\17\0"+
+ "\1\345\1\145\1\0\3\142\5\0\1\147\1\150\1\0"+
+ "\1\346\10\0\1\147\1\150\30\0\1\16\10\0\1\347"+
+ "\1\0\3\16\4\0\6\16\3\0\24\16\12\0\1\37"+
+ "\10\0\1\347\1\0\3\37\4\0\6\37\3\0\24\37"+
+ "\22\0\1\350\1\170\1\0\3\167\5\0\1\172\1\173"+
+ "\1\0\1\351\10\0\1\172\1\173\30\0\1\45\10\0"+
+ "\1\352\1\0\3\45\4\0\6\45\3\0\24\45\3\0"+
+ "\1\61\2\0\3\61\1\0\2\61\1\0\5\61\1\353"+
+ "\5\61\1\0\7\61\1\354\2\61\1\0\30\61\15\0"+
+ "\1\102\1\0\1\345\1\145\1\102\3\355\2\0\1\204"+
+ "\1\0\1\102\1\206\1\207\1\102\1\356\1\102\4\0"+
+ "\3\102\1\206\1\207\16\102\12\0\1\101\5\0\1\102"+
+ "\2\0\1\347\1\102\3\104\2\0\1\204\1\0\6\104"+
+ "\3\0\1\101\23\104\14\0\1\357\57\0\11\111\1\212"+
+ "\5\111\1\360\1\217\1\111\3\216\5\111\1\221\1\222"+
+ "\1\111\1\361\10\111\1\221\1\222\30\111\1\113\1\111"+
+ "\1\212\6\111\1\362\1\111\3\113\4\111\6\113\3\111"+
+ "\24\113\3\111\22\0\3\363\66\0\3\364\110\0\1\365"+
+ "\1\366\1\367\1\0\1\370\1\0\1\371\1\372\1\0"+
+ "\1\373\3\0\1\374\1\375\30\0\3\376\66\0\3\377"+
+ "\110\0\1\u0100\1\u0101\1\u0102\1\0\1\u0103\1\0\1\u0104"+
+ "\1\u0105\1\0\1\u0106\3\0\1\u0107\1\u0108\6\0\1\61"+
+ "\2\0\3\61\1\0\2\61\1\0\10\61\3\u0109\1\0"+
+ "\12\61\1\0\31\61\2\0\3\61\1\0\2\61\1\0"+
+ "\10\61\3\u010a\1\0\12\61\1\0\30\61\15\0\1\102"+
+ "\2\0\1\145\1\102\3\355\2\0\1\204\1\0\1\102"+
+ "\1\206\1\207\3\102\4\0\3\102\1\206\1\207\16\102"+
+ "\20\0\1\102\3\0\1\102\3\u010b\2\0\1\204\1\0"+
+ "\6\102\4\0\23\102\3\0\11\111\1\212\10\111\3\u010c"+
+ "\55\111\1\212\10\111\3\u010d\55\111\1\212\32\111\1\u010e"+
+ "\1\u010f\1\u0110\1\111\1\u0111\1\111\1\u0112\1\u0113\1\111"+
+ "\1\u0114\3\111\1\u0115\1\u0116\6\111\22\0\3\u0117\66\0"+
+ "\3\u0118\117\0\1\u0119\2\0\1\u011a\65\0\1\u0119\64\0"+
+ "\1\u011b\74\0\1\u011c\72\0\1\u011d\65\0\1\u011e\101\0"+
+ "\1\u011f\54\0\1\u0120\12\0\1\u0121\2\0\1\u0122\55\0"+
+ "\1\u0123\40\0\3\u0124\66\0\3\u0125\117\0\1\u0126\2\0"+
+ "\1\u0127\65\0\1\u0126\64\0\1\u0128\74\0\1\u0129\72\0"+
+ "\1\u012a\65\0\1\u012b\101\0\1\u012c\54\0\1\u012d\12\0"+
+ "\1\u012e\2\0\1\u012f\55\0\1\u0130\16\0\1\61\2\0"+
+ "\3\61\1\0\2\61\1\0\10\61\3\u0131\1\0\12\61"+
+ "\1\0\31\61\2\0\3\61\1\0\2\61\1\0\10\61"+
+ "\3\u0132\1\0\12\61\1\0\30\61\15\0\1\102\3\0"+
+ "\1\102\3\u0133\2\0\1\204\1\0\6\102\4\0\23\102"+
+ "\3\0\11\111\1\212\10\111\3\u0134\55\111\1\212\10\111"+
+ "\3\u0135\55\111\1\212\41\111\1\u0136\2\111\1\u0137\23\111"+
+ "\1\212\41\111\1\u0136\26\111\1\212\35\111\1\u0138\32\111"+
+ "\1\212\41\111\1\u0139\26\111\1\212\43\111\1\u013a\24\111"+
+ "\1\212\40\111\1\u013b\27\111\1\212\51\111\1\u013c\16\111"+
+ "\1\212\35\111\1\u013d\12\111\1\u013e\2\111\1\u013f\14\111"+
+ "\1\212\40\111\1\u0140\16\111\17\0\1\u0141\15\0\1\346"+
+ "\60\0\1\u0142\121\0\1\u0143\70\0\1\u0144\57\0\1\u0145"+
+ "\101\0\1\u0146\74\0\1\u0147\67\0\1\u011d\62\0\1\u0144"+
+ "\101\0\1\u0148\64\0\1\u0149\64\0\1\u014a\70\0\1\u014b"+
+ "\33\0\1\u014c\15\0\1\351\60\0\1\u014d\121\0\1\u014e"+
+ "\70\0\1\u014f\57\0\1\u0150\101\0\1\u0151\74\0\1\u0152"+
+ "\67\0\1\u012a\62\0\1\u014f\101\0\1\u0153\64\0\1\u0154"+
+ "\64\0\1\u0155\70\0\1\u0156\14\0\1\61\2\0\3\61"+
+ "\1\0\2\61\1\0\5\61\1\u0157\5\61\1\0\7\61"+
+ "\1\354\2\61\1\0\31\61\2\0\3\61\1\0\2\61"+
+ "\1\0\13\61\1\u0142\12\61\1\0\30\61\15\0\1\102"+
+ "\3\0\4\102\1\u0142\1\0\1\204\1\0\6\102\4\0"+
+ "\23\102\3\0\11\111\1\212\5\111\1\u0158\15\111\1\361"+
+ "\44\111\1\212\13\111\1\u0159\54\111\1\212\44\111\1\u015a"+
+ "\23\111\1\212\44\111\1\u015b\23\111\1\212\33\111\1\u015c"+
+ "\34\111\1\212\44\111\1\u015d\23\111\1\212\50\111\1\u015e"+
+ "\17\111\1\212\47\111\1\u013a\20\111\1\212\41\111\1\u015b"+
+ "\26\111\1\212\52\111\1\u015f\15\111\1\212\46\111\1\u0160"+
+ "\21\111\1\212\42\111\1\u0161\25\111\1\212\42\111\1\u0162"+
+ "\14\111\22\0\3\u0163\66\0\3\u0164\110\0\1\u0147\77\0"+
+ "\1\u0147\67\0\1\u0165\61\0\1\u011d\104\0\1\u0147\63\0"+
+ "\1\u0166\10\0\1\u0167\51\0\1\u011a\73\0\1\u0168\43\0"+
+ "\3\u0169\66\0\3\u016a\110\0\1\u0152\77\0\1\u0152\67\0"+
+ "\1\u016b\61\0\1\u012a\104\0\1\u0152\63\0\1\u016c\10\0"+
+ "\1\u016d\51\0\1\u0127\73\0\1\u016e\21\0\1\61\2\0"+
+ "\3\61\1\0\2\61\1\0\10\61\3\u016f\1\0\12\61"+
+ "\1\0\30\61\11\111\1\212\10\111\3\u0170\55\111\1\212"+
+ "\10\111\3\u0171\55\111\1\212\32\111\1\u015e\35\111\1\212"+
+ "\41\111\1\u015e\26\111\1\212\40\111\1\u0172\27\111\1\212"+
+ "\31\111\1\u013a\36\111\1\212\45\111\1\u015e\22\111\1\212"+
+ "\40\111\1\u0173\10\111\1\u0174\16\111\1\212\32\111\1\u0137"+
+ "\35\111\1\212\35\111\1\u0175\21\111\22\0\3\u0176\66\0"+
+ "\3\u0177\120\0\1\u0178\71\0\1\u0179\60\0\1\u011d\104\0"+
+ "\1\u017a\31\0\3\u017b\66\0\3\u017c\120\0\1\u017d\71\0"+
+ "\1\u017e\60\0\1\u012a\104\0\1\u017f\7\0\1\61\2\0"+
+ "\3\61\1\0\2\61\1\0\10\61\3\u0180\1\0\12\61"+
+ "\1\0\30\61\11\111\1\212\10\111\3\u0181\55\111\1\212"+
+ "\10\111\3\u0182\55\111\1\212\42\111\1\u0183\25\111\1\212"+
+ "\43\111\1\u0184\24\111\1\212\33\111\1\u013a\34\111\1\212"+
+ "\47\111\1\u0185\7\111\22\0\3\364\10\0\1\346\50\0"+
+ "\1\u0186\1\0\1\u0186\5\0\1\u0187\10\0\1\u0188\75\0"+
+ "\1\u0144\76\0\1\u0147\101\0\1\u0189\30\0\3\377\10\0"+
+ "\1\351\50\0\1\u018a\1\0\1\u018a\5\0\1\u018b\10\0"+
+ "\1\u018c\75\0\1\u014f\76\0\1\u0152\101\0\1\u018d\6\0"+
+ "\1\61\2\0\3\61\1\0\2\61\1\0\10\61\3\u010a"+
+ "\1\0\7\61\1\354\2\61\1\0\30\61\11\111\1\212"+
+ "\10\111\3\u010d\10\111\1\361\44\111\1\212\3\111\1\u018e"+
+ "\1\111\1\u018e\5\111\1\u018f\10\111\1\u0190\43\111\1\212"+
+ "\31\111\1\u015b\36\111\1\212\37\111\1\u015e\30\111\1\212"+
+ "\50\111\1\u0191\6\111\22\0\3\u0192\66\0\3\u0193\107\0"+
+ "\1\u0194\47\0\3\u0195\66\0\3\u0196\107\0\1\u0197\25\0"+
+ "\11\111\1\212\10\111\3\u0198\55\111\1\212\10\111\3\u0199"+
+ "\55\111\1\212\31\111\1\u019a\25\111\22\0\3\u019b\66\0"+
+ "\3\u019c\120\0\1\u0148\36\0\3\u019d\66\0\3\u019e\120\0"+
+ "\1\u0153\14\0\11\111\1\212\10\111\3\u019f\55\111\1\212"+
+ "\10\111\3\u01a0\55\111\1\212\42\111\1\u015f\14\111\25\0"+
+ "\1\u01a1\60\0\1\u0186\1\0\1\u0186\1\u01a2\15\0\1\u0188"+
+ "\57\0\1\u01a3\60\0\1\u018a\1\0\1\u018a\1\u01a4\15\0"+
+ "\1\u018c\32\0\11\111\1\212\13\111\1\u01a5\54\111\1\212"+
+ "\3\111\1\u018e\1\111\1\u018e\1\u01a6\15\111\1\u0190\32\111"+
+ "\22\0\3\u01a7\66\0\3\u01a8\66\0\3\u01a9\66\0\3\u01aa"+
+ "\44\0\11\111\1\212\10\111\3\u01ab\55\111\1\212\10\111"+
+ "\3\u01ac\44\111\22\0\3\u0188\61\0\1\u0186\1\0\1\u0186"+
+ "\2\0\3\u01a8\11\0\1\u0188\54\0\3\u018c\61\0\1\u018a"+
+ "\1\0\1\u018a\2\0\3\u01aa\11\0\1\u018c\32\0\11\111"+
+ "\1\212\10\111\3\u0190\55\111\1\212\3\111\1\u018e\1\111"+
+ "\1\u018e\2\111\3\u01ac\11\111\1\u0190\32\111";
+
+ private static int [] zzUnpacktrans() {
+ int [] result = new int[20976];
int offset = 0;
- offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
+ offset = zzUnpacktrans(ZZ_TRANS_PACKED_0, offset, result);
return result;
}
- private static int zzUnpackTrans(String packed, int offset, int [] result) {
+ private static int zzUnpacktrans(String packed, int offset, int [] result) {
int i = 0; /* index in packed string */
int j = offset; /* index in unpacked array */
int l = packed.length();
@@ -595,32 +578,31 @@ private static int zzUnpackTrans(String packed, int offset, int [] result) {
};
/**
- * ZZ_ATTRIBUTE[aState] contains the attributes of state aState
+ * ZZ_ATTRIBUTE[aState] contains the attributes of state {@code aState}
*/
private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
private static final String ZZ_ATTRIBUTE_PACKED_0 =
- "\12\0\1\11\4\1\1\11\1\1\2\11\10\1\2\11"+
- "\1\1\1\11\3\1\1\11\3\1\2\11\7\1\1\11"+
- "\3\1\1\11\1\1\2\11\37\1\1\0\2\1\1\11"+
- "\4\1\1\0\2\1\1\0\1\1\2\11\1\0\6\1"+
- "\3\0\1\11\1\1\1\0\2\1\1\0\1\1\1\11"+
- "\1\0\6\1\2\0\1\1\1\0\4\1\1\11\1\1"+
- "\1\0\2\1\1\0\3\1\1\0\6\1\5\0\3\1"+
- "\1\0\1\1\1\0\6\1\1\11\1\1\1\11\3\1"+
- "\1\0\1\1\1\0\5\1\1\11\1\1\1\11\5\1"+
- "\1\0\3\1\1\0\1\1\1\0\7\1\1\0\2\1"+
- "\1\0\1\11\4\1\1\0\1\11\7\1\1\0\4\1"+
- "\1\11\1\0\1\1\2\0\1\1\1\0\4\1\1\0"+
- "\1\1\1\0\1\11\26\0\3\1\45\0\3\1\26\0"+
- "\1\11\12\0\1\11\1\0\1\1\11\0\1\1\15\0"+
- "\1\1\6\0\2\1\3\0\2\1\3\0\3\1\5\0"+
- "\1\11\3\0\1\11\3\0\1\1\12\0\1\1\1\0"+
- "\1\1\1\0\1\1\7\0\1\1\1\0\1\1\1\0"+
- "\1\1\1\0";
+ "\12\0\1\11\1\1\1\11\2\1\1\11\1\1\1\11"+
+ "\5\1\1\11\4\1\2\11\4\1\2\11\2\1\1\11"+
+ "\4\1\1\11\6\1\1\11\2\1\1\11\2\1\1\11"+
+ "\17\1\1\0\20\1\1\11\4\1\2\0\2\1\1\0"+
+ "\4\1\3\0\1\11\4\1\1\11\1\0\1\11\1\1"+
+ "\2\0\5\1\2\0\4\1\1\11\1\0\6\1\1\11"+
+ "\3\0\5\1\3\0\6\1\1\11\3\0\3\1\1\0"+
+ "\7\1\1\11\1\1\1\11\1\0\3\1\1\0\6\1"+
+ "\1\11\6\1\1\0\1\1\1\0\3\1\1\0\7\1"+
+ "\1\11\1\0\2\1\1\0\3\1\1\11\1\1\1\0"+
+ "\11\1\1\0\2\1\1\11\1\0\1\1\2\0\1\1"+
+ "\1\0\4\1\1\11\1\0\1\1\27\0\3\1\45\0"+
+ "\3\1\23\0\1\11\12\0\1\11\4\0\1\1\6\0"+
+ "\1\1\20\0\1\1\6\0\2\1\3\0\2\1\3\0"+
+ "\3\1\5\0\1\11\3\0\1\11\3\0\1\1\13\0"+
+ "\1\1\1\0\1\1\1\0\1\1\7\0\1\1\1\0"+
+ "\1\1\1\0\1\1";
private static int [] zzUnpackAttribute() {
- int [] result = new int[427];
+ int [] result = new int[428];
int offset = 0;
offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
return result;
@@ -664,15 +646,26 @@ the source of the yytext() string */
from input */
private int zzEndRead;
- /**
- * zzAtBOL == true <=> the scanner is currently at the beginning of a line
- */
- private boolean zzAtBOL = true;
-
/** zzAtEOF == true <=> the scanner is at the EOF */
private boolean zzAtEOF;
- /** denotes if the user-EOF-code has already been executed */
+ /** Number of newlines encountered up to the start of the matched text. */
+ @SuppressWarnings("unused")
+ private int yyline;
+
+ /** Number of characters from the last newline up to the start of the matched text. */
+ @SuppressWarnings("unused")
+ protected int yycolumn;
+
+ /** Number of characters up to the start of the matched text. */
+ @SuppressWarnings("unused")
+ private long yychar;
+
+ /** Whether the scanner is currently at the beginning of a line. */
+ @SuppressWarnings("unused")
+ private boolean zzAtBOL = true;
+
+ /** Whether the user-EOF-code has already been executed. */
private boolean zzEOFDone;
/* user code: */
@@ -689,26 +682,22 @@ public IonLexer(java.io.Reader in) {
}
- /**
- * Unpacks the compressed character translation table.
- *
- * @param packed the packed character translation table
- * @return the unpacked character translation table
+ /** Returns the maximum size of the scanner buffer, which limits the size of tokens. */
+ private int zzMaxBufferLen() {
+ return Integer.MAX_VALUE;
+ }
+
+ /** Whether the scanner buffer can grow to accommodate a larger token. */
+ private boolean zzCanGrow() {
+ return true;
+ }
+
+ /**
+ * Translates raw input code points to DFA table row
*/
- private static char [] zzUnpackCMap(String packed) {
- 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 < packed.length()) {
- int count = packed.charAt(i++);
- char value = packed.charAt(i++);
- do map[j++] = value; while (--count > 0);
- }
- return map;
+ private static int zzCMap(int input) {
+ int offset = input & 255;
+ return offset == input ? ZZ_CMAP_BLOCKS[offset] : ZZ_CMAP_BLOCKS[ZZ_CMAP_TOP[input >> 8] | offset];
}
public final int getTokenStart() {
@@ -852,7 +841,8 @@ private void zzDoEOF() {
* @return the next token
* @exception java.io.IOException if any I/O-Error occurs
*/
- public IElementType advance() throws java.io.IOException {
+ public IElementType advance() throws java.io.IOException
+ {
int zzInput;
int zzAction;
@@ -886,7 +876,7 @@ public IElementType advance() throws java.io.IOException {
while (true) {
if (zzCurrentPosL < zzEndReadL) {
- zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL/*, zzEndReadL*/);
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL);
zzCurrentPosL += Character.charCount(zzInput);
}
else if (zzAtEOF) {
@@ -908,11 +898,11 @@ else if (zzAtEOF) {
break zzForAction;
}
else {
- zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL/*, zzEndReadL*/);
+ zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL);
zzCurrentPosL += Character.charCount(zzInput);
}
}
- int zzNext = zzTransL[ zzRowMapL[zzState] + ZZ_CMAP(zzInput) ];
+ int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMap(zzInput) ];
if (zzNext == -1) break zzForAction;
zzState = zzNext;
@@ -931,290 +921,290 @@ else if (zzAtEOF) {
if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
zzAtEOF = true;
- zzDoEOF();
+ zzDoEOF();
return null;
}
else {
switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
- case 1:
+ case 1:
{ return TokenType.BAD_CHARACTER;
- }
- // fall through
+ }
+ // fall through
case 57: break;
- case 2:
+ case 2:
{ return TokenType.WHITE_SPACE;
- }
- // fall through
+ }
+ // fall through
case 58: break;
- case 3:
- { return IonTypes.IDENTIFIER;
- }
- // fall through
+ case 3:
+ { _zzStateStack.push(yystate()); yybegin(READ_QQ_STR); return IonTypes.QQ_START;
+ }
+ // fall through
case 59: break;
- case 4:
- { return IonTypes.INTEGER;
- }
- // fall through
+ case 4:
+ { return IonTypes.IDENTIFIER;
+ }
+ // fall through
case 60: break;
- case 5:
- { return IonTypes.COMMA;
- }
- // fall through
+ case 5:
+ { _zzStateStack.push(yystate()); yybegin(READ_Q_STR); return IonTypes.Q_START;
+ }
+ // fall through
case 61: break;
- case 6:
- { _zzStateStack.push(yystate()); yybegin(ION_STRUCT); return IonTypes.LBRACE;
- }
- // fall through
+ case 6:
+ { _zzStateStack.push(yystate()); yybegin(S_EXP); return IonTypes.LPAREN;
+ }
+ // fall through
case 62: break;
- case 7:
- { _zzStateStack.push(yystate()); yybegin(ION_LIST); return IonTypes.LBRACKET;
- }
- // fall through
+ case 7:
+ { return IonTypes.COMMA;
+ }
+ // fall through
case 63: break;
- case 8:
- { _zzStateStack.push(yystate()); yybegin(S_EXP); return IonTypes.LPAREN;
- }
- // fall through
+ case 8:
+ { return IonTypes.INTEGER;
+ }
+ // fall through
case 64: break;
- case 9:
- { _zzStateStack.push(yystate()); yybegin(READ_Q_STR); return IonTypes.Q_START;
- }
- // fall through
+ case 9:
+ { _zzStateStack.push(yystate()); yybegin(ION_LIST); return IonTypes.LBRACKET;
+ }
+ // fall through
case 65: break;
- case 10:
- { _zzStateStack.push(yystate()); yybegin(READ_QQ_STR); return IonTypes.QQ_START;
- }
- // fall through
+ case 10:
+ { _zzStateStack.push(yystate()); yybegin(ION_STRUCT); return IonTypes.LBRACE;
+ }
+ // fall through
case 66: break;
- case 11:
+ case 11:
{ yybegin(_zzStateStack.pop()); return IonTypes.RBRACKET;
- }
- // fall through
+ }
+ // fall through
case 67: break;
- case 12:
- { return IonTypes.KEY_NAME;
- }
- // fall through
+ case 12:
+ { _zzStateStack.push(yystate()); yybegin(READ_KEY); return IonTypes.QQUOTE;
+ }
+ // fall through
case 68: break;
- case 13:
- { yybegin(_zzStateStack.pop()); return IonTypes.RBRACE;
- }
- // fall through
+ case 13:
+ { return IonTypes.KEY_NAME;
+ }
+ // fall through
case 69: break;
- case 14:
- { _zzStateStack.push(yystate()); yybegin(READ_VALUE); return IonTypes.SEPARATOR;
- }
- // fall through
- case 70: break;
- case 15:
+ case 14:
{ _zzStateStack.push(yystate()); yybegin(READ_KEY); return IonTypes.QUOTE;
- }
- // fall through
+ }
+ // fall through
+ case 70: break;
+ case 15:
+ { _zzStateStack.push(yystate()); yybegin(READ_VALUE); return IonTypes.SEPARATOR;
+ }
+ // fall through
case 71: break;
- case 16:
- { _zzStateStack.push(yystate()); yybegin(READ_KEY); return IonTypes.QQUOTE;
- }
- // fall through
+ case 16:
+ { yybegin(_zzStateStack.pop()); return IonTypes.RBRACE;
+ }
+ // fall through
case 72: break;
- case 17:
- { yybegin(_zzStateStack.pop()); return IonTypes.IDENTIFIER;
- }
- // fall through
+ case 17:
+ { yybegin(READ_QQ_STR); return IonTypes.QQ_START;
+ }
+ // fall through
case 73: break;
- case 18:
- { yybegin(_zzStateStack.pop()); return IonTypes.INTEGER;
- }
- // fall through
+ case 18:
+ { yybegin(_zzStateStack.pop()); return IonTypes.IDENTIFIER;
+ }
+ // fall through
case 74: break;
- case 19:
- { yybegin(ION_STRUCT); return IonTypes.LBRACE;
- }
- // fall through
+ case 19:
+ { yybegin(READ_Q_STR); return IonTypes.Q_START;
+ }
+ // fall through
case 75: break;
- case 20:
- { yybegin(ION_LIST); return IonTypes.LBRACKET;
- }
- // fall through
- case 76: break;
- case 21:
+ case 20:
{ yybegin(S_EXP); return IonTypes.LPAREN;
- }
- // fall through
+ }
+ // fall through
+ case 76: break;
+ case 21:
+ { yybegin(_zzStateStack.pop()); return IonTypes.INTEGER;
+ }
+ // fall through
case 77: break;
- case 22:
- { yybegin(READ_Q_STR); return IonTypes.Q_START;
- }
- // fall through
+ case 22:
+ { yybegin(ION_LIST); return IonTypes.LBRACKET;
+ }
+ // fall through
case 78: break;
- case 23:
- { yybegin(READ_QQ_STR); return IonTypes.QQ_START;
- }
- // fall through
+ case 23:
+ { yybegin(ION_STRUCT); return IonTypes.LBRACE;
+ }
+ // fall through
case 79: break;
- case 24:
- { yybegin(_zzStateStack.pop()); return IonTypes.QUOTE;
- }
- // fall through
- case 80: break;
- case 25:
+ case 24:
{ yybegin(_zzStateStack.pop()); return IonTypes.QQUOTE;
- }
- // fall through
+ }
+ // fall through
+ case 80: break;
+ case 25:
+ { yybegin(_zzStateStack.pop()); return IonTypes.QUOTE;
+ }
+ // fall through
case 81: break;
- case 26:
+ case 26:
{ return IonTypes.OPERATOR;
- }
- // fall through
+ }
+ // fall through
case 82: break;
- case 27:
+ case 27:
{ yybegin(_zzStateStack.pop()); return IonTypes.RPAREN;
- }
- // fall through
+ }
+ // fall through
case 83: break;
- case 28:
- { return (isValidBase64(yytext())) ? IonTypes.BLOB_VALUE : TokenType.BAD_CHARACTER;
- }
- // fall through
- case 84: break;
- case 29:
+ case 28:
{ return IonTypes.BAD_CHARACTER;
- }
- // fall through
+ }
+ // fall through
+ case 84: break;
+ case 29:
+ { return (isValidBase64(yytext())) ? IonTypes.BLOB_VALUE : TokenType.BAD_CHARACTER;
+ }
+ // fall through
case 85: break;
- case 30:
+ case 30:
{ return IonTypes.QQ_VALUE;
- }
- // fall through
+ }
+ // fall through
case 86: break;
- case 31:
+ case 31:
{ yybegin(_zzStateStack.pop()); return IonTypes.QQ_END;
- }
- // fall through
+ }
+ // fall through
case 87: break;
- case 32:
+ case 32:
{ return IonTypes.Q_VALUE;
- }
- // fall through
+ }
+ // fall through
case 88: break;
- case 33:
+ case 33:
{ yybegin(_zzStateStack.pop()); return IonTypes.Q_END;
- }
- // fall through
+ }
+ // fall through
case 89: break;
- case 34:
+ case 34:
{ return IonTypes.COMMENT;
- }
- // fall through
+ }
+ // fall through
case 90: break;
- case 35:
+ case 35:
{ return IonTypes.DECIMAL;
- }
- // fall through
+ }
+ // fall through
case 91: break;
- case 36:
- { _zzStateStack.push(yystate()); yybegin(READ_LOB); return IonTypes.LOB_START;
- }
- // fall through
- case 92: break;
- case 37:
+ case 36:
{ return IonTypes.ANNOTATION_SEPARATOR;
- }
- // fall through
+ }
+ // fall through
+ case 92: break;
+ case 37:
+ { _zzStateStack.push(yystate()); yybegin(READ_LOB); return IonTypes.LOB_START;
+ }
+ // fall through
case 93: break;
- case 38:
+ case 38:
{ _zzStateStack.push(yystate()); yybegin(READ_VALUE); return IonTypes.ANNOTATION_SEPARATOR;
- }
- // fall through
+ }
+ // fall through
case 94: break;
- case 39:
+ case 39:
{ yybegin(_zzStateStack.pop()); return IonTypes.DECIMAL;
- }
- // fall through
+ }
+ // fall through
case 95: break;
- case 40:
+ case 40:
{ yybegin(READ_LOB); return IonTypes.LOB_START;
- }
- // fall through
+ }
+ // fall through
case 96: break;
- case 41:
+ case 41:
{ yybegin(_zzStateStack.pop()); return IonTypes.LOB_END;
- }
- // fall through
+ }
+ // fall through
case 97: break;
- case 42:
- { return IonTypes.BININT;
- }
- // fall through
+ case 42:
+ { _zzStateStack.push(yystate()); yybegin(READ_QQQ_STR); return IonTypes.QQQ_START;
+ }
+ // fall through
case 98: break;
- case 43:
- { return IonTypes.HEXINT;
- }
- // fall through
+ case 43:
+ { return IonTypes.BININT;
+ }
+ // fall through
case 99: break;
- case 44:
- { _zzStateStack.push(yystate()); yybegin(READ_QQQ_STR); return IonTypes.QQQ_START;
- }
- // fall through
+ case 44:
+ { return IonTypes.HEXINT;
+ }
+ // fall through
case 100: break;
- case 45:
+ case 45:
{ _zzStateStack.push(yystate()); yybegin(READ_KEY); return IonTypes.QQQUOTE;
- }
- // fall through
+ }
+ // fall through
case 101: break;
- case 46:
- { yybegin(_zzStateStack.pop()); return IonTypes.HEXINT;
- }
- // fall through
- case 102: break;
- case 47:
+ case 46:
{ yybegin(READ_QQQ_STR); return IonTypes.QQQ_START;
- }
- // fall through
+ }
+ // fall through
+ case 102: break;
+ case 47:
+ { yybegin(_zzStateStack.pop()); return IonTypes.HEXINT;
+ }
+ // fall through
case 103: break;
- case 48:
+ case 48:
{ yybegin(_zzStateStack.pop()); return IonTypes.QQQUOTE;
- }
- // fall through
+ }
+ // fall through
case 104: break;
- case 49:
+ case 49:
{ yybegin(_zzStateStack.pop()); return IonTypes.QQQ_END;
- }
- // fall through
+ }
+ // fall through
case 105: break;
- case 50:
- { return IonTypes.BOOLEAN;
- }
- // fall through
- case 106: break;
- case 51:
+ case 50:
{ return IonTypes.NULL;
- }
- // fall through
+ }
+ // fall through
+ case 106: break;
+ case 51:
+ { return IonTypes.BOOLEAN;
+ }
+ // fall through
case 107: break;
- case 52:
- { yybegin(_zzStateStack.pop()); return IonTypes.BOOLEAN;
- }
- // fall through
- case 108: break;
- case 53:
+ case 52:
{ yybegin(_zzStateStack.pop()); return IonTypes.NULL;
- }
- // fall through
+ }
+ // fall through
+ case 108: break;
+ case 53:
+ { yybegin(_zzStateStack.pop()); return IonTypes.BOOLEAN;
+ }
+ // fall through
case 109: break;
- case 54:
+ case 54:
{ yypushback(3); return IonTypes.QQQ_VALUE;
- }
- // fall through
+ }
+ // fall through
case 110: break;
- case 55:
+ case 55:
{ return IonTypes.TIMESTAMP;
- }
- // fall through
+ }
+ // fall through
case 111: break;
- case 56:
+ case 56:
{ yybegin(_zzStateStack.pop()); return IonTypes.TIMESTAMP;
- }
- // fall through
+ }
+ // fall through
case 112: break;
default:
zzScanError(ZZ_NO_MATCH);
diff --git a/src/main/kotlin/com/amazon/ion/plugin/intellij/Ion.flex b/src/main/kotlin/com/amazon/ion/plugin/intellij/Ion.flex
index 07e3368..841245e 100644
--- a/src/main/kotlin/com/amazon/ion/plugin/intellij/Ion.flex
+++ b/src/main/kotlin/com/amazon/ion/plugin/intellij/Ion.flex
@@ -34,7 +34,7 @@ DocumentationComment = "/**" {CommentContent} "*"+ "/"
CommentContent = ( [^*] | \*+ [^/*] )*
/* Global */
-Identifier = ([A-Za-z_$]) ([0-9A-Za-z_$])*
+Identifier = ([A-Za-z_$])([0-9A-Za-z_$])*
Comma = ","
LBrace = "{"
RBrace = "}"
@@ -44,7 +44,7 @@ LParen = "("
RParen = ")"
/* Key */
-KeyCharacter = [^:\ \n\r\t\f\\\'\"]
+KeyCharacter = [^:\n\r\t\f\\\'\"]
/* Operators */
DoublePlus = "++"
diff --git a/src/test/kotlin/com/amazon/ion/plugin/intellij/parser/IonBasicParsingTest.kt b/src/test/kotlin/com/amazon/ion/plugin/intellij/parser/IonBasicParsingTest.kt
index b2c21e4..527bcc4 100644
--- a/src/test/kotlin/com/amazon/ion/plugin/intellij/parser/IonBasicParsingTest.kt
+++ b/src/test/kotlin/com/amazon/ion/plugin/intellij/parser/IonBasicParsingTest.kt
@@ -30,6 +30,33 @@ class IonBasicParsingTest : IonParserTestCaseBase(dataPath = "basic") {
"""
)
+ fun `test struct with quoted field name having a space`() = doTest(
+ """
+ { 'abc def': value }
+ """,
+ """
+ Ion File
+ IonValueImpl(VALUE)
+ IonContainerImpl(CONTAINER)
+ IonStructImpl(STRUCT)
+ PsiElement(LBRACE)('{')
+ PsiWhiteSpace(' ')
+ IonMembersImpl(MEMBERS)
+ IonPairImpl(PAIR)
+ IonKeyImpl(KEY)
+ PsiElement(QUOTE)(''')
+ PsiElement(KEY_NAME)('abc def')
+ PsiElement(QUOTE)(''')
+ PsiElement(SEPARATOR)(':')
+ PsiWhiteSpace(' ')
+ IonValueImpl(VALUE)
+ IonSymbolImpl(SYMBOL)
+ PsiElement(IDENTIFIER)('value')
+ PsiWhiteSpace(' ')
+ PsiElement(RBRACE)('}')
+ """
+ )
+
fun `test struct with trailing comma`() = doTest(
"""
{ key: value, }