From eba9ce98fd0629721551e6ad39afddc22ebd08ea Mon Sep 17 00:00:00 2001 From: bryankenote Date: Tue, 14 Jan 2025 14:48:58 -0800 Subject: [PATCH] add float keyword --- .../facilityapi/intellij/lexer/_FsdLexer.java | 912 +++++++++--------- .../intellij/parser/FsdParser.java | 5 +- .../facilityapi/intellij/psi/FsdTypes.java | 1 + .../intellij/editor/FsdSyntaxHighlighter.kt | 1 + .../io/github/facilityapi/intellij/fsd.bnf | 2 +- .../facilityapi/intellij/lexer/_FsdLexer.flex | 1 + 6 files changed, 467 insertions(+), 455 deletions(-) diff --git a/src/main/gen/io/github/facilityapi/intellij/lexer/_FsdLexer.java b/src/main/gen/io/github/facilityapi/intellij/lexer/_FsdLexer.java index aae433b..a2a57c7 100644 --- a/src/main/gen/io/github/facilityapi/intellij/lexer/_FsdLexer.java +++ b/src/main/gen/io/github/facilityapi/intellij/lexer/_FsdLexer.java @@ -144,32 +144,32 @@ private static int zzUnpackcmap_blocks(String packed, int offset, int [] result) "\1\2\1\6\1\7\1\10\1\11\1\12\1\13\1\14"+ "\1\15\1\1\1\16\1\17\1\20\1\21\3\20\1\22"+ "\1\23\1\24\1\25\1\26\1\27\1\1\1\30\1\31"+ - "\1\32\1\33\12\34\1\35\1\36\1\37\1\40\1\41"+ + "\1\32\1\33\13\34\1\35\1\36\1\37\1\40\1\41"+ "\1\42\1\43\1\44\1\45\1\46\1\1\1\47\1\50"+ "\3\1\1\51\1\52\1\53\12\54\1\55\1\56\1\57"+ "\1\60\1\61\1\62\1\63\1\1\1\64\1\65\1\66"+ "\12\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76"+ "\1\1\1\77\1\100\1\101\1\102\1\103\1\104\1\1"+ "\1\105\1\106\2\20\1\107\2\0\1\16\1\0\5\20"+ - "\1\0\1\30\1\0\14\34\1\0\1\47\5\0\14\54"+ + "\1\0\1\30\1\0\15\34\1\0\1\47\5\0\14\54"+ "\1\0\1\64\1\0\14\67\1\0\1\77\2\0\1\105"+ - "\1\0\2\20\2\0\5\20\1\0\7\34\1\110\4\34"+ + "\1\0\2\20\2\0\5\20\1\0\10\34\1\110\4\34"+ "\5\0\7\54\1\111\4\54\1\0\7\67\1\112\4\67"+ - "\2\0\2\20\2\0\1\113\1\114\3\20\1\0\14\34"+ + "\2\0\2\20\2\0\1\113\1\114\3\20\1\0\15\34"+ "\1\0\1\113\1\114\2\0\14\54\1\0\14\67\2\0"+ "\1\115\1\116\2\0\3\20\1\0\1\34\1\117\3\34"+ - "\1\120\1\121\1\122\4\34\3\0\1\54\1\123\3\54"+ - "\1\124\1\125\1\126\4\54\1\0\1\67\1\127\3\67"+ - "\1\130\1\131\1\132\4\67\4\0\1\133\1\134\1\135"+ - "\1\0\3\34\1\136\1\34\1\137\1\140\1\141\1\0"+ - "\1\133\1\135\3\54\1\142\1\54\1\143\1\144\1\145"+ - "\1\0\3\67\1\146\1\67\1\147\1\150\1\151\2\0"+ - "\1\152\1\153\1\34\1\154\1\34\1\155\1\54\1\156"+ - "\1\54\1\157\1\67\1\160\1\67\1\161\1\162\1\163"+ - "\1\164\1\165\1\166"; + "\1\120\1\121\1\122\1\123\4\34\3\0\1\54\1\124"+ + "\3\54\1\125\1\126\1\127\4\54\1\0\1\67\1\130"+ + "\3\67\1\131\1\132\1\133\4\67\4\0\1\134\1\135"+ + "\1\136\1\0\3\34\1\137\1\34\1\140\1\141\1\142"+ + "\1\0\1\134\1\136\3\54\1\143\1\54\1\144\1\145"+ + "\1\146\1\0\3\67\1\147\1\67\1\150\1\151\1\152"+ + "\2\0\1\153\1\154\1\34\1\155\1\34\1\156\1\54"+ + "\1\157\1\54\1\160\1\67\1\161\1\67\1\162\1\163"+ + "\1\164\1\165\1\166\1\167"; private static int [] zzUnpackAction() { - int [] result = new int[425]; + int [] result = new int[430]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; @@ -203,54 +203,54 @@ private static int zzUnpackAction(String packed, int offset, int [] result) { "\0\u07f8\0\u082b\0\u085e\0\u0693\0\u0891\0\u0693\0\u08c4\0\u08f7"+ "\0\u092a\0\u0693\0\u0693\0\u0693\0\u0693\0\u0693\0\u095d\0\u0990"+ "\0\u09c3\0\u0693\0\u0693\0\u0693\0\u09f6\0\u0a29\0\u0a5c\0\u0a8f"+ - "\0\u0ac2\0\u0af5\0\u0b28\0\u0b5b\0\u0b8e\0\u0bc1\0\u0693\0\u0bf4"+ - "\0\u0693\0\u0693\0\u0693\0\u0693\0\u0693\0\u0693\0\u0693\0\u0c27"+ - "\0\u0c5a\0\u0c8d\0\u0693\0\u0cc0\0\u0cf3\0\u0d26\0\u0693\0\u0693"+ - "\0\u0693\0\u0d59\0\u0d8c\0\u0dbf\0\u0df2\0\u0e25\0\u0e58\0\u0e8b"+ - "\0\u0ebe\0\u0ef1\0\u0f24\0\u0f57\0\u0693\0\u0693\0\u0693\0\u0693"+ - "\0\u0693\0\u0f8a\0\u0fbd\0\u0ff0\0\u0693\0\u0693\0\u1023\0\u1056"+ + "\0\u0ac2\0\u0af5\0\u0b28\0\u0b5b\0\u0b8e\0\u0bc1\0\u0bf4\0\u0693"+ + "\0\u0c27\0\u0693\0\u0693\0\u0693\0\u0693\0\u0693\0\u0693\0\u0693"+ + "\0\u0c5a\0\u0c8d\0\u0cc0\0\u0693\0\u0cf3\0\u0d26\0\u0d59\0\u0693"+ + "\0\u0693\0\u0693\0\u0d8c\0\u0dbf\0\u0df2\0\u0e25\0\u0e58\0\u0e8b"+ + "\0\u0ebe\0\u0ef1\0\u0f24\0\u0f57\0\u0f8a\0\u0693\0\u0693\0\u0693"+ + "\0\u0693\0\u0693\0\u0fbd\0\u0ff0\0\u1023\0\u0693\0\u0693\0\u1056"+ "\0\u1089\0\u10bc\0\u10ef\0\u1122\0\u1155\0\u1188\0\u11bb\0\u11ee"+ - "\0\u1221\0\u0693\0\u0693\0\u0693\0\u0693\0\u0693\0\u1254\0\u1287"+ - "\0\u12ba\0\u0693\0\u0693\0\u0693\0\u0693\0\u12ed\0\u1320\0\u1353"+ - "\0\u0693\0\u1386\0\u13b9\0\u13ec\0\u141f\0\u082b\0\u0693\0\u1452"+ - "\0\u1485\0\u14b8\0\u14eb\0\u151e\0\u1551\0\u0990\0\u0693\0\u1584"+ + "\0\u1221\0\u1254\0\u0693\0\u0693\0\u0693\0\u0693\0\u0693\0\u1287"+ + "\0\u12ba\0\u12ed\0\u0693\0\u0693\0\u0693\0\u0693\0\u1320\0\u1353"+ + "\0\u1386\0\u0693\0\u13b9\0\u13ec\0\u141f\0\u1452\0\u082b\0\u0693"+ + "\0\u1485\0\u14b8\0\u14eb\0\u151e\0\u1551\0\u1584\0\u0990\0\u0693"+ "\0\u15b7\0\u15ea\0\u161d\0\u1650\0\u1683\0\u16b6\0\u16e9\0\u171c"+ - "\0\u174f\0\u1782\0\u17b5\0\u17e8\0\u0c5a\0\u0693\0\u181b\0\u184e"+ + "\0\u174f\0\u1782\0\u17b5\0\u17e8\0\u181b\0\u184e\0\u0c8d\0\u0693"+ "\0\u1881\0\u18b4\0\u18e7\0\u191a\0\u194d\0\u1980\0\u19b3\0\u19e6"+ - "\0\u1a19\0\u1a4c\0\u1a7f\0\u1ab2\0\u1ae5\0\u1b18\0\u1b4b\0\u0fbd"+ - "\0\u0693\0\u1b7e\0\u1bb1\0\u1be4\0\u1c17\0\u1c4a\0\u1c7d\0\u1cb0"+ - "\0\u1ce3\0\u1d16\0\u1d49\0\u1d7c\0\u1daf\0\u1de2\0\u1287\0\u0693"+ - "\0\u1e15\0\u1320\0\u0693\0\u1e48\0\u1e7b\0\u1eae\0\u1ee1\0\u1f14"+ + "\0\u1a19\0\u1a4c\0\u1a7f\0\u1ab2\0\u1ae5\0\u1b18\0\u1b4b\0\u1b7e"+ + "\0\u1bb1\0\u0ff0\0\u0693\0\u1be4\0\u1c17\0\u1c4a\0\u1c7d\0\u1cb0"+ + "\0\u1ce3\0\u1d16\0\u1d49\0\u1d7c\0\u1daf\0\u1de2\0\u1e15\0\u1e48"+ + "\0\u12ba\0\u0693\0\u1e7b\0\u1353\0\u0693\0\u1eae\0\u1ee1\0\u1f14"+ "\0\u1f47\0\u1f7a\0\u1fad\0\u1fe0\0\u2013\0\u2046\0\u2079\0\u20ac"+ - "\0\u20df\0\u2112\0\u2145\0\u2178\0\u21ab\0\u09f6\0\u21de\0\u2211"+ - "\0\u2244\0\u2277\0\u22aa\0\u22dd\0\u2310\0\u2343\0\u2376\0\u23a9"+ - "\0\u23dc\0\u240f\0\u2442\0\u2475\0\u24a8\0\u24db\0\u0d59\0\u250e"+ - "\0\u2541\0\u2574\0\u25a7\0\u25da\0\u260d\0\u2640\0\u2673\0\u26a6"+ - "\0\u26d9\0\u270c\0\u273f\0\u1023\0\u2772\0\u27a5\0\u27d8\0\u280b"+ - "\0\u283e\0\u2871\0\u28a4\0\u28d7\0\u290a\0\u293d\0\u0891\0\u0891"+ - "\0\u2970\0\u29a3\0\u29d6\0\u2a09\0\u2a3c\0\u2a6f\0\u2aa2\0\u2ad5"+ + "\0\u20df\0\u2112\0\u2145\0\u2178\0\u21ab\0\u21de\0\u2211\0\u2244"+ + "\0\u09f6\0\u2277\0\u22aa\0\u22dd\0\u2310\0\u2343\0\u2376\0\u23a9"+ + "\0\u23dc\0\u240f\0\u2442\0\u2475\0\u24a8\0\u24db\0\u250e\0\u2541"+ + "\0\u2574\0\u0d8c\0\u25a7\0\u25da\0\u260d\0\u2640\0\u2673\0\u26a6"+ + "\0\u26d9\0\u270c\0\u273f\0\u2772\0\u27a5\0\u27d8\0\u1056\0\u280b"+ + "\0\u283e\0\u2871\0\u28a4\0\u28d7\0\u290a\0\u293d\0\u2970\0\u29a3"+ + "\0\u29d6\0\u0891\0\u0891\0\u2a09\0\u2a3c\0\u2a6f\0\u2aa2\0\u2ad5"+ "\0\u2b08\0\u2b3b\0\u2b6e\0\u2ba1\0\u2bd4\0\u2c07\0\u2c3a\0\u2c6d"+ - "\0\u2ca0\0\u0693\0\u0693\0\u2cd3\0\u2d06\0\u2d39\0\u2d6c\0\u2d9f"+ + "\0\u2ca0\0\u2cd3\0\u2d06\0\u2d39\0\u2d6c\0\u0693\0\u0693\0\u2d9f"+ "\0\u2dd2\0\u2e05\0\u2e38\0\u2e6b\0\u2e9e\0\u2ed1\0\u2f04\0\u2f37"+ "\0\u2f6a\0\u2f9d\0\u2fd0\0\u3003\0\u3036\0\u3069\0\u309c\0\u30cf"+ "\0\u3102\0\u3135\0\u3168\0\u319b\0\u31ce\0\u3201\0\u3234\0\u3267"+ - "\0\u0891\0\u0891\0\u329a\0\u32cd\0\u3300\0\u3333\0\u3366\0\u3399"+ - "\0\u33cc\0\u09f6\0\u33ff\0\u3432\0\u3465\0\u09f6\0\u09f6\0\u09f6"+ - "\0\u3498\0\u34cb\0\u34fe\0\u3531\0\u3564\0\u3597\0\u35ca\0\u35fd"+ - "\0\u0d59\0\u3630\0\u3663\0\u3696\0\u0d59\0\u0d59\0\u0d59\0\u36c9"+ - "\0\u36fc\0\u372f\0\u3762\0\u3795\0\u37c8\0\u1023\0\u37fb\0\u382e"+ - "\0\u3861\0\u1023\0\u1023\0\u1023\0\u3894\0\u38c7\0\u38fa\0\u392d"+ - "\0\u3960\0\u3993\0\u39c6\0\u39f9\0\u0891\0\u0891\0\u0891\0\u3a2c"+ - "\0\u3a5f\0\u3a92\0\u3ac5\0\u09f6\0\u3af8\0\u09f6\0\u09f6\0\u09f6"+ - "\0\u3b2b\0\u0693\0\u0693\0\u3b5e\0\u3b91\0\u3bc4\0\u0d59\0\u3bf7"+ - "\0\u0d59\0\u0d59\0\u0d59\0\u3c2a\0\u3c5d\0\u3c90\0\u3cc3\0\u1023"+ - "\0\u3cf6\0\u1023\0\u1023\0\u1023\0\u3d29\0\u3d5c\0\u0693\0\u09f6"+ - "\0\u3d8f\0\u09f6\0\u3dc2\0\u0d59\0\u3df5\0\u0d59\0\u3e28\0\u1023"+ - "\0\u3e5b\0\u1023\0\u3e8e\0\u09f6\0\u09f6\0\u0d59\0\u0d59\0\u1023"+ - "\0\u1023"; + "\0\u329a\0\u32cd\0\u3300\0\u3333\0\u0891\0\u0891\0\u3366\0\u3399"+ + "\0\u33cc\0\u33ff\0\u3432\0\u3465\0\u3498\0\u09f6\0\u34cb\0\u34fe"+ + "\0\u3531\0\u09f6\0\u09f6\0\u09f6\0\u09f6\0\u3564\0\u3597\0\u35ca"+ + "\0\u35fd\0\u3630\0\u3663\0\u3696\0\u36c9\0\u0d8c\0\u36fc\0\u372f"+ + "\0\u3762\0\u0d8c\0\u0d8c\0\u0d8c\0\u3795\0\u37c8\0\u37fb\0\u382e"+ + "\0\u3861\0\u3894\0\u1056\0\u38c7\0\u38fa\0\u392d\0\u1056\0\u1056"+ + "\0\u1056\0\u3960\0\u3993\0\u39c6\0\u39f9\0\u3a2c\0\u3a5f\0\u3a92"+ + "\0\u3ac5\0\u0891\0\u0891\0\u0891\0\u3af8\0\u3b2b\0\u3b5e\0\u3b91"+ + "\0\u09f6\0\u3bc4\0\u09f6\0\u09f6\0\u09f6\0\u3bf7\0\u0693\0\u0693"+ + "\0\u3c2a\0\u3c5d\0\u3c90\0\u0d8c\0\u3cc3\0\u0d8c\0\u0d8c\0\u0d8c"+ + "\0\u3cf6\0\u3d29\0\u3d5c\0\u3d8f\0\u1056\0\u3dc2\0\u1056\0\u1056"+ + "\0\u1056\0\u3df5\0\u3e28\0\u0693\0\u09f6\0\u3e5b\0\u09f6\0\u3e8e"+ + "\0\u0d8c\0\u3ec1\0\u0d8c\0\u3ef4\0\u1056\0\u3f27\0\u1056\0\u3f5a"+ + "\0\u09f6\0\u09f6\0\u0d8c\0\u0d8c\0\u1056\0\u1056"; private static int [] zzUnpackRowMap() { - int [] result = new int[425]; + int [] result = new int[430]; int offset = 0; offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result); return result; @@ -289,247 +289,250 @@ private static int zzUnpackRowMap(String packed, int offset, int [] result) { "\3\43\7\42\1\44\5\65\1\102\3\42\1\103\1\42"+ "\1\46\1\42\27\65\1\72\1\104\2\42\3\43\7\42"+ "\1\44\5\105\10\42\1\105\1\106\1\105\1\107\1\110"+ - "\3\105\1\111\3\105\1\112\1\113\1\114\1\105\1\115"+ - "\1\116\5\105\1\42\1\104\2\42\3\43\1\117\6\42"+ - "\1\44\5\120\1\42\1\121\1\122\1\123\1\124\1\42"+ - "\1\46\1\42\27\120\1\42\1\104\2\42\3\43\3\42"+ - "\1\125\1\54\1\42\1\55\1\42\5\56\6\42\1\126"+ - "\1\42\27\56\4\42\3\43\4\42\1\127\1\42\1\55"+ - "\1\42\5\130\10\42\27\130\4\42\3\43\1\42\1\131"+ - "\3\42\1\132\2\42\5\132\1\64\7\42\27\132\4\42"+ - "\3\43\7\42\1\44\5\42\1\133\12\42\1\134\1\135"+ - "\7\42\1\136\13\42\1\73\2\42\3\43\7\42\1\44"+ - "\5\65\1\137\3\42\1\140\1\42\1\46\1\42\27\65"+ - "\1\72\1\141\2\42\3\43\7\42\1\44\5\142\10\42"+ - "\1\142\1\143\1\142\1\144\1\145\3\142\1\146\3\142"+ - "\1\147\1\150\1\151\1\142\1\152\1\153\5\142\1\42"+ - "\1\141\2\42\3\43\1\117\6\42\1\44\5\154\1\42"+ - "\1\155\1\156\1\123\1\124\1\42\1\46\1\42\27\154"+ - "\1\42\1\141\2\42\3\43\3\42\1\157\1\54\1\42"+ - "\1\55\1\42\5\56\6\42\1\160\1\42\27\56\4\42"+ - "\3\43\4\42\1\161\1\42\1\55\1\42\5\162\10\42"+ - "\27\162\4\42\3\43\1\42\1\163\3\42\1\164\2\42"+ - "\5\164\1\64\7\42\27\164\4\42\3\43\7\42\1\44"+ - "\5\65\1\165\3\42\1\166\1\42\1\46\1\42\27\65"+ - "\1\72\1\141\2\42\3\43\7\42\1\44\5\167\10\42"+ - "\1\167\1\170\1\167\1\171\1\172\3\167\1\173\3\167"+ - "\1\174\1\175\1\176\1\167\1\177\1\200\5\167\1\42"+ - "\1\141\2\42\3\43\1\117\6\42\1\44\5\201\1\42"+ - "\1\202\1\203\1\123\1\124\1\42\1\46\1\42\27\201"+ - "\1\42\1\141\2\42\3\43\3\42\1\204\1\54\1\42"+ - "\1\55\1\42\5\56\6\42\1\205\1\42\27\56\4\42"+ - "\3\43\4\42\1\206\1\42\1\55\1\42\5\207\10\42"+ - "\27\207\4\42\3\43\1\42\1\210\3\42\1\211\2\42"+ - "\5\211\1\64\7\42\27\211\4\42\3\43\6\42\1\55"+ - "\1\44\5\65\4\42\1\212\1\42\1\46\1\42\27\65"+ - "\1\72\1\141\2\42\3\43\3\42\1\213\1\54\1\42"+ - "\1\55\1\42\5\56\6\42\1\214\1\42\27\56\4\42"+ - "\3\43\4\42\1\215\1\42\1\55\1\42\5\216\10\42"+ - "\27\216\4\42\3\43\1\42\1\217\3\42\1\220\2\42"+ - "\5\220\1\64\7\42\27\220\4\42\3\43\7\42\1\44"+ - "\5\65\1\42\1\221\6\42\3\65\1\222\1\223\22\65"+ - "\3\42\64\0\3\43\72\0\1\224\104\0\1\225\25\0"+ - "\2\50\2\0\56\50\1\0\2\52\1\0\60\52\14\0"+ - "\5\56\10\0\27\56\17\0\5\61\10\0\27\61\3\0"+ - "\5\226\1\227\20\226\1\230\34\226\11\0\1\63\2\0"+ - "\5\63\10\0\27\63\17\0\5\65\10\0\27\65\17\0"+ - "\5\65\10\0\1\231\26\65\17\0\5\65\10\0\15\65"+ - "\1\232\2\65\1\233\4\65\1\234\1\65\17\0\5\65"+ - "\10\0\4\65\1\235\22\65\17\0\5\77\10\0\27\77"+ - "\3\0\5\236\1\237\20\236\1\240\34\236\11\0\1\101"+ - "\2\0\5\101\10\0\27\101\17\0\5\105\10\0\27\105"+ - "\17\0\5\105\10\0\16\105\1\241\7\105\1\242\17\0"+ - "\5\105\10\0\1\243\3\105\1\244\11\105\1\245\10\105"+ - "\17\0\5\105\10\0\20\105\1\246\6\105\17\0\5\105"+ - "\10\0\15\105\1\247\11\105\17\0\5\105\10\0\1\250"+ - "\26\105\17\0\5\105\10\0\23\105\1\251\3\105\17\0"+ - "\5\105\10\0\1\105\1\252\25\105\17\0\5\105\10\0"+ - "\4\105\1\253\22\105\17\0\5\105\10\0\22\105\1\254"+ - "\4\105\17\0\5\120\10\0\27\120\17\0\5\130\10\0"+ - "\27\130\3\0\5\255\1\256\20\255\1\257\34\255\11\0"+ - "\1\132\2\0\5\132\10\0\27\132\34\0\1\260\77\0"+ - "\1\261\2\0\1\262\46\0\1\263\41\0\5\142\10\0"+ - "\27\142\17\0\5\142\10\0\16\142\1\264\7\142\1\265"+ - "\17\0\5\142\10\0\1\266\3\142\1\267\11\142\1\270"+ - "\10\142\17\0\5\142\10\0\20\142\1\271\6\142\17\0"+ - "\5\142\10\0\15\142\1\272\11\142\17\0\5\142\10\0"+ - "\1\273\26\142\17\0\5\142\10\0\23\142\1\274\3\142"+ - "\17\0\5\142\10\0\1\142\1\275\25\142\17\0\5\142"+ - "\10\0\4\142\1\276\22\142\17\0\5\142\10\0\22\142"+ - "\1\277\4\142\17\0\5\154\10\0\27\154\17\0\5\162"+ - "\10\0\27\162\3\0\5\300\1\301\20\300\1\302\34\300"+ - "\11\0\1\164\2\0\5\164\10\0\27\164\17\0\5\167"+ - "\10\0\27\167\17\0\5\167\10\0\16\167\1\303\7\167"+ - "\1\304\17\0\5\167\10\0\1\305\3\167\1\306\11\167"+ - "\1\307\10\167\17\0\5\167\10\0\20\167\1\310\6\167"+ - "\17\0\5\167\10\0\15\167\1\311\11\167\17\0\5\167"+ - "\10\0\1\312\26\167\17\0\5\167\10\0\23\167\1\313"+ - "\3\167\17\0\5\167\10\0\1\167\1\314\25\167\17\0"+ - "\5\167\10\0\4\167\1\315\22\167\17\0\5\167\10\0"+ - "\22\167\1\316\4\167\17\0\5\201\10\0\27\201\17\0"+ - "\5\207\10\0\27\207\3\0\5\317\1\320\20\317\1\321"+ - "\34\317\11\0\1\211\2\0\5\211\10\0\27\211\17\0"+ - "\5\216\10\0\27\216\3\0\5\322\1\323\20\322\1\324"+ - "\34\322\11\0\1\220\2\0\5\220\10\0\27\220\17\0"+ - "\5\65\10\0\1\325\26\65\17\0\5\65\10\0\15\65"+ - "\1\326\11\65\3\0\2\224\1\0\60\224\51\0\1\327"+ - "\16\0\1\226\5\0\1\226\12\0\1\226\3\0\1\226"+ - "\3\0\1\226\7\0\1\226\2\0\1\226\1\0\1\226"+ - "\1\330\22\0\5\65\10\0\22\65\1\331\4\65\17\0"+ - "\5\65\10\0\23\65\1\332\3\65\17\0\5\65\10\0"+ - "\20\65\1\333\6\65\17\0\5\65\10\0\22\65\1\334"+ - "\4\65\17\0\5\65\10\0\22\65\1\335\4\65\10\0"+ - "\1\236\5\0\1\236\12\0\1\236\3\0\1\236\3\0"+ - "\1\236\7\0\1\236\2\0\1\236\1\0\1\236\1\336"+ - "\22\0\5\105\10\0\16\105\1\337\10\105\17\0\5\105"+ - "\10\0\22\105\1\340\4\105\17\0\5\105\10\0\22\105"+ - "\1\341\4\105\17\0\5\105\10\0\2\105\1\342\24\105"+ - "\17\0\5\105\10\0\23\105\1\343\3\105\17\0\5\105"+ - "\10\0\20\105\1\344\6\105\17\0\5\105\10\0\22\105"+ - "\1\345\4\105\17\0\5\105\10\0\17\105\1\346\7\105"+ - "\17\0\5\105\10\0\13\105\1\347\13\105\17\0\5\105"+ - "\10\0\11\105\1\350\15\105\17\0\5\105\10\0\21\105"+ - "\1\351\5\105\17\0\5\105\10\0\20\105\1\352\6\105"+ - "\10\0\1\255\5\0\1\255\12\0\1\255\3\0\1\255"+ - "\3\0\1\255\7\0\1\255\2\0\1\255\1\0\1\255"+ - "\1\353\61\0\1\354\63\0\1\355\57\0\1\356\64\0"+ - "\1\357\23\0\5\142\10\0\16\142\1\360\10\142\17\0"+ - "\5\142\10\0\22\142\1\361\4\142\17\0\5\142\10\0"+ - "\22\142\1\362\4\142\17\0\5\142\10\0\2\142\1\363"+ - "\24\142\17\0\5\142\10\0\23\142\1\364\3\142\17\0"+ - "\5\142\10\0\20\142\1\365\6\142\17\0\5\142\10\0"+ - "\22\142\1\366\4\142\17\0\5\142\10\0\17\142\1\367"+ - "\7\142\17\0\5\142\10\0\13\142\1\370\13\142\17\0"+ - "\5\142\10\0\11\142\1\371\15\142\17\0\5\142\10\0"+ - "\21\142\1\372\5\142\17\0\5\142\10\0\20\142\1\373"+ - "\6\142\10\0\1\300\5\0\1\300\12\0\1\300\3\0"+ - "\1\300\3\0\1\300\7\0\1\300\2\0\1\300\1\0"+ - "\1\300\1\374\22\0\5\167\10\0\16\167\1\375\10\167"+ - "\17\0\5\167\10\0\22\167\1\376\4\167\17\0\5\167"+ - "\10\0\22\167\1\377\4\167\17\0\5\167\10\0\2\167"+ - "\1\u0100\24\167\17\0\5\167\10\0\23\167\1\u0101\3\167"+ - "\17\0\5\167\10\0\20\167\1\u0102\6\167\17\0\5\167"+ - "\10\0\22\167\1\u0103\4\167\17\0\5\167\10\0\17\167"+ - "\1\u0104\7\167\17\0\5\167\10\0\13\167\1\u0105\13\167"+ - "\17\0\5\167\10\0\11\167\1\u0106\15\167\17\0\5\167"+ - "\10\0\21\167\1\u0107\5\167\17\0\5\167\10\0\20\167"+ - "\1\u0108\6\167\10\0\1\317\5\0\1\317\12\0\1\317"+ - "\3\0\1\317\3\0\1\317\7\0\1\317\2\0\1\317"+ - "\1\0\1\317\1\u0109\13\0\1\322\5\0\1\322\12\0"+ - "\1\322\3\0\1\322\3\0\1\322\7\0\1\322\2\0"+ - "\1\322\1\0\1\322\1\u010a\22\0\5\65\10\0\22\65"+ - "\1\u010b\4\65\17\0\5\65\10\0\23\65\1\u010c\3\65"+ - "\60\0\1\u010d\21\0\5\u010e\4\0\12\u010e\40\0\5\65"+ - "\10\0\1\u010f\26\65\17\0\5\65\10\0\14\65\1\u0110"+ - "\12\65\17\0\5\65\10\0\16\65\1\u0111\10\65\17\0"+ - "\5\65\10\0\4\65\1\u0112\22\65\17\0\5\65\10\0"+ - "\7\65\1\u0113\17\65\17\0\5\u0114\4\0\12\u0114\40\0"+ - "\5\105\10\0\13\105\1\u0115\13\105\17\0\5\105\10\0"+ - "\4\105\1\u0116\22\105\17\0\5\105\10\0\4\105\1\u0117"+ - "\22\105\17\0\5\105\10\0\10\105\1\u0118\16\105\17\0"+ - "\5\105\10\0\1\105\1\u0119\25\105\17\0\5\105\10\0"+ - "\16\105\1\u011a\10\105\17\0\2\105\1\u011b\1\105\1\u011c"+ - "\10\0\27\105\17\0\5\105\10\0\13\105\1\u011d\13\105"+ - "\17\0\5\105\10\0\4\105\1\u011e\22\105\17\0\5\105"+ - "\10\0\23\105\1\u011f\3\105\17\0\5\105\10\0\10\105"+ - "\1\u0120\16\105\17\0\5\u0121\4\0\12\u0121\55\0\1\u0122"+ - "\76\0\1\u0123\64\0\1\u0124\53\0\1\u0125\36\0\5\142"+ - "\10\0\13\142\1\u0126\13\142\17\0\5\142\10\0\4\142"+ - "\1\u0127\22\142\17\0\5\142\10\0\4\142\1\u0128\22\142"+ - "\17\0\5\142\10\0\10\142\1\u0129\16\142\17\0\5\142"+ - "\10\0\1\142\1\u012a\25\142\17\0\5\142\10\0\16\142"+ - "\1\u012b\10\142\17\0\2\142\1\u012c\1\142\1\u012d\10\0"+ - "\27\142\17\0\5\142\10\0\13\142\1\u012e\13\142\17\0"+ - "\5\142\10\0\4\142\1\u012f\22\142\17\0\5\142\10\0"+ - "\23\142\1\u0130\3\142\17\0\5\142\10\0\10\142\1\u0131"+ - "\16\142\17\0\5\u0132\4\0\12\u0132\40\0\5\167\10\0"+ - "\13\167\1\u0133\13\167\17\0\5\167\10\0\4\167\1\u0134"+ - "\22\167\17\0\5\167\10\0\4\167\1\u0135\22\167\17\0"+ - "\5\167\10\0\10\167\1\u0136\16\167\17\0\5\167\10\0"+ - "\1\167\1\u0137\25\167\17\0\5\167\10\0\16\167\1\u0138"+ - "\10\167\17\0\2\167\1\u0139\1\167\1\u013a\10\0\27\167"+ - "\17\0\5\167\10\0\13\167\1\u013b\13\167\17\0\5\167"+ - "\10\0\4\167\1\u013c\22\167\17\0\5\167\10\0\23\167"+ - "\1\u013d\3\167\17\0\5\167\10\0\10\167\1\u013e\16\167"+ - "\17\0\5\u013f\4\0\12\u013f\40\0\5\u0140\4\0\12\u0140"+ - "\40\0\5\65\10\0\1\u0141\26\65\17\0\5\65\10\0"+ - "\14\65\1\u0142\12\65\44\0\1\u0143\35\0\5\u0144\4\0"+ - "\12\u0144\40\0\5\65\10\0\20\65\1\u0145\6\65\17\0"+ - "\5\65\10\0\20\65\1\u0146\6\65\17\0\5\65\10\0"+ - "\16\65\1\u0147\10\65\17\0\5\u0148\4\0\12\u0148\40\0"+ - "\5\105\10\0\4\105\1\u0149\22\105\17\0\5\105\10\0"+ - "\21\105\1\u014a\5\105\17\0\5\105\10\0\22\105\1\u014b"+ - "\4\105\17\0\5\105\10\0\14\105\1\u014c\12\105\17\0"+ - "\5\105\10\0\13\105\1\u014d\13\105\17\0\5\105\10\0"+ - "\20\105\1\u014e\6\105\17\0\1\105\1\u014f\3\105\10\0"+ - "\27\105\17\0\3\105\1\u0150\1\105\10\0\27\105\17\0"+ - "\5\105\10\0\1\u0151\26\105\17\0\5\105\10\0\2\105"+ - "\1\u0152\24\105\17\0\5\105\10\0\13\105\1\u0153\13\105"+ - "\17\0\5\105\10\0\15\105\1\u0154\11\105\17\0\5\u0155"+ - "\4\0\12\u0155\75\0\1\u0156\60\0\1\u0157\27\0\5\142"+ - "\10\0\4\142\1\u0158\22\142\17\0\5\142\10\0\21\142"+ - "\1\u0159\5\142\17\0\5\142\10\0\22\142\1\u015a\4\142"+ - "\17\0\5\142\10\0\14\142\1\u015b\12\142\17\0\5\142"+ - "\10\0\13\142\1\u015c\13\142\17\0\5\142\10\0\20\142"+ - "\1\u015d\6\142\17\0\1\142\1\u015e\3\142\10\0\27\142"+ - "\17\0\3\142\1\u015f\1\142\10\0\27\142\17\0\5\142"+ - "\10\0\1\u0160\26\142\17\0\5\142\10\0\2\142\1\u0161"+ - "\24\142\17\0\5\142\10\0\13\142\1\u0162\13\142\17\0"+ - "\5\142\10\0\15\142\1\u0163\11\142\17\0\5\u0164\4\0"+ - "\12\u0164\40\0\5\167\10\0\4\167\1\u0165\22\167\17\0"+ - "\5\167\10\0\21\167\1\u0166\5\167\17\0\5\167\10\0"+ - "\22\167\1\u0167\4\167\17\0\5\167\10\0\14\167\1\u0168"+ - "\12\167\17\0\5\167\10\0\13\167\1\u0169\13\167\17\0"+ - "\5\167\10\0\20\167\1\u016a\6\167\17\0\1\167\1\u016b"+ - "\3\167\10\0\27\167\17\0\3\167\1\u016c\1\167\10\0"+ - "\27\167\17\0\5\167\10\0\1\u016d\26\167\17\0\5\167"+ - "\10\0\2\167\1\u016e\24\167\17\0\5\167\10\0\13\167"+ - "\1\u016f\13\167\17\0\5\167\10\0\15\167\1\u0170\11\167"+ - "\17\0\5\u0171\4\0\12\u0171\40\0\5\u0172\4\0\12\u0172"+ - "\57\0\1\u0173\43\0\5\u0174\4\0\12\u0174\40\0\5\65"+ - "\10\0\21\65\1\u0175\5\65\17\0\5\65\10\0\15\65"+ - "\1\u0176\11\65\17\0\5\65\10\0\3\65\1\u0177\23\65"+ - "\17\0\5\u0178\4\0\12\u0178\40\0\5\105\10\0\1\u0179"+ - "\26\105\17\0\5\105\10\0\10\105\1\u017a\16\105\17\0"+ - "\5\105\10\0\1\u017b\26\105\17\0\5\105\10\0\4\105"+ - "\1\u017c\22\105\17\0\5\105\10\0\1\105\1\u017d\25\105"+ - "\17\0\5\105\10\0\22\105\1\u017e\4\105\17\0\5\105"+ - "\10\0\22\105\1\u017f\4\105\17\0\5\105\10\0\6\105"+ - "\1\u0180\20\105\17\0\5\u0181\4\0\12\u0181\76\0\1\u0182"+ - "\44\0\1\u0183\42\0\5\142\10\0\1\u0184\26\142\17\0"+ - "\5\142\10\0\10\142\1\u0185\16\142\17\0\5\142\10\0"+ - "\1\u0186\26\142\17\0\5\142\10\0\4\142\1\u0187\22\142"+ - "\17\0\5\142\10\0\1\142\1\u0188\25\142\17\0\5\142"+ - "\10\0\22\142\1\u0189\4\142\17\0\5\142\10\0\22\142"+ - "\1\u018a\4\142\17\0\5\142\10\0\6\142\1\u018b\20\142"+ - "\17\0\5\u018c\4\0\12\u018c\40\0\5\167\10\0\1\u018d"+ - "\26\167\17\0\5\167\10\0\10\167\1\u018e\16\167\17\0"+ - "\5\167\10\0\1\u018f\26\167\17\0\5\167\10\0\4\167"+ - "\1\u0190\22\167\17\0\5\167\10\0\1\167\1\u0191\25\167"+ - "\17\0\5\167\10\0\22\167\1\u0192\4\167\17\0\5\167"+ - "\10\0\22\167\1\u0193\4\167\17\0\5\167\10\0\6\167"+ - "\1\u0194\20\167\17\0\5\u0195\4\0\12\u0195\40\0\5\u0196"+ - "\4\0\12\u0196\61\0\1\u0197\41\0\5\226\4\0\12\226"+ - "\40\0\5\236\4\0\12\236\40\0\5\105\10\0\15\105"+ - "\1\u0198\11\105\17\0\5\105\10\0\14\105\1\u0199\12\105"+ - "\17\0\5\105\10\0\13\105\1\u019a\13\105\17\0\5\105"+ - "\10\0\13\105\1\u019b\13\105\17\0\5\255\4\0\12\255"+ - "\40\0\5\142\10\0\15\142\1\u019c\11\142\17\0\5\142"+ - "\10\0\14\142\1\u019d\12\142\17\0\5\142\10\0\13\142"+ - "\1\u019e\13\142\17\0\5\142\10\0\13\142\1\u019f\13\142"+ - "\17\0\5\300\4\0\12\300\40\0\5\167\10\0\15\167"+ - "\1\u01a0\11\167\17\0\5\167\10\0\14\167\1\u01a1\12\167"+ - "\17\0\5\167\10\0\13\167\1\u01a2\13\167\17\0\5\167"+ - "\10\0\13\167\1\u01a3\13\167\17\0\5\317\4\0\12\317"+ - "\40\0\5\322\4\0\12\322\40\0\5\105\10\0\4\105"+ - "\1\u01a4\22\105\17\0\5\105\10\0\4\105\1\u01a5\22\105"+ - "\17\0\5\142\10\0\4\142\1\u01a6\22\142\17\0\5\142"+ - "\10\0\4\142\1\u01a7\22\142\17\0\5\167\10\0\4\167"+ - "\1\u01a8\22\167\17\0\5\167\10\0\4\167\1\u01a9\22\167"+ + "\1\111\2\105\1\112\3\105\1\113\1\114\1\115\1\105"+ + "\1\116\1\117\5\105\1\42\1\104\2\42\3\43\1\120"+ + "\6\42\1\44\5\121\1\42\1\122\1\123\1\124\1\125"+ + "\1\42\1\46\1\42\27\121\1\42\1\104\2\42\3\43"+ + "\3\42\1\126\1\54\1\42\1\55\1\42\5\56\6\42"+ + "\1\127\1\42\27\56\4\42\3\43\4\42\1\130\1\42"+ + "\1\55\1\42\5\131\10\42\27\131\4\42\3\43\1\42"+ + "\1\132\3\42\1\133\2\42\5\133\1\64\7\42\27\133"+ + "\4\42\3\43\7\42\1\44\5\42\1\134\12\42\1\135"+ + "\1\136\7\42\1\137\13\42\1\73\2\42\3\43\7\42"+ + "\1\44\5\65\1\140\3\42\1\141\1\42\1\46\1\42"+ + "\27\65\1\72\1\142\2\42\3\43\7\42\1\44\5\143"+ + "\10\42\1\143\1\144\1\143\1\145\1\146\3\143\1\147"+ + "\3\143\1\150\1\151\1\152\1\143\1\153\1\154\5\143"+ + "\1\42\1\142\2\42\3\43\1\120\6\42\1\44\5\155"+ + "\1\42\1\156\1\157\1\124\1\125\1\42\1\46\1\42"+ + "\27\155\1\42\1\142\2\42\3\43\3\42\1\160\1\54"+ + "\1\42\1\55\1\42\5\56\6\42\1\161\1\42\27\56"+ + "\4\42\3\43\4\42\1\162\1\42\1\55\1\42\5\163"+ + "\10\42\27\163\4\42\3\43\1\42\1\164\3\42\1\165"+ + "\2\42\5\165\1\64\7\42\27\165\4\42\3\43\7\42"+ + "\1\44\5\65\1\166\3\42\1\167\1\42\1\46\1\42"+ + "\27\65\1\72\1\142\2\42\3\43\7\42\1\44\5\170"+ + "\10\42\1\170\1\171\1\170\1\172\1\173\3\170\1\174"+ + "\3\170\1\175\1\176\1\177\1\170\1\200\1\201\5\170"+ + "\1\42\1\142\2\42\3\43\1\120\6\42\1\44\5\202"+ + "\1\42\1\203\1\204\1\124\1\125\1\42\1\46\1\42"+ + "\27\202\1\42\1\142\2\42\3\43\3\42\1\205\1\54"+ + "\1\42\1\55\1\42\5\56\6\42\1\206\1\42\27\56"+ + "\4\42\3\43\4\42\1\207\1\42\1\55\1\42\5\210"+ + "\10\42\27\210\4\42\3\43\1\42\1\211\3\42\1\212"+ + "\2\42\5\212\1\64\7\42\27\212\4\42\3\43\6\42"+ + "\1\55\1\44\5\65\4\42\1\213\1\42\1\46\1\42"+ + "\27\65\1\72\1\142\2\42\3\43\3\42\1\214\1\54"+ + "\1\42\1\55\1\42\5\56\6\42\1\215\1\42\27\56"+ + "\4\42\3\43\4\42\1\216\1\42\1\55\1\42\5\217"+ + "\10\42\27\217\4\42\3\43\1\42\1\220\3\42\1\221"+ + "\2\42\5\221\1\64\7\42\27\221\4\42\3\43\7\42"+ + "\1\44\5\65\1\42\1\222\6\42\3\65\1\223\1\224"+ + "\22\65\3\42\64\0\3\43\72\0\1\225\104\0\1\226"+ + "\25\0\2\50\2\0\56\50\1\0\2\52\1\0\60\52"+ + "\14\0\5\56\10\0\27\56\17\0\5\61\10\0\27\61"+ + "\3\0\5\227\1\230\20\227\1\231\34\227\11\0\1\63"+ + "\2\0\5\63\10\0\27\63\17\0\5\65\10\0\27\65"+ + "\17\0\5\65\10\0\1\232\26\65\17\0\5\65\10\0"+ + "\15\65\1\233\2\65\1\234\4\65\1\235\1\65\17\0"+ + "\5\65\10\0\4\65\1\236\22\65\17\0\5\77\10\0"+ + "\27\77\3\0\5\237\1\240\20\237\1\241\34\237\11\0"+ + "\1\101\2\0\5\101\10\0\27\101\17\0\5\105\10\0"+ + "\27\105\17\0\5\105\10\0\16\105\1\242\7\105\1\243"+ + "\17\0\5\105\10\0\1\244\3\105\1\245\11\105\1\246"+ + "\10\105\17\0\5\105\10\0\20\105\1\247\6\105\17\0"+ + "\5\105\10\0\13\105\1\250\13\105\17\0\5\105\10\0"+ + "\15\105\1\251\11\105\17\0\5\105\10\0\1\252\26\105"+ + "\17\0\5\105\10\0\23\105\1\253\3\105\17\0\5\105"+ + "\10\0\1\105\1\254\25\105\17\0\5\105\10\0\4\105"+ + "\1\255\22\105\17\0\5\105\10\0\22\105\1\256\4\105"+ + "\17\0\5\121\10\0\27\121\17\0\5\131\10\0\27\131"+ + "\3\0\5\257\1\260\20\257\1\261\34\257\11\0\1\133"+ + "\2\0\5\133\10\0\27\133\34\0\1\262\77\0\1\263"+ + "\2\0\1\264\46\0\1\265\41\0\5\143\10\0\27\143"+ + "\17\0\5\143\10\0\16\143\1\266\7\143\1\267\17\0"+ + "\5\143\10\0\1\270\3\143\1\271\11\143\1\272\10\143"+ + "\17\0\5\143\10\0\20\143\1\273\6\143\17\0\5\143"+ + "\10\0\15\143\1\274\11\143\17\0\5\143\10\0\1\275"+ + "\26\143\17\0\5\143\10\0\23\143\1\276\3\143\17\0"+ + "\5\143\10\0\1\143\1\277\25\143\17\0\5\143\10\0"+ + "\4\143\1\300\22\143\17\0\5\143\10\0\22\143\1\301"+ + "\4\143\17\0\5\155\10\0\27\155\17\0\5\163\10\0"+ + "\27\163\3\0\5\302\1\303\20\302\1\304\34\302\11\0"+ + "\1\165\2\0\5\165\10\0\27\165\17\0\5\170\10\0"+ + "\27\170\17\0\5\170\10\0\16\170\1\305\7\170\1\306"+ + "\17\0\5\170\10\0\1\307\3\170\1\310\11\170\1\311"+ + "\10\170\17\0\5\170\10\0\20\170\1\312\6\170\17\0"+ + "\5\170\10\0\15\170\1\313\11\170\17\0\5\170\10\0"+ + "\1\314\26\170\17\0\5\170\10\0\23\170\1\315\3\170"+ + "\17\0\5\170\10\0\1\170\1\316\25\170\17\0\5\170"+ + "\10\0\4\170\1\317\22\170\17\0\5\170\10\0\22\170"+ + "\1\320\4\170\17\0\5\202\10\0\27\202\17\0\5\210"+ + "\10\0\27\210\3\0\5\321\1\322\20\321\1\323\34\321"+ + "\11\0\1\212\2\0\5\212\10\0\27\212\17\0\5\217"+ + "\10\0\27\217\3\0\5\324\1\325\20\324\1\326\34\324"+ + "\11\0\1\221\2\0\5\221\10\0\27\221\17\0\5\65"+ + "\10\0\1\327\26\65\17\0\5\65\10\0\15\65\1\330"+ + "\11\65\3\0\2\225\1\0\60\225\51\0\1\331\16\0"+ + "\1\227\5\0\1\227\12\0\1\227\3\0\1\227\3\0"+ + "\1\227\7\0\1\227\2\0\1\227\1\0\1\227\1\332"+ + "\22\0\5\65\10\0\22\65\1\333\4\65\17\0\5\65"+ + "\10\0\23\65\1\334\3\65\17\0\5\65\10\0\20\65"+ + "\1\335\6\65\17\0\5\65\10\0\22\65\1\336\4\65"+ + "\17\0\5\65\10\0\22\65\1\337\4\65\10\0\1\237"+ + "\5\0\1\237\12\0\1\237\3\0\1\237\3\0\1\237"+ + "\7\0\1\237\2\0\1\237\1\0\1\237\1\340\22\0"+ + "\5\105\10\0\16\105\1\341\10\105\17\0\5\105\10\0"+ + "\22\105\1\342\4\105\17\0\5\105\10\0\22\105\1\343"+ + "\4\105\17\0\5\105\10\0\2\105\1\344\24\105\17\0"+ + "\5\105\10\0\23\105\1\345\3\105\17\0\5\105\10\0"+ + "\20\105\1\346\6\105\17\0\5\105\10\0\16\105\1\347"+ + "\10\105\17\0\5\105\10\0\22\105\1\350\4\105\17\0"+ + "\5\105\10\0\17\105\1\351\7\105\17\0\5\105\10\0"+ + "\13\105\1\352\13\105\17\0\5\105\10\0\11\105\1\353"+ + "\15\105\17\0\5\105\10\0\21\105\1\354\5\105\17\0"+ + "\5\105\10\0\20\105\1\355\6\105\10\0\1\257\5\0"+ + "\1\257\12\0\1\257\3\0\1\257\3\0\1\257\7\0"+ + "\1\257\2\0\1\257\1\0\1\257\1\356\61\0\1\357"+ + "\63\0\1\360\57\0\1\361\64\0\1\362\23\0\5\143"+ + "\10\0\16\143\1\363\10\143\17\0\5\143\10\0\22\143"+ + "\1\364\4\143\17\0\5\143\10\0\22\143\1\365\4\143"+ + "\17\0\5\143\10\0\2\143\1\366\24\143\17\0\5\143"+ + "\10\0\23\143\1\367\3\143\17\0\5\143\10\0\20\143"+ + "\1\370\6\143\17\0\5\143\10\0\22\143\1\371\4\143"+ + "\17\0\5\143\10\0\17\143\1\372\7\143\17\0\5\143"+ + "\10\0\13\143\1\373\13\143\17\0\5\143\10\0\11\143"+ + "\1\374\15\143\17\0\5\143\10\0\21\143\1\375\5\143"+ + "\17\0\5\143\10\0\20\143\1\376\6\143\10\0\1\302"+ + "\5\0\1\302\12\0\1\302\3\0\1\302\3\0\1\302"+ + "\7\0\1\302\2\0\1\302\1\0\1\302\1\377\22\0"+ + "\5\170\10\0\16\170\1\u0100\10\170\17\0\5\170\10\0"+ + "\22\170\1\u0101\4\170\17\0\5\170\10\0\22\170\1\u0102"+ + "\4\170\17\0\5\170\10\0\2\170\1\u0103\24\170\17\0"+ + "\5\170\10\0\23\170\1\u0104\3\170\17\0\5\170\10\0"+ + "\20\170\1\u0105\6\170\17\0\5\170\10\0\22\170\1\u0106"+ + "\4\170\17\0\5\170\10\0\17\170\1\u0107\7\170\17\0"+ + "\5\170\10\0\13\170\1\u0108\13\170\17\0\5\170\10\0"+ + "\11\170\1\u0109\15\170\17\0\5\170\10\0\21\170\1\u010a"+ + "\5\170\17\0\5\170\10\0\20\170\1\u010b\6\170\10\0"+ + "\1\321\5\0\1\321\12\0\1\321\3\0\1\321\3\0"+ + "\1\321\7\0\1\321\2\0\1\321\1\0\1\321\1\u010c"+ + "\13\0\1\324\5\0\1\324\12\0\1\324\3\0\1\324"+ + "\3\0\1\324\7\0\1\324\2\0\1\324\1\0\1\324"+ + "\1\u010d\22\0\5\65\10\0\22\65\1\u010e\4\65\17\0"+ + "\5\65\10\0\23\65\1\u010f\3\65\60\0\1\u0110\21\0"+ + "\5\u0111\4\0\12\u0111\40\0\5\65\10\0\1\u0112\26\65"+ + "\17\0\5\65\10\0\14\65\1\u0113\12\65\17\0\5\65"+ + "\10\0\16\65\1\u0114\10\65\17\0\5\65\10\0\4\65"+ + "\1\u0115\22\65\17\0\5\65\10\0\7\65\1\u0116\17\65"+ + "\17\0\5\u0117\4\0\12\u0117\40\0\5\105\10\0\13\105"+ + "\1\u0118\13\105\17\0\5\105\10\0\4\105\1\u0119\22\105"+ + "\17\0\5\105\10\0\4\105\1\u011a\22\105\17\0\5\105"+ + "\10\0\10\105\1\u011b\16\105\17\0\5\105\10\0\1\105"+ + "\1\u011c\25\105\17\0\5\105\10\0\16\105\1\u011d\10\105"+ + "\17\0\5\105\10\0\1\u011e\26\105\17\0\2\105\1\u011f"+ + "\1\105\1\u0120\10\0\27\105\17\0\5\105\10\0\13\105"+ + "\1\u0121\13\105\17\0\5\105\10\0\4\105\1\u0122\22\105"+ + "\17\0\5\105\10\0\23\105\1\u0123\3\105\17\0\5\105"+ + "\10\0\10\105\1\u0124\16\105\17\0\5\u0125\4\0\12\u0125"+ + "\55\0\1\u0126\76\0\1\u0127\64\0\1\u0128\53\0\1\u0129"+ + "\36\0\5\143\10\0\13\143\1\u012a\13\143\17\0\5\143"+ + "\10\0\4\143\1\u012b\22\143\17\0\5\143\10\0\4\143"+ + "\1\u012c\22\143\17\0\5\143\10\0\10\143\1\u012d\16\143"+ + "\17\0\5\143\10\0\1\143\1\u012e\25\143\17\0\5\143"+ + "\10\0\16\143\1\u012f\10\143\17\0\2\143\1\u0130\1\143"+ + "\1\u0131\10\0\27\143\17\0\5\143\10\0\13\143\1\u0132"+ + "\13\143\17\0\5\143\10\0\4\143\1\u0133\22\143\17\0"+ + "\5\143\10\0\23\143\1\u0134\3\143\17\0\5\143\10\0"+ + "\10\143\1\u0135\16\143\17\0\5\u0136\4\0\12\u0136\40\0"+ + "\5\170\10\0\13\170\1\u0137\13\170\17\0\5\170\10\0"+ + "\4\170\1\u0138\22\170\17\0\5\170\10\0\4\170\1\u0139"+ + "\22\170\17\0\5\170\10\0\10\170\1\u013a\16\170\17\0"+ + "\5\170\10\0\1\170\1\u013b\25\170\17\0\5\170\10\0"+ + "\16\170\1\u013c\10\170\17\0\2\170\1\u013d\1\170\1\u013e"+ + "\10\0\27\170\17\0\5\170\10\0\13\170\1\u013f\13\170"+ + "\17\0\5\170\10\0\4\170\1\u0140\22\170\17\0\5\170"+ + "\10\0\23\170\1\u0141\3\170\17\0\5\170\10\0\10\170"+ + "\1\u0142\16\170\17\0\5\u0143\4\0\12\u0143\40\0\5\u0144"+ + "\4\0\12\u0144\40\0\5\65\10\0\1\u0145\26\65\17\0"+ + "\5\65\10\0\14\65\1\u0146\12\65\44\0\1\u0147\35\0"+ + "\5\u0148\4\0\12\u0148\40\0\5\65\10\0\20\65\1\u0149"+ + "\6\65\17\0\5\65\10\0\20\65\1\u014a\6\65\17\0"+ + "\5\65\10\0\16\65\1\u014b\10\65\17\0\5\u014c\4\0"+ + "\12\u014c\40\0\5\105\10\0\4\105\1\u014d\22\105\17\0"+ + "\5\105\10\0\21\105\1\u014e\5\105\17\0\5\105\10\0"+ + "\22\105\1\u014f\4\105\17\0\5\105\10\0\14\105\1\u0150"+ + "\12\105\17\0\5\105\10\0\13\105\1\u0151\13\105\17\0"+ + "\5\105\10\0\20\105\1\u0152\6\105\17\0\5\105\10\0"+ + "\22\105\1\u0153\4\105\17\0\1\105\1\u0154\3\105\10\0"+ + "\27\105\17\0\3\105\1\u0155\1\105\10\0\27\105\17\0"+ + "\5\105\10\0\1\u0156\26\105\17\0\5\105\10\0\2\105"+ + "\1\u0157\24\105\17\0\5\105\10\0\13\105\1\u0158\13\105"+ + "\17\0\5\105\10\0\15\105\1\u0159\11\105\17\0\5\u015a"+ + "\4\0\12\u015a\75\0\1\u015b\60\0\1\u015c\27\0\5\143"+ + "\10\0\4\143\1\u015d\22\143\17\0\5\143\10\0\21\143"+ + "\1\u015e\5\143\17\0\5\143\10\0\22\143\1\u015f\4\143"+ + "\17\0\5\143\10\0\14\143\1\u0160\12\143\17\0\5\143"+ + "\10\0\13\143\1\u0161\13\143\17\0\5\143\10\0\20\143"+ + "\1\u0162\6\143\17\0\1\143\1\u0163\3\143\10\0\27\143"+ + "\17\0\3\143\1\u0164\1\143\10\0\27\143\17\0\5\143"+ + "\10\0\1\u0165\26\143\17\0\5\143\10\0\2\143\1\u0166"+ + "\24\143\17\0\5\143\10\0\13\143\1\u0167\13\143\17\0"+ + "\5\143\10\0\15\143\1\u0168\11\143\17\0\5\u0169\4\0"+ + "\12\u0169\40\0\5\170\10\0\4\170\1\u016a\22\170\17\0"+ + "\5\170\10\0\21\170\1\u016b\5\170\17\0\5\170\10\0"+ + "\22\170\1\u016c\4\170\17\0\5\170\10\0\14\170\1\u016d"+ + "\12\170\17\0\5\170\10\0\13\170\1\u016e\13\170\17\0"+ + "\5\170\10\0\20\170\1\u016f\6\170\17\0\1\170\1\u0170"+ + "\3\170\10\0\27\170\17\0\3\170\1\u0171\1\170\10\0"+ + "\27\170\17\0\5\170\10\0\1\u0172\26\170\17\0\5\170"+ + "\10\0\2\170\1\u0173\24\170\17\0\5\170\10\0\13\170"+ + "\1\u0174\13\170\17\0\5\170\10\0\15\170\1\u0175\11\170"+ + "\17\0\5\u0176\4\0\12\u0176\40\0\5\u0177\4\0\12\u0177"+ + "\57\0\1\u0178\43\0\5\u0179\4\0\12\u0179\40\0\5\65"+ + "\10\0\21\65\1\u017a\5\65\17\0\5\65\10\0\15\65"+ + "\1\u017b\11\65\17\0\5\65\10\0\3\65\1\u017c\23\65"+ + "\17\0\5\u017d\4\0\12\u017d\40\0\5\105\10\0\1\u017e"+ + "\26\105\17\0\5\105\10\0\10\105\1\u017f\16\105\17\0"+ + "\5\105\10\0\1\u0180\26\105\17\0\5\105\10\0\4\105"+ + "\1\u0181\22\105\17\0\5\105\10\0\1\105\1\u0182\25\105"+ + "\17\0\5\105\10\0\22\105\1\u0183\4\105\17\0\5\105"+ + "\10\0\22\105\1\u0184\4\105\17\0\5\105\10\0\6\105"+ + "\1\u0185\20\105\17\0\5\u0186\4\0\12\u0186\76\0\1\u0187"+ + "\44\0\1\u0188\42\0\5\143\10\0\1\u0189\26\143\17\0"+ + "\5\143\10\0\10\143\1\u018a\16\143\17\0\5\143\10\0"+ + "\1\u018b\26\143\17\0\5\143\10\0\4\143\1\u018c\22\143"+ + "\17\0\5\143\10\0\1\143\1\u018d\25\143\17\0\5\143"+ + "\10\0\22\143\1\u018e\4\143\17\0\5\143\10\0\22\143"+ + "\1\u018f\4\143\17\0\5\143\10\0\6\143\1\u0190\20\143"+ + "\17\0\5\u0191\4\0\12\u0191\40\0\5\170\10\0\1\u0192"+ + "\26\170\17\0\5\170\10\0\10\170\1\u0193\16\170\17\0"+ + "\5\170\10\0\1\u0194\26\170\17\0\5\170\10\0\4\170"+ + "\1\u0195\22\170\17\0\5\170\10\0\1\170\1\u0196\25\170"+ + "\17\0\5\170\10\0\22\170\1\u0197\4\170\17\0\5\170"+ + "\10\0\22\170\1\u0198\4\170\17\0\5\170\10\0\6\170"+ + "\1\u0199\20\170\17\0\5\u019a\4\0\12\u019a\40\0\5\u019b"+ + "\4\0\12\u019b\61\0\1\u019c\41\0\5\227\4\0\12\227"+ + "\40\0\5\237\4\0\12\237\40\0\5\105\10\0\15\105"+ + "\1\u019d\11\105\17\0\5\105\10\0\14\105\1\u019e\12\105"+ + "\17\0\5\105\10\0\13\105\1\u019f\13\105\17\0\5\105"+ + "\10\0\13\105\1\u01a0\13\105\17\0\5\257\4\0\12\257"+ + "\40\0\5\143\10\0\15\143\1\u01a1\11\143\17\0\5\143"+ + "\10\0\14\143\1\u01a2\12\143\17\0\5\143\10\0\13\143"+ + "\1\u01a3\13\143\17\0\5\143\10\0\13\143\1\u01a4\13\143"+ + "\17\0\5\302\4\0\12\302\40\0\5\170\10\0\15\170"+ + "\1\u01a5\11\170\17\0\5\170\10\0\14\170\1\u01a6\12\170"+ + "\17\0\5\170\10\0\13\170\1\u01a7\13\170\17\0\5\170"+ + "\10\0\13\170\1\u01a8\13\170\17\0\5\321\4\0\12\321"+ + "\40\0\5\324\4\0\12\324\40\0\5\105\10\0\4\105"+ + "\1\u01a9\22\105\17\0\5\105\10\0\4\105\1\u01aa\22\105"+ + "\17\0\5\143\10\0\4\143\1\u01ab\22\143\17\0\5\143"+ + "\10\0\4\143\1\u01ac\22\143\17\0\5\170\10\0\4\170"+ + "\1\u01ad\22\170\17\0\5\170\10\0\4\170\1\u01ae\22\170"+ "\3\0"; private static int [] zzUnpacktrans() { - int [] result = new int[16065]; + int [] result = new int[16269]; int offset = 0; offset = zzUnpacktrans(ZZ_TRANS_PACKED_0, offset, result); return result; @@ -569,20 +572,20 @@ private static int zzUnpacktrans(String packed, int offset, int [] result) { private static final String ZZ_ATTRIBUTE_PACKED_0 = "\41\0\1\11\2\1\2\11\2\1\1\11\1\1\3\11"+ "\1\1\2\11\3\1\1\11\1\1\1\11\3\1\5\11"+ - "\3\1\3\11\12\1\1\11\1\1\7\11\3\1\1\11"+ + "\3\1\3\11\13\1\1\11\1\1\7\11\3\1\1\11"+ "\3\1\3\11\13\1\5\11\3\1\2\11\13\1\5\11"+ "\3\1\4\11\3\1\1\11\3\1\2\0\1\11\1\0"+ - "\5\1\1\0\1\11\1\0\14\1\1\0\1\11\5\0"+ + "\5\1\1\0\1\11\1\0\15\1\1\0\1\11\5\0"+ "\14\1\1\0\1\11\1\0\14\1\1\0\1\11\2\0"+ - "\1\11\1\0\2\1\2\0\5\1\1\0\14\1\5\0"+ + "\1\11\1\0\2\1\2\0\5\1\1\0\15\1\5\0"+ "\14\1\1\0\14\1\2\0\2\1\2\0\5\1\1\0"+ - "\14\1\1\0\2\11\2\0\14\1\1\0\14\1\2\0"+ - "\2\1\2\0\3\1\1\0\14\1\3\0\14\1\1\0"+ + "\15\1\1\0\2\11\2\0\14\1\1\0\14\1\2\0"+ + "\2\1\2\0\3\1\1\0\15\1\3\0\14\1\1\0"+ "\14\1\4\0\3\1\1\0\10\1\1\0\2\11\10\1"+ "\1\0\10\1\2\0\1\11\22\1"; private static int [] zzUnpackAttribute() { - int [] result = new int[425]; + int [] result = new int[430]; int offset = 0; offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); return result; @@ -651,7 +654,7 @@ the source of the yytext() string */ /* user code: */ public _FsdLexer() { - this(null); + this((java.io.Reader)null); } @@ -900,592 +903,597 @@ else if (zzAtEOF) { { return BAD_CHARACTER; } // fall through - case 119: break; + case 120: break; case 2: { return WHITE_SPACE; } // fall through - case 120: break; + case 121: break; case 3: { yybegin(SERVICE_ATTRIBUTE); return LEFT_BRACKET; } // fall through - case 121: break; + case 122: break; case 4: { return RIGHT_BRACKET; } // fall through - case 122: break; + case 123: break; case 5: { return MARKDOWNTEXT; } // fall through - case 123: break; + case 124: break; case 6: { return MARKDOWNHEADING; } // fall through - case 124: break; + case 125: break; case 7: { yybegin(SERVICE_ATTRIBUTE_PARAMETER_LIST); return LEFT_PAREN; } // fall through - case 125: break; + case 126: break; case 8: { return RIGHT_PAREN; } // fall through - case 126: break; + case 127: break; case 9: { return COMMA; } // fall through - case 127: break; + case 128: break; case 10: { return ATTRIBUTENAME; } // fall through - case 128: break; + case 129: break; case 11: { yybegin(YYINITIAL); return RIGHT_BRACKET; } // fall through - case 129: break; + case 130: break; case 12: { yybegin(SERVICE_ATTRIBUTE); return RIGHT_PAREN; } // fall through - case 130: break; + case 131: break; case 13: { yybegin(SERVICE_ATTRIBUTE_ARGUMENT); return IDENTIFIER; } // fall through - case 131: break; + case 132: break; case 14: { yybegin(SERVICE_ATTRIBUTE_PARAMETER_LIST); return ATTRIBUTEPARAMETERVALUE; } // fall through - case 132: break; + case 133: break; case 15: { return COLON; } // fall through - case 133: break; + case 134: break; case 16: { return IDENTIFIER; } // fall through - case 134: break; + case 135: break; case 17: { yybegin(SERVICE_BODY_ATTRIBUTE); return LEFT_BRACKET; } // fall through - case 135: break; + case 136: break; case 18: { return LEFT_BRACE; } // fall through - case 136: break; + case 137: break; case 19: { yybegin(MARKDOWN_SECTION); return RIGHT_BRACE; } // fall through - case 137: break; + case 138: break; case 20: { yybegin(SERVICE_BODY_ATTRIBUTE_PARAMETER_LIST); return LEFT_PAREN; } // fall through - case 138: break; + case 139: break; case 21: { yybegin(SERVICE_BODY); return RIGHT_BRACKET; } // fall through - case 139: break; + case 140: break; case 22: { yybegin(SERVICE_BODY_ATTRIBUTE); return RIGHT_PAREN; } // fall through - case 140: break; + case 141: break; case 23: { yybegin(SERVICE_BODY_ATTRIBUTE_ARGUMENT); return IDENTIFIER; } // fall through - case 141: break; + case 142: break; case 24: { yybegin(SERVICE_BODY_ATTRIBUTE_PARAMETER_LIST); return ATTRIBUTEPARAMETERVALUE; } // fall through - case 142: break; + case 143: break; case 25: { yybegin(METHOD_BODY_TYPE); return COLON; } // fall through - case 143: break; + case 144: break; case 26: { yybegin(METHOD_BODY_ATTRIBUTE); return LEFT_BRACKET; } // fall through - case 144: break; + case 145: break; case 27: { yybegin(RESPONSE_SEPARATOR); return RIGHT_BRACE; } // fall through - case 145: break; + case 146: break; case 28: { yybegin(METHOD_BODY_TYPE_END); return TYPENAME; } // fall through - case 146: break; + case 147: break; case 29: { return BANG; } // fall through - case 147: break; + case 148: break; case 30: { yybegin(METHOD_BODY); return IDENTIFIER; } // fall through - case 148: break; + case 149: break; case 31: { yybegin(METHOD_BODY); return SEMI; } // fall through - case 149: break; + case 150: break; case 32: { yybegin(METHOD_BODY_TYPE); return LEFT_ANGLE; } // fall through - case 150: break; + case 151: break; case 33: { return RIGHT_ANGLE; } // fall through - case 151: break; + case 152: break; case 34: { return LEFT_BRACKET; } // fall through - case 152: break; + case 153: break; case 35: { yybegin(METHOD_BODY_ATTRIBUTE_PARAMETER_LIST); return LEFT_PAREN; } // fall through - case 153: break; + case 154: break; case 36: { yybegin(METHOD_BODY); return RIGHT_BRACKET; } // fall through - case 154: break; + case 155: break; case 37: { yybegin(METHOD_BODY_ATTRIBUTE); return RIGHT_PAREN; } // fall through - case 155: break; + case 156: break; case 38: { yybegin(METHOD_BODY_ATTRIBUTE_ARGUMENT); return IDENTIFIER; } // fall through - case 156: break; + case 157: break; case 39: { yybegin(METHOD_BODY_ATTRIBUTE_PARAMETER_LIST); return ATTRIBUTEPARAMETERVALUE; } // fall through - case 157: break; + case 158: break; case 40: { yybegin(RESPONSE_BODY); return COLON; } // fall through - case 158: break; + case 159: break; case 41: { yybegin(RESPONSE_BODY_TYPE); return COLON; } // fall through - case 159: break; + case 160: break; case 42: { yybegin(RESPONSE_BODY_ATTRIBUTE); return LEFT_BRACKET; } // fall through - case 160: break; + case 161: break; case 43: { yybegin(SERVICE_BODY); return RIGHT_BRACE; } // fall through - case 161: break; + case 162: break; case 44: { yybegin(RESPONSE_BODY_TYPE_END); return TYPENAME; } // fall through - case 162: break; + case 163: break; case 45: { yybegin(RESPONSE_BODY); return IDENTIFIER; } // fall through - case 163: break; + case 164: break; case 46: { yybegin(RESPONSE_BODY); return SEMI; } // fall through - case 164: break; + case 165: break; case 47: { yybegin(RESPONSE_BODY_TYPE); return LEFT_ANGLE; } // fall through - case 165: break; + case 166: break; case 48: { yybegin(RESPONSE_BODY_ATTRIBUTE_PARAMETER_LIST); return LEFT_PAREN; } // fall through - case 166: break; + case 167: break; case 49: { yybegin(RESPONSE_BODY); return RIGHT_BRACKET; } // fall through - case 167: break; + case 168: break; case 50: { yybegin(RESPONSE_BODY_ATTRIBUTE); return RIGHT_PAREN; } // fall through - case 168: break; + case 169: break; case 51: { yybegin(RESPONSE_BODY_ATTRIBUTE_ARGUMENT); return IDENTIFIER; } // fall through - case 169: break; + case 170: break; case 52: { yybegin(RESPONSE_BODY_ATTRIBUTE_PARAMETER_LIST); return ATTRIBUTEPARAMETERVALUE; } // fall through - case 170: break; + case 171: break; case 53: { yybegin(DATA_BODY_TYPE); return COLON; } // fall through - case 171: break; + case 172: break; case 54: { yybegin(DATA_BODY_ATTRIBUTE); return LEFT_BRACKET; } // fall through - case 172: break; + case 173: break; case 55: { yybegin(DATA_BODY_TYPE_END); return TYPENAME; } // fall through - case 173: break; + case 174: break; case 56: { yybegin(DATA_BODY); return IDENTIFIER; } // fall through - case 174: break; + case 175: break; case 57: { yybegin(DATA_BODY); return SEMI; } // fall through - case 175: break; + case 176: break; case 58: { yybegin(DATA_BODY_TYPE); return LEFT_ANGLE; } // fall through - case 176: break; + case 177: break; case 59: { yybegin(DATA_BODY_ATTRIBUTE_PARAMETER_LIST); return LEFT_PAREN; } // fall through - case 177: break; + case 178: break; case 60: { yybegin(DATA_BODY); return RIGHT_BRACKET; } // fall through - case 178: break; + case 179: break; case 61: { yybegin(DATA_BODY_ATTRIBUTE); return RIGHT_PAREN; } // fall through - case 179: break; + case 180: break; case 62: { yybegin(DATA_BODY_ATTRIBUTE_ARGUMENT); return IDENTIFIER; } // fall through - case 180: break; + case 181: break; case 63: { yybegin(DATA_BODY_ATTRIBUTE_PARAMETER_LIST); return ATTRIBUTEPARAMETERVALUE; } // fall through - case 181: break; + case 182: break; case 64: { yybegin(LIST_BODY_ATTRIBUTE); return LEFT_BRACKET; } // fall through - case 182: break; + case 183: break; case 65: { yybegin(LIST_BODY_ATTRIBUTE_PARAMETER_LIST); return LEFT_PAREN; } // fall through - case 183: break; + case 184: break; case 66: { yybegin(LIST_BODY); return RIGHT_BRACKET; } // fall through - case 184: break; + case 185: break; case 67: { yybegin(LIST_BODY_ATTRIBUTE); return RIGHT_PAREN; } // fall through - case 185: break; + case 186: break; case 68: { yybegin(LIST_BODY_ATTRIBUTE_ARGUMENT); return IDENTIFIER; } // fall through - case 186: break; + case 187: break; case 69: { yybegin(LIST_BODY_ATTRIBUTE_PARAMETER_LIST); return ATTRIBUTEPARAMETERVALUE; } // fall through - case 187: break; + case 188: break; case 70: { yybegin(SERVICE_BODY); return SEMI; } // fall through - case 188: break; + case 189: break; case 71: { return COMMENT; } // fall through - case 189: break; + case 190: break; case 72: { yybegin(METHOD_BODY_TYPE_END); return MAP; } // fall through - case 190: break; + case 191: break; case 73: { yybegin(RESPONSE_BODY_TYPE_END); return MAP; } // fall through - case 191: break; + case 192: break; case 74: { yybegin(DATA_BODY_TYPE_END); return MAP; } // fall through - case 192: break; + case 193: break; case 75: { yybegin(DATA_BODY); return DATA; } // fall through - case 193: break; + case 194: break; case 76: { yybegin(LIST_BODY); return ENUM; } // fall through - case 194: break; + case 195: break; case 77: { return DATA; } // fall through - case 195: break; + case 196: break; case 78: { return ENUM; } // fall through - case 196: break; + case 197: break; case 79: { yybegin(METHOD_BODY_TYPE_END); return BYTES; } // fall through - case 197: break; + case 198: break; case 80: { yybegin(METHOD_BODY_TYPE_END); return ERROR; } // fall through - case 198: break; + case 199: break; case 81: - { yybegin(METHOD_BODY_TYPE_END); return INT32; + { yybegin(METHOD_BODY_TYPE_END); return FLOAT; } // fall through - case 199: break; + case 200: break; case 82: - { yybegin(METHOD_BODY_TYPE_END); return INT64; + { yybegin(METHOD_BODY_TYPE_END); return INT32; } // fall through - case 200: break; + case 201: break; case 83: - { yybegin(RESPONSE_BODY_TYPE_END); return BYTES; + { yybegin(METHOD_BODY_TYPE_END); return INT64; } // fall through - case 201: break; + case 202: break; case 84: - { yybegin(RESPONSE_BODY_TYPE_END); return ERROR; + { yybegin(RESPONSE_BODY_TYPE_END); return BYTES; } // fall through - case 202: break; + case 203: break; case 85: - { yybegin(RESPONSE_BODY_TYPE_END); return INT32; + { yybegin(RESPONSE_BODY_TYPE_END); return ERROR; } // fall through - case 203: break; + case 204: break; case 86: - { yybegin(RESPONSE_BODY_TYPE_END); return INT64; + { yybegin(RESPONSE_BODY_TYPE_END); return INT32; } // fall through - case 204: break; + case 205: break; case 87: - { yybegin(DATA_BODY_TYPE_END); return BYTES; + { yybegin(RESPONSE_BODY_TYPE_END); return INT64; } // fall through - case 205: break; + case 206: break; case 88: - { yybegin(DATA_BODY_TYPE_END); return ERROR; + { yybegin(DATA_BODY_TYPE_END); return BYTES; } // fall through - case 206: break; + case 207: break; case 89: - { yybegin(DATA_BODY_TYPE_END); return INT32; + { yybegin(DATA_BODY_TYPE_END); return ERROR; } // fall through - case 207: break; + case 208: break; case 90: - { yybegin(DATA_BODY_TYPE_END); return INT64; + { yybegin(DATA_BODY_TYPE_END); return INT32; } // fall through - case 208: break; + case 209: break; case 91: - { yybegin(LIST_BODY); return ERRORS; + { yybegin(DATA_BODY_TYPE_END); return INT64; } // fall through - case 209: break; + case 210: break; case 92: - { yybegin(EXTERN_DECL); return EXTERN; + { yybegin(LIST_BODY); return ERRORS; } // fall through - case 210: break; + case 211: break; case 93: - { yybegin(METHOD_BODY); return METHOD; + { yybegin(EXTERN_DECL); return EXTERN; } // fall through - case 211: break; + case 212: break; case 94: - { yybegin(METHOD_BODY_TYPE_END); return DOUBLE; + { yybegin(METHOD_BODY); return METHOD; } // fall through - case 212: break; + case 213: break; case 95: - { yybegin(METHOD_BODY_TYPE_END); return OBJECT; + { yybegin(METHOD_BODY_TYPE_END); return DOUBLE; } // fall through - case 213: break; + case 214: break; case 96: - { yybegin(METHOD_BODY_TYPE_END); return RESULT; + { yybegin(METHOD_BODY_TYPE_END); return OBJECT; } // fall through - case 214: break; + case 215: break; case 97: - { yybegin(METHOD_BODY_TYPE_END); return STRING; + { yybegin(METHOD_BODY_TYPE_END); return RESULT; } // fall through - case 215: break; + case 216: break; case 98: - { yybegin(RESPONSE_BODY_TYPE_END); return DOUBLE; + { yybegin(METHOD_BODY_TYPE_END); return STRING; } // fall through - case 216: break; + case 217: break; case 99: - { yybegin(RESPONSE_BODY_TYPE_END); return OBJECT; + { yybegin(RESPONSE_BODY_TYPE_END); return DOUBLE; } // fall through - case 217: break; + case 218: break; case 100: - { yybegin(RESPONSE_BODY_TYPE_END); return RESULT; + { yybegin(RESPONSE_BODY_TYPE_END); return OBJECT; } // fall through - case 218: break; + case 219: break; case 101: - { yybegin(RESPONSE_BODY_TYPE_END); return STRING; + { yybegin(RESPONSE_BODY_TYPE_END); return RESULT; } // fall through - case 219: break; + case 220: break; case 102: - { yybegin(DATA_BODY_TYPE_END); return DOUBLE; + { yybegin(RESPONSE_BODY_TYPE_END); return STRING; } // fall through - case 220: break; + case 221: break; case 103: - { yybegin(DATA_BODY_TYPE_END); return OBJECT; + { yybegin(DATA_BODY_TYPE_END); return DOUBLE; } // fall through - case 221: break; + case 222: break; case 104: - { yybegin(DATA_BODY_TYPE_END); return RESULT; + { yybegin(DATA_BODY_TYPE_END); return OBJECT; } // fall through - case 222: break; + case 223: break; case 105: - { yybegin(DATA_BODY_TYPE_END); return STRING; + { yybegin(DATA_BODY_TYPE_END); return RESULT; } // fall through - case 223: break; + case 224: break; case 106: - { yybegin(SERVICE_BODY); return SERVICE; + { yybegin(DATA_BODY_TYPE_END); return STRING; } // fall through - case 224: break; + case 225: break; case 107: - { yybegin(METHOD_BODY_TYPE_END); return BOOLEAN; + { yybegin(SERVICE_BODY); return SERVICE; } // fall through - case 225: break; + case 226: break; case 108: - { yybegin(METHOD_BODY_TYPE_END); return DECIMAL; + { yybegin(METHOD_BODY_TYPE_END); return BOOLEAN; } // fall through - case 226: break; + case 227: break; case 109: - { yybegin(RESPONSE_BODY_TYPE_END); return BOOLEAN; + { yybegin(METHOD_BODY_TYPE_END); return DECIMAL; } // fall through - case 227: break; + case 228: break; case 110: - { yybegin(RESPONSE_BODY_TYPE_END); return DECIMAL; + { yybegin(RESPONSE_BODY_TYPE_END); return BOOLEAN; } // fall through - case 228: break; + case 229: break; case 111: - { yybegin(DATA_BODY_TYPE_END); return BOOLEAN; + { yybegin(RESPONSE_BODY_TYPE_END); return DECIMAL; } // fall through - case 229: break; + case 230: break; case 112: - { yybegin(DATA_BODY_TYPE_END); return DECIMAL; + { yybegin(DATA_BODY_TYPE_END); return BOOLEAN; } // fall through - case 230: break; + case 231: break; case 113: - { yybegin(METHOD_BODY_TYPE_END); return DATETIME; + { yybegin(DATA_BODY_TYPE_END); return DECIMAL; } // fall through - case 231: break; + case 232: break; case 114: - { yybegin(METHOD_BODY_TYPE_END); return NULLABLE; + { yybegin(METHOD_BODY_TYPE_END); return DATETIME; } // fall through - case 232: break; + case 233: break; case 115: - { yybegin(RESPONSE_BODY_TYPE_END); return DATETIME; + { yybegin(METHOD_BODY_TYPE_END); return NULLABLE; } // fall through - case 233: break; + case 234: break; case 116: - { yybegin(RESPONSE_BODY_TYPE_END); return NULLABLE; + { yybegin(RESPONSE_BODY_TYPE_END); return DATETIME; } // fall through - case 234: break; + case 235: break; case 117: - { yybegin(DATA_BODY_TYPE_END); return DATETIME; + { yybegin(RESPONSE_BODY_TYPE_END); return NULLABLE; } // fall through - case 235: break; + case 236: break; case 118: + { yybegin(DATA_BODY_TYPE_END); return DATETIME; + } + // fall through + case 237: break; + case 119: { yybegin(DATA_BODY_TYPE_END); return NULLABLE; } // fall through - case 236: break; + case 238: break; default: zzScanError(ZZ_NO_MATCH); } diff --git a/src/main/gen/io/github/facilityapi/intellij/parser/FsdParser.java b/src/main/gen/io/github/facilityapi/intellij/parser/FsdParser.java index 2e2d4ae..34de863 100644 --- a/src/main/gen/io/github/facilityapi/intellij/parser/FsdParser.java +++ b/src/main/gen/io/github/facilityapi/intellij/parser/FsdParser.java @@ -836,7 +836,7 @@ public static boolean service_spec(PsiBuilder b, int l) { } /* ********************************************************** */ - // (string | boolean | int32 | int64 | double | decimal | datetime | bytes | object | map | result | error | nullable | reference_type) [ type_parameter ] [ ('['']')* ] + // (string | boolean | int32 | int64 | double | decimal | float | datetime | bytes | object | map | result | error | nullable | reference_type) [ type_parameter ] [ ('['']')* ] public static boolean type(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "type")) return false; boolean r; @@ -848,7 +848,7 @@ public static boolean type(PsiBuilder b, int l) { return r; } - // string | boolean | int32 | int64 | double | decimal | datetime | bytes | object | map | result | error | nullable | reference_type + // string | boolean | int32 | int64 | double | decimal | float | datetime | bytes | object | map | result | error | nullable | reference_type private static boolean type_0(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "type_0")) return false; boolean r; @@ -858,6 +858,7 @@ private static boolean type_0(PsiBuilder b, int l) { if (!r) r = consumeToken(b, INT64); if (!r) r = consumeToken(b, DOUBLE); if (!r) r = consumeToken(b, DECIMAL); + if (!r) r = consumeToken(b, FLOAT); if (!r) r = consumeToken(b, DATETIME); if (!r) r = consumeToken(b, BYTES); if (!r) r = consumeToken(b, OBJECT); diff --git a/src/main/gen/io/github/facilityapi/intellij/psi/FsdTypes.java b/src/main/gen/io/github/facilityapi/intellij/psi/FsdTypes.java index 9024663..d6e1430 100644 --- a/src/main/gen/io/github/facilityapi/intellij/psi/FsdTypes.java +++ b/src/main/gen/io/github/facilityapi/intellij/psi/FsdTypes.java @@ -52,6 +52,7 @@ public interface FsdTypes { IElementType ERROR = new FsdElementType("error"); IElementType ERRORS = new FsdElementType("errors"); IElementType EXTERN = new FsdElementType("extern"); + IElementType FLOAT = new FsdElementType("float"); IElementType IDENTIFIER = new FsdElementType("identifier"); IElementType INT32 = new FsdElementType("int32"); IElementType INT64 = new FsdElementType("int64"); diff --git a/src/main/kotlin/io/github/facilityapi/intellij/editor/FsdSyntaxHighlighter.kt b/src/main/kotlin/io/github/facilityapi/intellij/editor/FsdSyntaxHighlighter.kt index 2a39eae..313da67 100644 --- a/src/main/kotlin/io/github/facilityapi/intellij/editor/FsdSyntaxHighlighter.kt +++ b/src/main/kotlin/io/github/facilityapi/intellij/editor/FsdSyntaxHighlighter.kt @@ -27,6 +27,7 @@ class FsdSyntaxHighlighter : SyntaxHighlighterBase() { FsdTypes.STRING, FsdTypes.BOOLEAN, + FsdTypes.FLOAT, FsdTypes.INT32, FsdTypes.INT64, FsdTypes.DOUBLE, diff --git a/src/main/kotlin/io/github/facilityapi/intellij/fsd.bnf b/src/main/kotlin/io/github/facilityapi/intellij/fsd.bnf index 709d7a3..dc1f9b2 100644 --- a/src/main/kotlin/io/github/facilityapi/intellij/fsd.bnf +++ b/src/main/kotlin/io/github/facilityapi/intellij/fsd.bnf @@ -83,7 +83,7 @@ extern_decl ::= extern (data | enum) identifier ';' decorated_field ::= attribute_list* field { pin=2 } field ::= identifier ':' type [ '!' ] ';' { pin=3 } -type ::= (string | boolean | int32 | int64 | double | decimal | datetime | bytes | object | map | result | error | nullable | reference_type) [ type_parameter ] [ ('['']')* ] +type ::= (string | boolean | int32 | int64 | double | decimal | float | datetime | bytes | object | map | result | error | nullable | reference_type) [ type_parameter ] [ ('['']')* ] type_parameter ::= '<' type '>' { pin=2 } reference_type ::= typename { diff --git a/src/main/kotlin/io/github/facilityapi/intellij/lexer/_FsdLexer.flex b/src/main/kotlin/io/github/facilityapi/intellij/lexer/_FsdLexer.flex index bb69d2d..e650a4c 100644 --- a/src/main/kotlin/io/github/facilityapi/intellij/lexer/_FsdLexer.flex +++ b/src/main/kotlin/io/github/facilityapi/intellij/lexer/_FsdLexer.flex @@ -167,6 +167,7 @@ MARKDOWN_TEXT=.+ "string" { yybegin(METHOD_BODY_TYPE_END); return STRING; } "boolean" { yybegin(METHOD_BODY_TYPE_END); return BOOLEAN; } + "float" { yybegin(METHOD_BODY_TYPE_END); return FLOAT; } "int32" { yybegin(METHOD_BODY_TYPE_END); return INT32; } "int64" { yybegin(METHOD_BODY_TYPE_END); return INT64; } "double" { yybegin(METHOD_BODY_TYPE_END); return DOUBLE; }