RUBY-18290: Fix lexing of block scalar values with unicode chars not covered by "." rule

This commit is contained in:
Valentin Fondaratov
2016-07-15 13:38:25 +03:00
parent aeefdbf06b
commit b055b0a278
4 changed files with 214 additions and 216 deletions
@@ -42,7 +42,7 @@ public class _YAMLLexer implements FlexLexer, YAMLTokenTypes {
/**
* Translates characters to character classes
* Chosen bits are [9, 6, 6]
* Total runtime size is 3744 bytes
* Total runtime size is 3360 bytes
*/
public static int ZZ_CMAP(int ch) {
return ZZ_CMAP_A[(ZZ_CMAP_Y[(ZZ_CMAP_Z[ch>>12]<<6)|((ch>>6)&0x3f)]<<6)|(ch&0x3f)];
@@ -50,24 +50,24 @@ public class _YAMLLexer implements FlexLexer, YAMLTokenTypes {
/* The ZZ_CMAP_Z table has 272 entries */
static final char ZZ_CMAP_Z[] = zzUnpackCMap(
"\1\0\1\1\1\2\7\3\1\4\4\3\1\5\1\6\1\7\4\3\1\10\6\3\1\11\362\3");
"\1\0\1\1\10\2\1\3\4\2\1\4\1\5\1\6\4\2\1\7\6\2\1\10\362\2");
/* The ZZ_CMAP_Y table has 640 entries */
/* The ZZ_CMAP_Y table has 576 entries */
static final char ZZ_CMAP_Y[] = zzUnpackCMap(
"\1\0\1\1\1\2\26\3\1\4\1\3\1\5\3\3\1\6\5\3\1\7\1\3\1\7\1\3\1\7\1\3\1\7\1\3"+
"\1\7\1\3\1\7\1\3\1\7\1\3\1\7\1\3\1\7\1\3\1\7\1\3\1\10\1\3\1\10\1\4\4\3\1\6"+
"\1\10\34\3\1\4\1\10\4\3\1\11\1\3\1\10\2\3\1\12\2\3\1\10\1\5\2\3\1\12\16\3"+
"\1\13\227\3\1\4\12\3\1\10\1\6\2\3\1\14\1\3\1\10\5\3\1\5\114\3\1\10\25\3\1"+
"\4\56\3\1\7\1\3\1\5\1\15\2\3\1\10\3\3\1\5\7\3\1\10\5\3\1\10\1\3\1\6\1\5\6"+
"\3\1\4\105\3\1\4\3\3\1\10\61\3\1\16\40\3");
"\1\0\1\1\27\2\1\3\1\2\1\4\3\2\1\5\5\2\1\6\1\2\1\6\1\2\1\6\1\2\1\6\1\2\1\6"+
"\1\2\1\6\1\2\1\6\1\2\1\6\1\2\1\6\1\2\1\6\1\2\1\7\1\2\1\7\1\3\4\2\1\5\1\7\34"+
"\2\1\3\1\7\4\2\1\10\1\2\1\7\2\2\1\11\2\2\1\7\1\4\2\2\1\11\146\2\1\3\12\2\1"+
"\7\1\5\2\2\1\12\1\2\1\7\5\2\1\4\114\2\1\7\25\2\1\3\56\2\1\6\1\2\1\4\1\13\2"+
"\2\1\7\3\2\1\4\7\2\1\7\5\2\1\7\1\2\1\5\1\4\6\2\1\3\105\2\1\3\3\2\1\7\61\2"+
"\1\14\40\2");
/* The ZZ_CMAP_A table has 960 entries */
/* The ZZ_CMAP_A table has 832 entries */
static final char ZZ_CMAP_A[] = zzUnpackCMap(
"\11\0\1\10\1\7\2\11\1\1\22\0\1\14\1\30\1\22\1\5\1\26\1\20\1\27\1\23\2\26\1"+
"\27\1\33\1\3\1\13\2\26\12\24\1\6\1\26\1\31\1\26\1\15\1\4\1\27\6\24\24\25\1"+
"\32\1\21\1\12\1\0\1\26\1\2\6\24\24\25\1\16\1\34\1\17\1\26\6\0\1\11\232\0\12"+
"\24\106\0\12\24\6\0\12\24\134\0\12\24\40\0\12\24\54\0\12\24\60\0\12\24\6\0"+
"\12\24\116\0\2\11\46\0\12\24\26\0\12\24\74\0\12\24\16\0\62\24");
"\11\0\1\10\1\7\2\0\1\1\22\0\1\13\1\27\1\21\1\5\1\25\1\17\1\26\1\22\2\25\1"+
"\26\1\32\1\3\1\12\2\25\12\23\1\6\1\25\1\30\1\25\1\14\1\4\1\26\6\23\24\24\1"+
"\31\1\20\1\11\1\0\1\25\1\2\6\23\24\24\1\15\1\33\1\16\1\25\141\0\12\23\106"+
"\0\12\23\6\0\12\23\134\0\12\23\40\0\12\23\54\0\12\23\60\0\12\23\6\0\12\23"+
"\66\0\12\23\26\0\12\23\74\0\12\23\16\0\62\23");
/**
* Translates DFA states to action switch labels.
@@ -113,28 +113,28 @@ public class _YAMLLexer implements FlexLexer, YAMLTokenTypes {
private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
private static final String ZZ_ROWMAP_PACKED_0 =
"\0\0\0\35\0\72\0\127\0\164\0\221\0\256\0\313"+
"\0\350\0\u0105\0\u0122\0\u013f\0\u015c\0\u0179\0\u0196\0\u01b3"+
"\0\u01b3\0\u01d0\0\u01ed\0\u020a\0\u01b3\0\u0227\0\u01b3\0\u0244"+
"\0\u0261\0\u027e\0\u01b3\0\u029b\0\u02b8\0\u02d5\0\u02f2\0\u01b3"+
"\0\u030f\0\u032c\0\u0349\0\u0366\0\u0383\0\u03a0\0\u03bd\0\u03da"+
"\0\u03f7\0\u0414\0\u03f7\0\u0431\0\u044e\0\u01d0\0\u046b\0\u0488"+
"\0\u04a5\0\u0488\0\u04c2\0\u01b3\0\u04df\0\u04fc\0\u01b3\0\u0519"+
"\0\u0536\0\u0553\0\u0570\0\u058d\0\u05aa\0\u05c7\0\u05e4\0\u0601"+
"\0\u0196\0\u01b3\0\u061e\0\u01b3\0\u063b\0\u01b3\0\u0658\0\u0675"+
"\0\u0692\0\u06af\0\u02b8\0\u0431\0\u06cc\0\u06e9\0\u02d5\0\u044e"+
"\0\u0706\0\u0723\0\u01b3\0\u0740\0\u075d\0\u077a\0\u0797\0\u07b4"+
"\0\u01b3\0\u07d1\0\u07ee\0\u080b\0\u0828\0\u0845\0\u032c\0\u0862"+
"\0\u087f\0\u089c\0\u08b9\0\u03f7\0\u03da\0\u08d6\0\u01b3\0\u08f3"+
"\0\u0910\0\u092d\0\u0488\0\u046b\0\u01b3\0\u094a\0\u0967\0\u0984"+
"\0\u094a\0\u09a1\0\u09be\0\u09db\0\u0553\0\u09f8\0\u0a15\0\u058d"+
"\0\u01b3\0\u01b3\0\u0a32\0\u0a4f\0\u0a6c\0\u0a89\0\u01b3\0\u0aa6"+
"\0\u0ac3\0\u0ae0\0\u01b3\0\u0afd\0\u0b1a\0\u0b37\0\u0b54\0\u0b71"+
"\0\u0b8e\0\u0bab\0\u0bc8\0\u0be5\0\u0c02\0\u0c1f\0\u0c3c\0\u0c59"+
"\0\u0a4f\0\u0c76\0\u0c93\0\u0cb0\0\u0ccd\0\u0cea\0\u0d07\0\u0d24"+
"\0\u0d41\0\u0d5e\0\u0d7b\0\u0b1a\0\u0d98\0\u0db5\0\u0dd2\0\u0def"+
"\0\u0bc8\0\u0e0c\0\u0e29\0\u0e46\0\u0e63\0\u0e80\0\u0e9d\0\u0cea"+
"\0\u0eba\0\u0ed7";
"\0\0\0\34\0\70\0\124\0\160\0\214\0\250\0\304"+
"\0\340\0\374\0\u0118\0\u0134\0\u0150\0\u016c\0\u0188\0\u01a4"+
"\0\u01a4\0\u01c0\0\u01dc\0\u01f8\0\u01a4\0\u0214\0\u01a4\0\u0230"+
"\0\u024c\0\u0268\0\u01a4\0\u0284\0\u02a0\0\u02bc\0\u02d8\0\u01a4"+
"\0\u02f4\0\u0310\0\u032c\0\u0348\0\u0364\0\u0380\0\u039c\0\u03b8"+
"\0\u03d4\0\u03f0\0\u03d4\0\u040c\0\u0428\0\u01c0\0\u0444\0\u0460"+
"\0\u047c\0\u0460\0\u0498\0\u01a4\0\u04b4\0\u04d0\0\u01a4\0\u04ec"+
"\0\u0508\0\u0524\0\u0540\0\u055c\0\u0578\0\u0594\0\u05b0\0\u05cc"+
"\0\u0188\0\u01a4\0\u05e8\0\u01a4\0\u0604\0\u01a4\0\u0620\0\u063c"+
"\0\u0658\0\u0674\0\u02a0\0\u040c\0\u0690\0\u06ac\0\u02bc\0\u0428"+
"\0\u06c8\0\u06e4\0\u01a4\0\u0700\0\u071c\0\u0738\0\u0754\0\u0770"+
"\0\u01a4\0\u078c\0\u07a8\0\u07c4\0\u07e0\0\u07fc\0\u0310\0\u0818"+
"\0\u0834\0\u0850\0\u086c\0\u03d4\0\u03b8\0\u0888\0\u01a4\0\u08a4"+
"\0\u08c0\0\u08dc\0\u0460\0\u0444\0\u01a4\0\u08f8\0\u0914\0\u0930"+
"\0\u08f8\0\u094c\0\u0968\0\u0984\0\u0524\0\u09a0\0\u09bc\0\u055c"+
"\0\u01a4\0\u01a4\0\u09d8\0\u09f4\0\u0a10\0\u0a2c\0\u01a4\0\u0a48"+
"\0\u0a64\0\u0a80\0\u01a4\0\u0a9c\0\u0ab8\0\u0ad4\0\u0af0\0\u0b0c"+
"\0\u0b28\0\u0b44\0\u0b60\0\u0b7c\0\u0b98\0\u0bb4\0\u0bd0\0\u0bec"+
"\0\u09f4\0\u0c08\0\u0c24\0\u0c40\0\u0c5c\0\u0c78\0\u0c94\0\u0cb0"+
"\0\u0ccc\0\u0ce8\0\u0d04\0\u0ab8\0\u0d20\0\u0d3c\0\u0d58\0\u0d74"+
"\0\u0b60\0\u0d90\0\u0dac\0\u0dc8\0\u0de4\0\u0e00\0\u0e1c\0\u0c78"+
"\0\u0e38\0\u0e54";
private static int [] zzUnpackRowMap() {
int [] result = new int[170];
@@ -160,192 +160,183 @@ public class _YAMLLexer implements FlexLexer, YAMLTokenTypes {
private static final int [] ZZ_TRANS = zzUnpackTrans();
private static final String ZZ_TRANS_PACKED_0 =
"\1\17\1\0\1\20\1\21\1\22\1\23\1\24\1\25"+
"\1\26\1\17\1\27\1\30\1\26\1\31\1\32\1\33"+
"\1\34\1\17\1\35\1\36\3\17\1\20\1\37\1\17"+
"\1\40\1\17\1\41\1\42\1\0\1\20\1\21\1\43"+
"\1\23\1\44\1\25\1\26\1\42\1\27\1\45\1\26"+
"\1\20\1\46\1\33\1\47\1\42\1\35\1\36\3\42"+
"\1\20\1\37\1\42\1\40\1\42\1\20\1\50\1\0"+
"\1\20\1\21\1\51\1\23\1\52\1\25\1\26\1\50"+
"\1\27\1\53\1\26\1\31\1\32\1\33\1\34\1\50"+
"\1\54\1\55\3\50\1\20\1\37\1\50\1\40\1\50"+
"\1\41\1\17\1\0\1\20\1\21\1\22\1\23\1\24"+
"\1\25\1\26\1\17\1\27\1\56\1\26\1\31\1\32"+
"\1\17\2\20\1\21\1\22\1\23\1\24\1\25\1\26"+
"\1\27\1\30\1\26\1\31\1\32\1\33\1\34\1\17"+
"\1\35\1\36\3\17\1\20\1\37\1\17\1\40\1\17"+
"\1\41\1\42\2\20\1\21\1\43\1\23\1\44\1\25"+
"\1\26\1\27\1\45\1\26\1\20\1\46\1\33\1\47"+
"\1\42\1\35\1\36\3\42\1\20\1\37\1\42\1\40"+
"\1\42\1\20\1\50\2\20\1\21\1\51\1\23\1\52"+
"\1\25\1\26\1\27\1\53\1\26\1\31\1\32\1\33"+
"\1\34\1\50\1\54\1\55\3\50\1\20\1\37\1\50"+
"\1\40\1\50\1\41\1\17\2\20\1\21\1\22\1\23"+
"\1\24\1\25\1\26\1\27\1\56\1\26\1\31\1\32"+
"\1\33\1\34\1\17\1\35\1\36\3\17\1\20\1\37"+
"\1\17\1\40\1\17\1\41\1\57\1\0\1\20\1\21"+
"\1\60\1\23\1\61\1\25\1\26\1\57\1\27\1\62"+
"\1\26\1\31\1\46\1\33\1\47\1\57\1\54\1\55"+
"\3\57\1\20\1\37\1\57\1\40\1\57\1\41\7\63"+
"\1\64\1\65\3\63\1\65\20\63\30\0\1\66\13\0"+
"\1\67\1\70\3\0\1\70\20\0\1\71\3\0\1\72"+
"\1\0\1\72\2\0\1\71\1\0\1\72\5\0\1\71"+
"\2\0\3\71\2\0\1\71\1\0\1\71\2\0\1\67"+
"\1\0\1\67\3\0\2\67\1\0\1\67\1\0\1\67"+
"\1\0\2\67\12\0\1\67\2\0\1\73\3\0\1\74"+
"\1\0\1\74\2\0\1\73\1\0\1\74\5\0\1\73"+
"\1\17\1\40\1\17\1\41\1\57\2\20\1\21\1\60"+
"\1\23\1\61\1\25\1\26\1\27\1\62\1\26\1\31"+
"\1\46\1\33\1\47\1\57\1\54\1\55\3\57\1\20"+
"\1\37\1\57\1\40\1\57\1\41\7\63\1\64\1\65"+
"\2\63\1\65\20\63\27\0\1\66\13\0\1\67\1\70"+
"\2\0\1\70\20\0\1\71\3\0\1\72\1\0\1\72"+
"\3\0\1\72\5\0\1\71\2\0\3\71\2\0\1\71"+
"\1\0\1\71\2\0\1\67\1\0\1\67\3\0\3\67"+
"\1\0\1\67\1\0\2\67\12\0\1\67\2\0\1\73"+
"\3\0\1\74\1\0\1\74\3\0\1\74\5\0\1\73"+
"\2\0\3\73\2\0\1\73\1\0\1\73\2\0\1\67"+
"\5\0\2\67\3\0\1\67\35\0\1\75\53\0\1\75"+
"\1\76\1\0\3\76\1\77\1\100\1\0\1\101\3\76"+
"\1\101\20\76\35\0\1\17\1\0\5\17\2\0\3\17"+
"\1\0\20\17\1\23\1\0\5\23\1\0\1\23\1\0"+
"\23\23\1\17\1\0\5\17\1\102\1\103\3\17\1\103"+
"\20\17\10\0\1\26\3\0\1\26\20\0\1\17\1\0"+
"\5\17\1\104\1\105\3\17\1\105\20\17\7\0\1\106"+
"\1\107\2\0\1\110\1\107\16\0\1\110\17\0\1\111"+
"\34\0\1\112\16\0\7\113\1\114\11\113\1\115\1\116"+
"\12\113\7\117\1\120\13\117\1\121\11\117\4\0\3\122"+
"\1\123\1\124\2\0\1\125\1\124\3\0\1\126\2\0"+
"\1\122\2\125\2\122\1\127\1\130\1\0\1\122\10\0"+
"\1\131\1\132\2\0\1\133\1\132\16\0\1\133\1\0"+
"\1\134\1\0\1\134\1\135\1\134\1\135\1\136\1\0"+
"\1\137\1\134\1\135\1\134\1\137\1\134\2\135\12\134"+
"\1\135\2\134\1\42\1\0\1\42\1\0\3\42\2\0"+
"\1\42\1\0\1\42\1\0\1\42\2\0\12\42\1\0"+
"\3\42\1\0\1\42\1\0\3\42\1\102\1\103\1\42"+
"\5\0\2\67\2\0\1\67\34\0\1\75\52\0\1\75"+
"\1\76\1\0\3\76\1\77\1\100\1\0\1\101\2\76"+
"\1\101\20\76\34\0\1\17\1\0\5\17\2\0\2\17"+
"\1\0\20\17\7\23\1\0\24\23\1\17\1\0\5\17"+
"\1\102\1\103\2\17\1\103\20\17\10\0\1\26\2\0"+
"\1\26\20\0\1\17\1\0\5\17\1\104\1\105\2\17"+
"\1\105\20\17\7\0\1\106\1\107\1\0\1\110\1\107"+
"\16\0\1\110\16\0\1\111\33\0\1\112\16\0\7\113"+
"\1\114\10\113\1\115\1\116\12\113\7\117\1\120\12\117"+
"\1\121\11\117\4\0\3\122\1\123\1\124\1\0\1\125"+
"\1\124\3\0\1\126\2\0\1\122\2\125\2\122\1\127"+
"\1\130\1\0\1\122\10\0\1\131\1\132\1\0\1\133"+
"\1\132\16\0\1\133\1\0\1\134\1\0\1\134\1\135"+
"\1\134\1\135\1\136\1\0\1\137\1\135\1\134\1\137"+
"\1\134\2\135\12\134\1\135\2\134\1\42\1\0\1\42"+
"\1\0\3\42\3\0\1\42\1\0\1\42\2\0\12\42"+
"\1\0\3\42\1\0\1\42\1\0\3\42\1\102\1\103"+
"\1\0\1\42\1\103\1\42\2\0\12\42\1\0\3\42"+
"\1\0\1\42\1\0\3\42\1\104\1\105\1\42\1\0"+
"\1\42\1\105\1\42\2\0\12\42\1\0\2\42\16\0"+
"\1\140\34\0\1\141\16\0\1\142\1\0\3\142\1\143"+
"\1\144\1\0\1\145\3\142\1\145\20\142\1\50\1\0"+
"\5\50\2\0\3\50\1\0\21\50\1\0\5\50\1\102"+
"\1\103\3\50\1\103\20\50\21\114\1\146\1\147\12\114"+
"\23\120\1\150\11\120\1\151\1\0\1\151\1\152\1\151"+
"\1\152\1\153\1\0\1\154\1\151\1\152\1\151\1\154"+
"\1\151\2\152\12\151\1\152\2\151\1\57\1\0\1\57"+
"\1\0\3\57\2\0\1\57\1\0\1\57\1\0\1\57"+
"\2\0\12\57\1\0\3\57\1\0\1\57\1\0\3\57"+
"\1\102\1\103\1\57\1\0\1\57\1\103\1\57\2\0"+
"\12\57\1\0\2\57\1\63\1\0\5\63\1\0\1\63"+
"\1\0\23\63\7\0\1\155\1\65\3\0\1\65\24\0"+
"\3\156\4\0\1\157\4\0\1\160\2\0\1\156\2\157"+
"\2\156\1\161\1\162\1\0\1\156\11\0\1\70\3\0"+
"\1\70\20\0\1\163\1\0\1\163\1\164\1\163\1\164"+
"\1\165\1\0\1\71\1\163\1\164\1\163\1\71\1\163"+
"\2\164\12\163\1\164\2\163\1\71\1\0\1\71\1\0"+
"\3\71\2\0\1\71\1\0\1\71\1\0\1\71\2\0"+
"\12\71\1\0\2\71\1\166\1\0\3\166\1\167\1\170"+
"\1\0\1\73\3\166\1\73\20\166\1\73\1\0\5\73"+
"\2\0\3\73\1\0\20\73\13\0\1\171\17\0\1\171"+
"\1\0\1\76\1\0\4\76\1\100\1\0\1\101\3\76"+
"\1\101\20\76\5\0\1\17\27\0\1\17\1\172\5\17"+
"\2\172\3\17\1\172\20\17\10\0\1\103\3\0\1\103"+
"\30\0\1\105\3\0\1\105\30\0\1\107\3\0\1\107"+
"\27\0\1\106\1\107\3\0\1\107\20\0\5\173\1\0"+
"\1\173\1\0\2\173\3\0\1\173\2\0\12\173\1\0"+
"\2\173\1\174\3\112\1\175\1\112\1\175\1\0\1\112"+
"\1\174\1\112\1\175\3\112\1\176\1\112\1\174\2\112"+
"\3\174\2\112\1\174\1\112\1\174\1\112\7\113\1\114"+
"\25\113\6\0\1\177\34\0\1\177\14\0\1\117\15\0"+
"\3\122\1\123\1\124\2\0\1\122\1\124\3\0\1\126"+
"\2\0\5\122\3\0\1\122\11\0\1\124\3\0\1\124"+
"\24\0\3\122\1\123\1\124\2\0\1\125\1\124\3\0"+
"\1\126\2\0\1\122\2\125\2\122\1\127\2\0\1\122"+
"\25\0\1\200\14\0\3\122\4\0\1\122\4\0\1\126"+
"\2\0\5\122\3\0\1\122\4\0\4\201\3\0\2\201"+
"\4\0\1\202\2\0\6\201\1\0\2\201\11\0\1\132"+
"\3\0\1\132\27\0\1\131\1\132\3\0\1\132\20\0"+
"\1\134\1\0\1\134\1\135\2\134\1\136\1\0\1\137"+
"\1\134\1\135\1\134\1\137\1\134\2\135\12\134\1\135"+
"\2\134\5\0\1\42\27\0\1\42\1\203\1\42\1\203"+
"\3\42\2\203\1\42\1\203\1\42\1\203\1\42\2\203"+
"\12\42\1\203\2\42\5\204\1\0\1\204\1\0\2\204"+
"\3\0\1\204\2\0\12\204\1\0\2\204\1\205\3\141"+
"\1\206\1\141\1\206\1\0\1\141\1\205\1\141\1\206"+
"\3\141\1\207\1\141\1\205\2\141\3\205\2\141\1\205"+
"\1\141\1\205\1\141\1\142\1\0\4\142\1\144\1\0"+
"\1\145\3\142\1\145\20\142\5\0\1\50\27\0\35\114"+
"\23\0\1\120\11\0\1\151\1\0\1\151\1\152\2\151"+
"\1\153\1\0\1\154\1\151\1\152\1\151\1\154\1\151"+
"\2\152\12\151\1\152\2\151\5\0\1\57\33\0\3\156"+
"\4\0\1\156\4\0\1\160\2\0\5\156\3\0\1\156"+
"\5\0\3\156\4\0\1\157\4\0\1\160\2\0\1\156"+
"\2\157\2\156\1\161\2\0\1\156\25\0\1\210\13\0"+
"\4\211\3\0\2\211\4\0\1\212\2\0\6\211\1\0"+
"\2\211\1\0\1\163\1\0\1\163\1\164\2\163\1\165"+
"\1\0\1\71\1\163\1\164\1\163\1\71\1\163\2\164"+
"\12\163\1\164\2\163\5\0\1\71\27\0\1\166\1\0"+
"\4\166\1\170\1\0\1\73\3\166\1\73\20\166\5\0"+
"\1\73\27\0\1\213\3\173\1\214\1\0\1\144\1\0"+
"\1\173\1\213\1\0\1\214\1\173\2\0\1\215\1\173"+
"\1\213\2\173\3\213\2\173\1\213\1\0\1\213\1\173"+
"\1\216\1\112\2\216\1\217\1\220\1\175\1\0\1\221"+
"\2\216\1\217\1\221\2\216\1\222\15\216\1\174\1\112"+
"\2\174\1\217\1\174\1\217\1\0\1\112\2\174\1\217"+
"\1\112\2\174\1\223\15\174\1\50\3\0\1\144\1\0"+
"\1\144\2\0\1\50\1\0\1\144\5\0\1\50\2\0"+
"\3\50\2\0\1\50\1\0\1\50\25\0\1\122\13\0"+
"\4\201\3\0\2\201\1\0\1\224\2\0\1\202\2\0"+
"\6\201\1\0\2\201\25\0\1\225\10\0\1\226\3\204"+
"\1\227\1\0\1\153\1\0\1\204\1\226\1\0\1\227"+
"\1\204\2\0\1\230\1\204\1\226\2\204\3\226\2\204"+
"\1\226\1\0\1\226\1\204\1\231\1\141\1\231\1\232"+
"\1\233\1\232\1\206\1\0\1\234\1\231\1\232\1\233"+
"\1\234\1\231\1\232\1\235\12\231\1\232\2\231\1\205"+
"\1\141\1\205\1\141\1\233\1\205\1\233\1\0\1\141"+
"\1\205\1\141\1\233\1\141\1\205\1\141\1\207\12\205"+
"\1\141\2\205\1\57\3\0\1\153\1\0\1\153\2\0"+
"\1\57\1\0\1\153\5\0\1\57\2\0\3\57\2\0"+
"\1\57\1\0\1\57\25\0\1\156\13\0\4\211\3\0"+
"\2\211\1\0\1\171\2\0\1\212\2\0\6\211\1\0"+
"\2\211\25\0\1\236\10\0\1\237\1\173\2\237\1\240"+
"\1\143\1\144\1\0\1\241\1\237\1\142\1\240\1\241"+
"\2\142\1\242\12\237\1\142\2\237\1\213\1\173\2\213"+
"\1\240\1\50\1\243\1\0\1\173\1\213\1\50\1\240"+
"\1\0\1\42\1\0\3\42\1\104\1\105\1\0\1\42"+
"\1\105\1\42\2\0\12\42\1\0\2\42\15\0\1\140"+
"\33\0\1\141\16\0\1\142\1\0\3\142\1\143\1\144"+
"\1\0\1\145\2\142\1\145\20\142\1\50\1\0\5\50"+
"\2\0\2\50\1\0\21\50\1\0\5\50\1\102\1\103"+
"\2\50\1\103\20\50\20\114\1\146\1\147\12\114\22\120"+
"\1\150\11\120\1\151\1\0\1\151\1\152\1\151\1\152"+
"\1\153\1\0\1\154\1\152\1\151\1\154\1\151\2\152"+
"\12\151\1\152\2\151\1\57\1\0\1\57\1\0\3\57"+
"\3\0\1\57\1\0\1\57\2\0\12\57\1\0\3\57"+
"\1\0\1\57\1\0\3\57\1\102\1\103\1\0\1\57"+
"\1\103\1\57\2\0\12\57\1\0\2\57\7\63\1\0"+
"\24\63\7\0\1\155\1\65\2\0\1\65\24\0\3\156"+
"\3\0\1\157\4\0\1\160\2\0\1\156\2\157\2\156"+
"\1\161\1\162\1\0\1\156\11\0\1\70\2\0\1\70"+
"\20\0\1\163\1\0\1\163\1\164\1\163\1\164\1\165"+
"\1\0\1\71\1\164\1\163\1\71\1\163\2\164\12\163"+
"\1\164\2\163\1\71\1\0\1\71\1\0\3\71\3\0"+
"\1\71\1\0\1\71\2\0\12\71\1\0\2\71\1\166"+
"\1\0\3\166\1\167\1\170\1\0\1\73\2\166\1\73"+
"\20\166\1\73\1\0\5\73\2\0\2\73\1\0\20\73"+
"\12\0\1\171\17\0\1\171\1\0\1\76\1\0\4\76"+
"\1\100\1\0\1\101\2\76\1\101\20\76\5\0\1\17"+
"\26\0\1\17\1\172\5\17\2\172\2\17\1\172\20\17"+
"\10\0\1\103\2\0\1\103\30\0\1\105\2\0\1\105"+
"\30\0\1\107\2\0\1\107\27\0\1\106\1\107\2\0"+
"\1\107\20\0\5\173\1\0\1\173\1\0\1\173\3\0"+
"\1\173\2\0\12\173\1\0\2\173\1\174\3\112\1\175"+
"\1\112\1\175\1\0\2\112\1\175\3\112\1\176\1\112"+
"\1\174\2\112\3\174\2\112\1\174\1\112\1\174\1\112"+
"\7\113\1\114\24\113\6\0\1\177\33\0\1\177\13\0"+
"\1\117\15\0\3\122\1\123\1\124\1\0\1\122\1\124"+
"\3\0\1\126\2\0\5\122\3\0\1\122\11\0\1\124"+
"\2\0\1\124\24\0\3\122\1\123\1\124\1\0\1\125"+
"\1\124\3\0\1\126\2\0\1\122\2\125\2\122\1\127"+
"\2\0\1\122\24\0\1\200\14\0\3\122\3\0\1\122"+
"\4\0\1\126\2\0\5\122\3\0\1\122\4\0\4\201"+
"\2\0\2\201\4\0\1\202\2\0\6\201\1\0\2\201"+
"\11\0\1\132\2\0\1\132\27\0\1\131\1\132\2\0"+
"\1\132\20\0\1\134\1\0\1\134\1\135\2\134\1\136"+
"\1\0\1\137\1\135\1\134\1\137\1\134\2\135\12\134"+
"\1\135\2\134\5\0\1\42\26\0\1\42\1\203\1\42"+
"\1\203\3\42\3\203\1\42\1\203\1\42\2\203\12\42"+
"\1\203\2\42\5\204\1\0\1\204\1\0\1\204\3\0"+
"\1\204\2\0\12\204\1\0\2\204\1\205\3\141\1\206"+
"\1\141\1\206\1\0\2\141\1\206\3\141\1\207\1\141"+
"\1\205\2\141\3\205\2\141\1\205\1\141\1\205\1\141"+
"\1\142\1\0\4\142\1\144\1\0\1\145\2\142\1\145"+
"\20\142\5\0\1\50\26\0\34\114\22\0\1\120\11\0"+
"\1\151\1\0\1\151\1\152\2\151\1\153\1\0\1\154"+
"\1\152\1\151\1\154\1\151\2\152\12\151\1\152\2\151"+
"\5\0\1\57\32\0\3\156\3\0\1\156\4\0\1\160"+
"\2\0\5\156\3\0\1\156\5\0\3\156\3\0\1\157"+
"\4\0\1\160\2\0\1\156\2\157\2\156\1\161\2\0"+
"\1\156\24\0\1\210\13\0\4\211\2\0\2\211\4\0"+
"\1\212\2\0\6\211\1\0\2\211\1\0\1\163\1\0"+
"\1\163\1\164\2\163\1\165\1\0\1\71\1\164\1\163"+
"\1\71\1\163\2\164\12\163\1\164\2\163\5\0\1\71"+
"\26\0\1\166\1\0\4\166\1\170\1\0\1\73\2\166"+
"\1\73\20\166\5\0\1\73\26\0\1\213\3\173\1\214"+
"\1\0\1\144\1\0\1\173\1\0\1\214\1\173\2\0"+
"\1\215\1\173\1\213\2\173\3\213\2\173\1\213\1\0"+
"\1\213\1\173\1\216\1\112\2\216\1\217\1\220\1\175"+
"\1\0\1\221\1\216\1\217\1\221\2\216\1\222\15\216"+
"\1\174\1\112\2\174\1\217\1\174\1\217\1\0\1\112"+
"\1\174\1\217\1\112\2\174\1\223\15\174\1\50\3\0"+
"\1\144\1\0\1\144\3\0\1\144\5\0\1\50\2\0"+
"\3\50\2\0\1\50\1\0\1\50\24\0\1\122\13\0"+
"\4\201\2\0\2\201\1\0\1\224\2\0\1\202\2\0"+
"\6\201\1\0\2\201\24\0\1\225\10\0\1\226\3\204"+
"\1\227\1\0\1\153\1\0\1\204\1\0\1\227\1\204"+
"\2\0\1\230\1\204\1\226\2\204\3\226\2\204\1\226"+
"\1\0\1\226\1\204\1\231\1\141\1\231\1\232\1\233"+
"\1\232\1\206\1\0\1\234\1\232\1\233\1\234\1\231"+
"\1\232\1\235\12\231\1\232\2\231\1\205\1\141\1\205"+
"\1\141\1\233\1\205\1\233\1\0\2\141\1\233\1\141"+
"\1\205\1\141\1\207\12\205\1\141\2\205\1\57\3\0"+
"\1\153\1\0\1\153\3\0\1\153\5\0\1\57\2\0"+
"\3\57\2\0\1\57\1\0\1\57\24\0\1\156\13\0"+
"\4\211\2\0\2\211\1\0\1\171\2\0\1\212\2\0"+
"\6\211\1\0\2\211\24\0\1\236\10\0\1\237\1\173"+
"\2\237\1\240\1\143\1\144\1\0\1\241\1\142\1\240"+
"\1\241\2\142\1\242\12\237\1\142\2\237\1\213\1\173"+
"\2\213\1\240\1\50\1\243\1\0\1\173\1\50\1\240"+
"\1\173\2\50\1\244\12\213\1\50\2\213\1\50\3\0"+
"\1\144\1\0\1\144\2\0\1\50\1\0\1\144\3\0"+
"\1\176\1\0\1\50\2\0\3\50\2\0\1\50\1\0"+
"\1\50\1\0\1\216\1\112\2\216\1\217\1\216\1\175"+
"\1\0\1\221\2\216\1\217\1\221\2\216\1\222\16\216"+
"\1\112\2\216\1\217\1\216\1\217\1\0\1\221\2\216"+
"\1\217\1\221\2\216\1\222\15\216\1\174\3\112\1\175"+
"\1\174\1\175\1\0\1\112\1\174\1\112\1\175\3\112"+
"\1\176\1\112\1\174\2\112\3\174\2\112\1\174\1\112"+
"\1\174\1\112\1\142\1\0\2\142\1\243\1\142\1\144"+
"\1\0\1\145\2\142\1\243\1\145\21\142\1\0\2\142"+
"\1\243\1\143\1\144\1\0\1\145\2\142\1\243\1\145"+
"\20\142\7\0\1\123\1\124\3\0\1\124\44\0\1\201"+
"\10\0\1\245\1\204\1\245\1\246\1\247\1\152\1\153"+
"\1\0\1\250\1\245\1\152\1\247\1\250\1\151\1\152"+
"\1\251\12\245\1\152\2\245\1\226\1\204\1\226\1\204"+
"\1\247\1\57\1\252\1\0\1\204\1\226\1\0\1\247"+
"\1\204\1\57\1\0\1\230\12\226\1\0\2\226\1\57"+
"\3\0\1\153\1\0\1\153\2\0\1\57\1\0\1\153"+
"\1\144\1\0\1\144\3\0\1\144\3\0\1\176\1\0"+
"\1\50\2\0\3\50\2\0\1\50\1\0\1\50\1\0"+
"\1\216\1\112\2\216\1\217\1\216\1\175\1\0\1\221"+
"\1\216\1\217\1\221\2\216\1\222\16\216\1\112\2\216"+
"\1\217\1\216\1\217\1\0\1\221\1\216\1\217\1\221"+
"\2\216\1\222\15\216\1\174\3\112\1\175\1\174\1\175"+
"\1\0\2\112\1\175\3\112\1\176\1\112\1\174\2\112"+
"\3\174\2\112\1\174\1\112\1\174\1\112\1\142\1\0"+
"\2\142\1\243\1\142\1\144\1\0\1\145\1\142\1\243"+
"\1\145\21\142\1\0\2\142\1\243\1\143\1\144\1\0"+
"\1\145\1\142\1\243\1\145\20\142\7\0\1\123\1\124"+
"\2\0\1\124\43\0\1\201\10\0\1\245\1\204\1\245"+
"\1\246\1\247\1\152\1\153\1\0\1\250\1\152\1\247"+
"\1\250\1\151\1\152\1\251\12\245\1\152\2\245\1\226"+
"\1\204\1\226\1\204\1\247\1\57\1\252\1\0\1\204"+
"\1\0\1\247\1\204\1\57\1\0\1\230\12\226\1\0"+
"\2\226\1\57\3\0\1\153\1\0\1\153\3\0\1\153"+
"\3\0\1\207\1\0\1\57\2\0\3\57\2\0\1\57"+
"\1\0\1\57\1\0\1\231\1\141\1\231\1\232\1\233"+
"\1\231\1\206\1\0\1\234\1\231\1\232\1\233\1\234"+
"\1\231\1\232\1\235\12\231\1\232\2\231\1\205\3\141"+
"\1\206\1\205\1\206\1\0\1\141\1\205\1\141\1\206"+
"\3\141\1\207\1\141\1\205\2\141\3\205\2\141\1\205"+
"\1\141\1\205\1\141\1\231\1\141\1\231\1\232\1\233"+
"\1\231\1\233\1\0\1\234\1\231\1\232\1\233\1\234"+
"\1\231\1\232\1\235\12\231\1\232\2\231\1\57\3\0"+
"\1\153\1\57\1\153\2\0\1\57\1\0\1\153\5\0"+
"\1\57\2\0\3\57\2\0\1\57\1\0\1\57\25\0"+
"\1\211\10\0\1\237\1\173\2\237\1\240\1\142\1\144"+
"\1\0\1\241\1\237\1\142\1\240\1\241\2\142\1\242"+
"\12\237\1\142\3\237\1\173\2\237\1\240\1\142\1\243"+
"\1\0\1\241\1\237\1\142\1\240\1\241\2\142\1\242"+
"\1\231\1\206\1\0\1\234\1\232\1\233\1\234\1\231"+
"\1\232\1\235\12\231\1\232\2\231\1\205\3\141\1\206"+
"\1\205\1\206\1\0\2\141\1\206\3\141\1\207\1\141"+
"\1\205\2\141\3\205\2\141\1\205\1\141\1\205\1\141"+
"\1\231\1\141\1\231\1\232\1\233\1\231\1\233\1\0"+
"\1\234\1\232\1\233\1\234\1\231\1\232\1\235\12\231"+
"\1\232\2\231\1\57\3\0\1\153\1\57\1\153\3\0"+
"\1\153\5\0\1\57\2\0\3\57\2\0\1\57\1\0"+
"\1\57\24\0\1\211\10\0\1\237\1\173\2\237\1\240"+
"\1\142\1\144\1\0\1\241\1\142\1\240\1\241\2\142"+
"\1\242\12\237\1\142\3\237\1\173\2\237\1\240\1\142"+
"\1\243\1\0\1\241\1\142\1\240\1\241\2\142\1\242"+
"\12\237\1\142\2\237\1\142\1\0\2\142\1\243\1\142"+
"\1\144\1\0\1\145\2\142\1\243\1\145\2\142\1\222"+
"\16\142\1\0\4\142\1\243\1\0\1\145\3\142\1\145"+
"\1\144\1\0\1\145\1\142\1\243\1\145\2\142\1\222"+
"\16\142\1\0\4\142\1\243\1\0\1\145\2\142\1\145"+
"\21\142\1\0\2\142\1\243\1\143\1\144\1\0\1\145"+
"\2\142\1\243\1\145\2\142\1\222\15\142\1\245\1\204"+
"\1\245\1\246\1\247\1\151\1\153\1\0\1\250\1\245"+
"\1\152\1\247\1\250\1\151\1\152\1\251\12\245\1\152"+
"\2\245\1\226\3\204\1\227\1\57\1\153\1\0\1\204"+
"\1\226\1\0\1\227\1\204\2\0\1\230\1\204\1\226"+
"\2\204\3\226\2\204\1\226\1\0\1\226\1\204\1\245"+
"\1\204\1\245\1\246\1\247\1\151\1\252\1\0\1\250"+
"\1\245\1\152\1\247\1\250\1\151\1\152\1\251\12\245"+
"\1\152\2\245\1\57\3\0\1\153\1\57\1\153\2\0"+
"\1\57\1\0\1\153\3\0\1\207\1\0\1\57\2\0"+
"\3\57\2\0\1\57\1\0\1\57\1\0\1\151\1\0"+
"\1\151\1\152\2\151\1\252\1\0\1\154\1\151\1\152"+
"\1\151\1\154\1\151\2\152\12\151\1\152\2\151";
"\1\142\1\243\1\145\2\142\1\222\15\142\1\245\1\204"+
"\1\245\1\246\1\247\1\151\1\153\1\0\1\250\1\152"+
"\1\247\1\250\1\151\1\152\1\251\12\245\1\152\2\245"+
"\1\226\3\204\1\227\1\57\1\153\1\0\1\204\1\0"+
"\1\227\1\204\2\0\1\230\1\204\1\226\2\204\3\226"+
"\2\204\1\226\1\0\1\226\1\204\1\245\1\204\1\245"+
"\1\246\1\247\1\151\1\252\1\0\1\250\1\152\1\247"+
"\1\250\1\151\1\152\1\251\12\245\1\152\2\245\1\57"+
"\3\0\1\153\1\57\1\153\3\0\1\153\3\0\1\207"+
"\1\0\1\57\2\0\3\57\2\0\1\57\1\0\1\57"+
"\1\0\1\151\1\0\1\151\1\152\2\151\1\252\1\0"+
"\1\154\1\152\1\151\1\154\1\151\2\152\12\151\1\152"+
"\2\151";
private static int [] zzUnpackTrans() {
int [] result = new int[3828];
int [] result = new int[3696];
int offset = 0;
offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
return result;
@@ -135,7 +135,7 @@ EOL = "\n"
WHITE_SPACE_CHAR = [ \t]
WHITE_SPACE = {WHITE_SPACE_CHAR}+
LINE = .*
LINE = [^\n]*
COMMENT = "#"{LINE}
ID = [^\n\-\ {}\[\]#][^\n{}\[\]>:#]*
@@ -329,11 +329,11 @@ C_NS_TAG_PROPERTY = {C_VERBATIM_TAG} | {C_NS_SHORTHAND_TAG} | {C_NON_SPECIFIC_TA
}
<VALUE, VALUE_BRACE, VALUE_OR_KEY>{
. { return TEXT; }
[^] { return TEXT; }
}
<YYINITIAL, BRACES> {
. {
[^] {
return TEXT;
}
}
@@ -204,6 +204,10 @@ public class YAMLLexerTest extends LexerTestCase {
public void testSingleQuotedEscapes() {
doTest();
}
public void testUnicodeNewlines() {
doTest();
}
private void doTest() {
doFileTest("yml");
@@ -0,0 +1,3 @@
foo: IC Real Tech, Inc.
3050 N Andrews Ave EXT
Pompano Beach, FL 33064
bar: >
IC Real Tech, Inc.
3050 N Andrews Ave EXT
Pompano Beach, FL 33064