gherkin
Version:
A fast Gherkin lexer/parser based on the Ragel State Machine Compiler.
1,073 lines (1,008 loc) • 34.1 kB
JavaScript
/* line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
;(function() {
/* line 117 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
/* line 11 "js/lib/gherkin/lexer/es.js" */
const _lexer_actions = [
0, 1, 0, 1, 1, 1, 2, 1,
3, 1, 4, 1, 5, 1, 6, 1,
7, 1, 8, 1, 9, 1, 10, 1,
11, 1, 14, 1, 15, 1, 16, 1,
17, 1, 18, 1, 19, 1, 20, 1,
21, 2, 2, 16, 2, 11, 0, 2,
12, 13, 2, 15, 0, 2, 15, 1,
2, 15, 14, 2, 15, 17, 2, 16,
4, 2, 16, 5, 2, 16, 6, 2,
16, 7, 2, 16, 8, 2, 16, 14,
2, 18, 19, 2, 20, 0, 2, 20,
1, 2, 20, 14, 2, 20, 17, 3,
3, 12, 13, 3, 9, 12, 13, 3,
10, 12, 13, 3, 11, 12, 13, 3,
12, 13, 16, 3, 15, 12, 13, 4,
2, 12, 13, 16, 4, 15, 0, 12,
13
];
const _lexer_key_offsets = [
0, 0, 17, 33, 34, 35, 39, 44,
49, 54, 59, 63, 67, 69, 70, 71,
72, 73, 74, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 85, 86, 88,
93, 100, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118,
119, 132, 134, 136, 138, 140, 142, 144,
146, 148, 150, 152, 154, 156, 158, 160,
162, 178, 180, 181, 182, 183, 184, 185,
186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 196, 206, 208, 210, 212, 214,
216, 218, 220, 222, 224, 226, 228, 230,
232, 234, 236, 238, 240, 242, 244, 246,
248, 250, 252, 254, 256, 258, 260, 262,
264, 266, 268, 270, 272, 274, 276, 278,
280, 282, 284, 286, 289, 291, 293, 295,
297, 299, 302, 304, 306, 308, 310, 312,
314, 316, 318, 320, 322, 324, 326, 328,
330, 332, 334, 336, 338, 339, 340, 341,
342, 343, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 362, 364, 366, 368,
370, 372, 374, 376, 378, 380, 382, 384,
386, 388, 390, 392, 393, 394, 395, 396,
397, 398, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 423, 425, 427, 429,
431, 433, 435, 437, 439, 441, 443, 445,
447, 449, 451, 453, 455, 457, 459, 461,
463, 465, 467, 469, 471, 473, 475, 477,
480, 482, 484, 486, 488, 490, 492, 494,
496, 498, 500, 502, 504, 506, 508, 510,
512, 514, 516, 519, 521, 523, 525, 527,
529, 531, 534, 536, 538, 540, 542, 544,
546, 548, 550, 552, 554, 556, 558, 560,
562, 564, 566, 568, 570, 572, 574, 575,
576, 577, 578, 579, 580, 581, 582, 583,
584, 585, 586, 587, 588, 589, 590, 591,
592, 593, 594, 595, 608, 610, 612, 614,
616, 618, 620, 622, 624, 626, 628, 630,
632, 634, 636, 638, 641, 643, 645, 647,
649, 651, 653, 655, 657, 659, 661, 663,
665, 667, 669, 671, 673, 675, 677, 679,
682, 684, 686, 688, 690, 692, 694, 696,
698, 700, 702, 704, 706, 708, 710, 712,
713, 714, 718, 724, 727, 729, 735, 751,
754, 756, 758, 760, 762, 764, 766, 768,
770, 772, 774, 776, 778, 780, 782, 784,
786, 788, 790, 792, 795, 797, 799, 801,
803, 805, 807, 810, 812, 814, 816, 818,
820, 822, 824, 826, 828, 830, 832, 834,
836, 838, 840, 842, 844, 846, 848, 850,
851, 852
];
const _lexer_trans_keys = [
10, 32, 34, 35, 37, 42, 64, 65,
67, 68, 69, 80, 89, 124, 239, 9,
13, 10, 32, 34, 35, 37, 42, 64,
65, 67, 68, 69, 80, 89, 124, 9,
13, 34, 34, 10, 32, 9, 13, 10,
32, 34, 9, 13, 10, 32, 34, 9,
13, 10, 32, 34, 9, 13, 10, 32,
34, 9, 13, 10, 32, 9, 13, 10,
32, 9, 13, 10, 13, 10, 95, 70,
69, 65, 84, 85, 82, 69, 95, 69,
78, 68, 95, 37, 32, 10, 10, 13,
13, 32, 64, 9, 10, 9, 10, 13,
32, 64, 11, 12, 10, 32, 64, 9,
13, 110, 116, 101, 99, 101, 100, 101,
110, 116, 101, 115, 58, 10, 10, 10,
32, 35, 37, 42, 64, 67, 68, 69,
80, 89, 9, 13, 10, 95, 10, 70,
10, 69, 10, 65, 10, 84, 10, 85,
10, 82, 10, 69, 10, 95, 10, 69,
10, 78, 10, 68, 10, 95, 10, 37,
10, 32, 10, 32, 34, 35, 37, 42,
64, 65, 67, 68, 69, 80, 89, 124,
9, 13, 97, 117, 114, 97, 99, 116,
101, 114, -61, -83, 115, 116, 105, 99,
97, 58, 10, 10, 10, 32, 35, 37,
64, 65, 67, 69, 9, 13, 10, 95,
10, 70, 10, 69, 10, 65, 10, 84,
10, 85, 10, 82, 10, 69, 10, 95,
10, 69, 10, 78, 10, 68, 10, 95,
10, 37, 10, 110, 10, 116, 10, 101,
10, 99, 10, 101, 10, 100, 10, 101,
10, 110, 10, 116, 10, 101, 10, 115,
10, 58, 10, 97, 10, 114, 10, 97,
10, 99, 10, 116, 10, 101, 10, 114,
-61, 10, -83, 10, 10, 115, 10, 116,
10, 105, 10, 99, 10, 97, 10, 106,
115, 10, 101, 10, 109, 10, 112, 10,
108, 10, 111, 10, 99, 113, 10, 101,
10, 110, 10, 97, 10, 114, 10, 105,
10, 111, 10, 117, 10, 101, 10, 109,
10, 97, 10, 32, 10, 100, 10, 101,
10, 108, 10, 32, 10, 101, 10, 115,
10, 99, 97, 110, 100, 111, 97, 106,
110, 115, 101, 109, 112, 108, 111, 115,
58, 10, 10, 10, 32, 35, 67, 124,
9, 13, 10, 97, 10, 114, 10, 97,
10, 99, 10, 116, 10, 101, 10, 114,
-61, 10, -83, 10, 10, 115, 10, 116,
10, 105, 10, 99, 10, 97, 10, 58,
116, 111, 110, 99, 101, 115, 99, 113,
101, 110, 97, 114, 105, 111, 58, 10,
10, 10, 32, 35, 37, 42, 64, 65,
67, 68, 69, 80, 89, 9, 13, 10,
95, 10, 70, 10, 69, 10, 65, 10,
84, 10, 85, 10, 82, 10, 69, 10,
95, 10, 69, 10, 78, 10, 68, 10,
95, 10, 37, 10, 32, 10, 110, 10,
116, 10, 101, 10, 99, 10, 101, 10,
100, 10, 101, 10, 110, 10, 116, 10,
101, 10, 115, 10, 58, 10, 97, 117,
10, 114, 10, 97, 10, 99, 10, 116,
10, 101, 10, 114, -61, 10, -83, 10,
10, 115, 10, 116, 10, 105, 10, 99,
10, 97, 10, 97, 10, 110, 10, 100,
10, 111, 10, 97, 10, 110, 115, 10,
116, 10, 111, 10, 110, 10, 99, 10,
101, 10, 115, 10, 99, 113, 10, 101,
10, 110, 10, 97, 10, 114, 10, 105,
10, 111, 10, 117, 10, 101, 10, 109,
10, 97, 10, 32, 10, 100, 10, 101,
10, 108, 10, 32, 10, 101, 10, 115,
10, 99, 10, 101, 10, 114, 117, 101,
109, 97, 32, 100, 101, 108, 32, 101,
115, 99, 101, 110, 97, 114, 105, 111,
58, 10, 10, 10, 32, 35, 37, 42,
64, 67, 68, 69, 80, 89, 9, 13,
10, 95, 10, 70, 10, 69, 10, 65,
10, 84, 10, 85, 10, 82, 10, 69,
10, 95, 10, 69, 10, 78, 10, 68,
10, 95, 10, 37, 10, 32, 10, 97,
117, 10, 114, 10, 97, 10, 99, 10,
116, 10, 101, 10, 114, -61, 10, -83,
10, 10, 115, 10, 116, 10, 105, 10,
99, 10, 97, 10, 58, 10, 97, 10,
110, 10, 100, 10, 111, 10, 97, 10,
110, 115, 10, 116, 10, 111, 10, 110,
10, 99, 10, 101, 10, 115, 10, 99,
10, 101, 10, 110, 10, 97, 10, 114,
10, 105, 10, 111, 10, 101, 10, 114,
101, 114, 32, 124, 9, 13, 10, 32,
92, 124, 9, 13, 10, 92, 124, 10,
92, 10, 32, 92, 124, 9, 13, 10,
32, 34, 35, 37, 42, 64, 65, 67,
68, 69, 80, 89, 124, 9, 13, 10,
97, 117, 10, 114, 10, 97, 10, 99,
10, 116, 10, 101, 10, 114, -61, 10,
-83, 10, 10, 115, 10, 116, 10, 105,
10, 99, 10, 97, 10, 58, 10, 97,
10, 110, 10, 100, 10, 111, 10, 97,
10, 110, 115, 10, 116, 10, 111, 10,
110, 10, 99, 10, 101, 10, 115, 10,
99, 113, 10, 101, 10, 110, 10, 97,
10, 114, 10, 105, 10, 111, 10, 117,
10, 101, 10, 109, 10, 97, 10, 32,
10, 100, 10, 101, 10, 108, 10, 32,
10, 101, 10, 115, 10, 99, 10, 101,
10, 114, 187, 191, 0
];
const _lexer_single_lengths = [
0, 15, 14, 1, 1, 2, 3, 3,
3, 3, 2, 2, 2, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 2, 3,
5, 3, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
11, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
14, 2, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 8, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 3, 2, 2, 2, 2,
2, 3, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 1, 1, 1, 1,
1, 3, 1, 1, 1, 1, 1, 1,
1, 1, 1, 5, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 1, 1, 1, 1, 1,
1, 2, 1, 1, 1, 1, 1, 1,
1, 1, 1, 12, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 3,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 3, 2, 2, 2, 2, 2,
2, 3, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 11, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 3, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 3,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 1,
1, 2, 4, 3, 2, 4, 14, 3,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 3, 2, 2, 2, 2,
2, 2, 3, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 1,
1, 0
];
const _lexer_range_lengths = [
0, 1, 1, 0, 0, 1, 1, 1,
1, 1, 1, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1,
1, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 1, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0
];
const _lexer_index_offsets = [
0, 0, 17, 33, 35, 37, 41, 46,
51, 56, 61, 65, 69, 72, 74, 76,
78, 80, 82, 84, 86, 88, 90, 92,
94, 96, 98, 100, 102, 104, 106, 109,
114, 121, 126, 128, 130, 132, 134, 136,
138, 140, 142, 144, 146, 148, 150, 152,
154, 167, 170, 173, 176, 179, 182, 185,
188, 191, 194, 197, 200, 203, 206, 209,
212, 228, 231, 233, 235, 237, 239, 241,
243, 245, 247, 249, 251, 253, 255, 257,
259, 261, 263, 273, 276, 279, 282, 285,
288, 291, 294, 297, 300, 303, 306, 309,
312, 315, 318, 321, 324, 327, 330, 333,
336, 339, 342, 345, 348, 351, 354, 357,
360, 363, 366, 369, 372, 375, 378, 381,
384, 387, 390, 393, 397, 400, 403, 406,
409, 412, 416, 419, 422, 425, 428, 431,
434, 437, 440, 443, 446, 449, 452, 455,
458, 461, 464, 467, 470, 472, 474, 476,
478, 480, 484, 486, 488, 490, 492, 494,
496, 498, 500, 502, 509, 512, 515, 518,
521, 524, 527, 530, 533, 536, 539, 542,
545, 548, 551, 554, 556, 558, 560, 562,
564, 566, 569, 571, 573, 575, 577, 579,
581, 583, 585, 587, 601, 604, 607, 610,
613, 616, 619, 622, 625, 628, 631, 634,
637, 640, 643, 646, 649, 652, 655, 658,
661, 664, 667, 670, 673, 676, 679, 682,
686, 689, 692, 695, 698, 701, 704, 707,
710, 713, 716, 719, 722, 725, 728, 731,
734, 737, 740, 744, 747, 750, 753, 756,
759, 762, 766, 769, 772, 775, 778, 781,
784, 787, 790, 793, 796, 799, 802, 805,
808, 811, 814, 817, 820, 823, 826, 828,
830, 832, 834, 836, 838, 840, 842, 844,
846, 848, 850, 852, 854, 856, 858, 860,
862, 864, 866, 868, 881, 884, 887, 890,
893, 896, 899, 902, 905, 908, 911, 914,
917, 920, 923, 926, 930, 933, 936, 939,
942, 945, 948, 951, 954, 957, 960, 963,
966, 969, 972, 975, 978, 981, 984, 987,
991, 994, 997, 1000, 1003, 1006, 1009, 1012,
1015, 1018, 1021, 1024, 1027, 1030, 1033, 1036,
1038, 1040, 1044, 1050, 1054, 1057, 1063, 1079,
1083, 1086, 1089, 1092, 1095, 1098, 1101, 1104,
1107, 1110, 1113, 1116, 1119, 1122, 1125, 1128,
1131, 1134, 1137, 1140, 1144, 1147, 1150, 1153,
1156, 1159, 1162, 1166, 1169, 1172, 1175, 1178,
1181, 1184, 1187, 1190, 1193, 1196, 1199, 1202,
1205, 1208, 1211, 1214, 1217, 1220, 1223, 1226,
1228, 1230
];
const _lexer_indicies = [
2, 1, 3, 4, 5, 6, 7, 8,
9, 10, 11, 12, 6, 13, 14, 1,
0, 2, 1, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 6, 13, 1,
0, 15, 0, 16, 0, 17, 16, 16,
0, 20, 19, 21, 19, 18, 24, 23,
25, 23, 22, 24, 23, 26, 23, 22,
24, 23, 27, 23, 22, 29, 28, 28,
0, 2, 30, 30, 0, 32, 33, 31,
2, 0, 34, 0, 35, 0, 36, 0,
37, 0, 38, 0, 39, 0, 40, 0,
41, 0, 42, 0, 43, 0, 44, 0,
45, 0, 46, 0, 47, 0, 48, 0,
0, 49, 51, 52, 50, 0, 0, 0,
0, 53, 54, 55, 54, 54, 57, 56,
53, 2, 58, 7, 58, 0, 59, 0,
60, 0, 61, 0, 62, 0, 63, 0,
64, 0, 65, 0, 66, 0, 67, 0,
68, 0, 69, 0, 70, 0, 72, 71,
74, 73, 74, 75, 76, 77, 78, 76,
79, 80, 81, 82, 78, 75, 73, 74,
83, 73, 74, 84, 73, 74, 85, 73,
74, 86, 73, 74, 87, 73, 74, 88,
73, 74, 89, 73, 74, 90, 73, 74,
91, 73, 74, 92, 73, 74, 93, 73,
74, 94, 73, 74, 95, 73, 74, 96,
73, 74, 97, 73, 99, 98, 100, 101,
102, 103, 104, 105, 106, 107, 108, 109,
103, 110, 98, 0, 111, 112, 0, 113,
0, 114, 0, 115, 0, 116, 0, 117,
0, 118, 0, 119, 0, 120, 0, 121,
0, 122, 0, 123, 0, 124, 0, 125,
0, 126, 0, 128, 127, 130, 129, 130,
131, 132, 133, 132, 134, 135, 136, 131,
129, 130, 137, 129, 130, 138, 129, 130,
139, 129, 130, 140, 129, 130, 141, 129,
130, 142, 129, 130, 143, 129, 130, 144,
129, 130, 145, 129, 130, 146, 129, 130,
147, 129, 130, 148, 129, 130, 149, 129,
130, 150, 129, 130, 151, 129, 130, 152,
129, 130, 153, 129, 130, 154, 129, 130,
155, 129, 130, 156, 129, 130, 157, 129,
130, 158, 129, 130, 159, 129, 130, 160,
129, 130, 161, 129, 130, 162, 129, 130,
163, 129, 130, 164, 129, 130, 165, 129,
130, 166, 129, 130, 167, 129, 130, 168,
129, 130, 169, 129, 170, 130, 129, 171,
130, 129, 130, 172, 129, 130, 173, 129,
130, 174, 129, 130, 175, 129, 130, 161,
129, 130, 176, 177, 129, 130, 178, 129,
130, 179, 129, 130, 180, 129, 130, 181,
129, 130, 160, 129, 130, 182, 183, 129,
130, 184, 129, 130, 185, 129, 130, 186,
129, 130, 187, 129, 130, 188, 129, 130,
161, 129, 130, 189, 129, 130, 190, 129,
130, 191, 129, 130, 192, 129, 130, 193,
129, 130, 194, 129, 130, 195, 129, 130,
196, 129, 130, 197, 129, 130, 198, 129,
130, 199, 129, 130, 182, 129, 200, 0,
201, 0, 202, 0, 203, 0, 201, 0,
204, 205, 206, 0, 207, 0, 208, 0,
209, 0, 210, 0, 211, 0, 212, 0,
213, 0, 215, 214, 217, 216, 217, 218,
219, 220, 219, 218, 216, 217, 221, 216,
217, 222, 216, 217, 223, 216, 217, 224,
216, 217, 225, 216, 217, 226, 216, 217,
227, 216, 228, 217, 216, 229, 217, 216,
217, 230, 216, 217, 231, 216, 217, 232,
216, 217, 233, 216, 217, 234, 216, 217,
235, 216, 236, 0, 237, 0, 238, 0,
239, 0, 240, 0, 203, 0, 241, 242,
0, 243, 0, 244, 0, 245, 0, 246,
0, 247, 0, 248, 0, 249, 0, 251,
250, 253, 252, 253, 254, 255, 256, 257,
255, 258, 259, 260, 261, 262, 257, 254,
252, 253, 263, 252, 253, 264, 252, 253,
265, 252, 253, 266, 252, 253, 267, 252,
253, 268, 252, 253, 269, 252, 253, 270,
252, 253, 271, 252, 253, 272, 252, 253,
273, 252, 253, 274, 252, 253, 275, 252,
253, 276, 252, 253, 277, 252, 253, 278,
252, 253, 279, 252, 253, 280, 252, 253,
281, 252, 253, 282, 252, 253, 283, 252,
253, 284, 252, 253, 285, 252, 253, 286,
252, 253, 287, 252, 253, 288, 252, 253,
277, 252, 253, 289, 290, 252, 253, 291,
252, 253, 292, 252, 253, 293, 252, 253,
294, 252, 253, 295, 252, 253, 296, 252,
297, 253, 252, 298, 253, 252, 253, 299,
252, 253, 300, 252, 253, 301, 252, 253,
302, 252, 253, 288, 252, 253, 303, 252,
253, 304, 252, 253, 305, 252, 253, 306,
252, 253, 304, 252, 253, 307, 308, 252,
253, 309, 252, 253, 310, 252, 253, 311,
252, 253, 312, 252, 253, 313, 252, 253,
306, 252, 253, 314, 315, 252, 253, 316,
252, 253, 317, 252, 253, 318, 252, 253,
319, 252, 253, 320, 252, 253, 288, 252,
253, 321, 252, 253, 322, 252, 253, 323,
252, 253, 324, 252, 253, 325, 252, 253,
326, 252, 253, 327, 252, 253, 328, 252,
253, 329, 252, 253, 330, 252, 253, 331,
252, 253, 314, 252, 253, 332, 252, 253,
305, 252, 333, 0, 334, 0, 335, 0,
336, 0, 337, 0, 338, 0, 339, 0,
340, 0, 341, 0, 342, 0, 343, 0,
344, 0, 345, 0, 346, 0, 347, 0,
348, 0, 349, 0, 350, 0, 351, 0,
353, 352, 355, 354, 355, 356, 357, 358,
359, 357, 360, 361, 362, 363, 359, 356,
354, 355, 364, 354, 355, 365, 354, 355,
366, 354, 355, 367, 354, 355, 368, 354,
355, 369, 354, 355, 370, 354, 355, 371,
354, 355, 372, 354, 355, 373, 354, 355,
374, 354, 355, 375, 354, 355, 376, 354,
355, 377, 354, 355, 378, 354, 355, 379,
380, 354, 355, 381, 354, 355, 382, 354,
355, 383, 354, 355, 384, 354, 355, 385,
354, 355, 386, 354, 387, 355, 354, 388,
355, 354, 355, 389, 354, 355, 390, 354,
355, 391, 354, 355, 392, 354, 355, 393,
354, 355, 378, 354, 355, 394, 354, 355,
395, 354, 355, 396, 354, 355, 397, 354,
355, 395, 354, 355, 398, 399, 354, 355,
400, 354, 355, 401, 354, 355, 402, 354,
355, 403, 354, 355, 404, 354, 355, 397,
354, 355, 405, 354, 355, 406, 354, 355,
407, 354, 355, 408, 354, 355, 409, 354,
355, 410, 354, 355, 393, 354, 355, 411,
354, 355, 396, 354, 412, 0, 202, 0,
413, 414, 413, 0, 417, 416, 418, 419,
416, 415, 0, 421, 422, 420, 0, 421,
420, 417, 423, 421, 422, 423, 420, 417,
424, 425, 426, 427, 428, 429, 430, 431,
432, 433, 434, 428, 435, 424, 0, 74,
436, 437, 73, 74, 438, 73, 74, 439,
73, 74, 440, 73, 74, 441, 73, 74,
442, 73, 74, 443, 73, 444, 74, 73,
445, 74, 73, 74, 446, 73, 74, 447,
73, 74, 448, 73, 74, 449, 73, 74,
450, 73, 74, 97, 73, 74, 451, 73,
74, 452, 73, 74, 453, 73, 74, 454,
73, 74, 452, 73, 74, 455, 456, 73,
74, 457, 73, 74, 458, 73, 74, 459,
73, 74, 460, 73, 74, 461, 73, 74,
454, 73, 74, 462, 463, 73, 74, 464,
73, 74, 465, 73, 74, 466, 73, 74,
467, 73, 74, 468, 73, 74, 450, 73,
74, 469, 73, 74, 470, 73, 74, 471,
73, 74, 472, 73, 74, 473, 73, 74,
474, 73, 74, 475, 73, 74, 476, 73,
74, 477, 73, 74, 478, 73, 74, 479,
73, 74, 462, 73, 74, 480, 73, 74,
453, 73, 481, 0, 1, 0, 482, 0
];
const _lexer_trans_targs = [
0, 2, 2, 3, 12, 14, 28, 31,
34, 65, 152, 153, 343, 345, 399, 4,
5, 6, 7, 7, 7, 8, 7, 7,
7, 8, 9, 10, 11, 2, 11, 12,
2, 13, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 401,
29, 30, 30, 2, 13, 32, 33, 2,
32, 31, 33, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47,
48, 47, 48, 48, 2, 49, 63, 351,
370, 371, 397, 50, 51, 52, 53, 54,
55, 56, 57, 58, 59, 60, 61, 62,
2, 64, 2, 2, 3, 12, 14, 28,
31, 34, 65, 152, 153, 343, 345, 66,
148, 67, 68, 69, 70, 71, 72, 73,
74, 75, 76, 77, 78, 79, 80, 81,
82, 81, 82, 82, 2, 83, 97, 109,
123, 84, 85, 86, 87, 88, 89, 90,
91, 92, 93, 94, 95, 96, 2, 98,
99, 100, 101, 102, 103, 104, 105, 106,
107, 108, 64, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, 120, 121, 122,
124, 129, 125, 126, 127, 128, 130, 136,
131, 132, 133, 134, 135, 137, 138, 139,
140, 141, 142, 143, 144, 145, 146, 147,
149, 150, 151, 28, 154, 179, 185, 155,
156, 157, 158, 159, 160, 161, 162, 163,
162, 163, 163, 2, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 64, 180, 181, 182, 183,
184, 186, 270, 187, 188, 189, 190, 191,
192, 193, 194, 195, 194, 195, 195, 2,
196, 210, 211, 223, 241, 242, 268, 197,
198, 199, 200, 201, 202, 203, 204, 205,
206, 207, 208, 209, 2, 64, 212, 213,
214, 215, 216, 217, 218, 219, 220, 221,
222, 224, 237, 225, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 238,
239, 240, 210, 243, 249, 244, 245, 246,
247, 248, 250, 256, 251, 252, 253, 254,
255, 257, 258, 259, 260, 261, 262, 263,
264, 265, 266, 267, 269, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, 281,
282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 290, 291, 291, 2, 292, 306,
307, 326, 327, 341, 293, 294, 295, 296,
297, 298, 299, 300, 301, 302, 303, 304,
305, 2, 64, 308, 322, 309, 310, 311,
312, 313, 314, 315, 316, 317, 318, 319,
320, 321, 323, 324, 325, 306, 328, 334,
329, 330, 331, 332, 333, 335, 336, 337,
338, 339, 340, 342, 344, 345, 346, 347,
349, 350, 348, 346, 347, 348, 346, 349,
350, 3, 12, 14, 28, 31, 34, 65,
152, 153, 343, 345, 352, 366, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 367, 368, 369, 63, 372,
378, 373, 374, 375, 376, 377, 379, 385,
380, 381, 382, 383, 384, 386, 387, 388,
389, 390, 391, 392, 393, 394, 395, 396,
398, 400, 0
];
const _lexer_trans_actions = [
39, 0, 47, 3, 1, 0, 25, 1,
25, 25, 25, 25, 25, 31, 0, 0,
0, 47, 5, 41, 119, 41, 0, 29,
111, 29, 29, 0, 7, 95, 0, 0,
103, 21, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 50, 0, 99, 19, 0, 23, 107,
23, 44, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 50,
124, 0, 47, 0, 65, 29, 77, 77,
77, 77, 77, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
11, 11, 27, 115, 53, 50, 27, 56,
50, 56, 56, 56, 56, 56, 59, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 50,
124, 0, 47, 0, 62, 29, 77, 77,
77, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 9, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 9, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 50, 124,
0, 47, 0, 74, 77, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 17, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 50, 124, 0, 47, 0, 68,
29, 77, 77, 77, 77, 77, 77, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 13, 13, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
50, 124, 0, 47, 0, 71, 29, 77,
77, 77, 77, 77, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 15, 15, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 33,
33, 47, 33, 80, 0, 0, 35, 0,
0, 86, 83, 37, 89, 83, 89, 89,
89, 89, 89, 92, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0
];
const _lexer_eof_actions = [
0, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39
];
const lexer_start = 1;
const lexer_first_final = 401;
const lexer_error = 0;
const lexer_en_main = 1;
/* line 120 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
/* line 121 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
/* line 122 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
var Lexer = function(listener) {
// Check that listener has the required functions
var events = ['comment', 'tag', 'feature', 'background', 'scenario', 'scenario_outline', 'examples', 'step', 'doc_string', 'row', 'eof'];
for(e in events) {
var event = events[e];
if(typeof listener[event] != 'function') {
"Error. No " + event + " function exists on " + JSON.stringify(listener);
}
}
this.listener = listener;
};
Lexer.prototype.scan = function(data) {
var ending = "\n%_FEATURE_END_%";
if(typeof data == 'string') {
data = this.stringToBytes(data + ending);
} else if(typeof Buffer != 'undefined' && Buffer.isBuffer(data)) {
// Node.js
var buf = new Buffer(data.length + ending.length);
data.copy(buf, 0, 0);
new Buffer(ending).copy(buf, data.length, 0);
data = buf;
}
var eof = pe = data.length;
var p = 0;
this.line_number = 1;
this.last_newline = 0;
/* line 740 "js/lib/gherkin/lexer/es.js" */
{
this.cs = lexer_start;
} /* JSCodeGen::writeInit */
/* line 153 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
/* line 747 "js/lib/gherkin/lexer/es.js" */
{
var _klen, _trans, _keys, _ps, _widec, _acts, _nacts;
var _goto_level, _resume, _eof_trans, _again, _test_eof;
var _out;
_klen = _trans = _keys = _acts = _nacts = null;
_goto_level = 0;
_resume = 10;
_eof_trans = 15;
_again = 20;
_test_eof = 30;
_out = 40;
while (true) {
_trigger_goto = false;
if (_goto_level <= 0) {
if (p == pe) {
_goto_level = _test_eof;
continue;
}
if ( this.cs == 0) {
_goto_level = _out;
continue;
}
}
if (_goto_level <= _resume) {
_keys = _lexer_key_offsets[ this.cs];
_trans = _lexer_index_offsets[ this.cs];
_klen = _lexer_single_lengths[ this.cs];
_break_match = false;
do {
if (_klen > 0) {
_lower = _keys;
_upper = _keys + _klen - 1;
while (true) {
if (_upper < _lower) { break; }
_mid = _lower + ( (_upper - _lower) >> 1 );
if ( data[p] < _lexer_trans_keys[_mid]) {
_upper = _mid - 1;
} else if ( data[p] > _lexer_trans_keys[_mid]) {
_lower = _mid + 1;
} else {
_trans += (_mid - _keys);
_break_match = true;
break;
};
} /* while */
if (_break_match) { break; }
_keys += _klen;
_trans += _klen;
}
_klen = _lexer_range_lengths[ this.cs];
if (_klen > 0) {
_lower = _keys;
_upper = _keys + (_klen << 1) - 2;
while (true) {
if (_upper < _lower) { break; }
_mid = _lower + (((_upper-_lower) >> 1) & ~1);
if ( data[p] < _lexer_trans_keys[_mid]) {
_upper = _mid - 2;
} else if ( data[p] > _lexer_trans_keys[_mid+1]) {
_lower = _mid + 2;
} else {
_trans += ((_mid - _keys) >> 1);
_break_match = true;
break;
}
} /* while */
if (_break_match) { break; }
_trans += _klen
}
} while (false);
_trans = _lexer_indicies[_trans];
this.cs = _lexer_trans_targs[_trans];
if (_lexer_trans_actions[_trans] != 0) {
_acts = _lexer_trans_actions[_trans];
_nacts = _lexer_actions[_acts];
_acts += 1;
while (_nacts > 0) {
_nacts -= 1;
_acts += 1;
switch (_lexer_actions[_acts - 1]) {
case 0:
/* line 6 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
this.content_start = p;
this.current_line = this.line_number;
this.start_col = p - this.last_newline - (this.keyword+':').length;
break;
case 1:
/* line 12 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
this.current_line = this.line_number;
this.start_col = p - this.last_newline;
break;
case 2:
/* line 17 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
this.content_start = p;
break;
case 3:
/* line 21 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
var con = this.unindent(
this.start_col,
this.bytesToString(data.slice(this.content_start, this.next_keyword_start-1)).replace(/(\r?\n)?([\t ])*$/, '').replace(/\\\"\\\"\\\"/mg, '"""')
);
this.listener.doc_string(con, this.current_line);
break;
case 4:
/* line 29 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
p = this.store_keyword_content('feature', data, p, eof);
break;
case 5:
/* line 33 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
p = this.store_keyword_content('background', data, p, eof);
break;
case 6:
/* line 37 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
p = this.store_keyword_content('scenario', data, p, eof);
break;
case 7:
/* line 41 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
p = this.store_keyword_content('scenario_outline', data, p, eof);
break;
case 8:
/* line 45 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
p = this.store_keyword_content('examples', data, p, eof);
break;
case 9:
/* line 49 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
var con = this.bytesToString(data.slice(this.content_start, p)).trim();
this.listener.step(this.keyword, con, this.current_line);
break;
case 10:
/* line 54 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
var con = this.bytesToString(data.slice(this.content_start, p)).trim();
this.listener.comment(con, this.line_number);
this.keyword_start = null;
break;
case 11:
/* line 60 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
var con = this.bytesToString(data.slice(this.content_start, p)).trim();
this.listener.tag(con, this.line_number);
this.keyword_start = null;
break;
case 12:
/* line 66 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
this.line_number++;
break;
case 13:
/* line 70 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
this.last_newline = p + 1;
break;
case 14:
/* line 74 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
this.keyword_start = this.keyword_start || p;
break;
case 15:
/* line 78 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
this.keyword = this.bytesToString(data.slice(this.keyword_start, p)).replace(/:$/, '');
this.keyword_start = null;
break;
case 16:
/* line 83 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
this.next_keyword_start = p;
break;
case 17:
/* line 87 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
p = p - 1;
current_row = [];
this.current_line = this.line_number;
break;
case 18:
/* line 93 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
this.content_start = p;
break;
case 19:
/* line 97 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
var con = this.bytesToString(data.slice(this.content_start, p)).trim();
current_row.push(con.replace(/\\\|/, "|").replace(/\\n/, "\n").replace(/\\\\/, "\\"));
break;
case 20:
/* line 102 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
this.listener.row(current_row, this.current_line);
break;
case 21:
/* line 106 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
if(this.cs < lexer_first_final) {
var content = this.current_line_content(data, p);
throw "Lexing error on line " + this.line_number + ": '" + content + "'. See http://wiki.github.com/cucumber/gherkin/lexingerror for more information.";
} else {
this.listener.eof();
}
break;
/* line 963 "js/lib/gherkin/lexer/es.js" */
} /* action switch */
}
}
if (_trigger_goto) {
continue;
}
}
if (_goto_level <= _again) {
if ( this.cs == 0) {
_goto_level = _out;
continue;
}
p += 1;
if (p != pe) {
_goto_level = _resume;
continue;
}
}
if (_goto_level <= _test_eof) {
if (p == eof) {
__acts = _lexer_eof_actions[ this.cs];
__nacts = _lexer_actions[__acts];
__acts += 1;
while (__nacts > 0) {
__nacts -= 1;
__acts += 1;
switch (_lexer_actions[__acts - 1]) {
case 21:
/* line 106 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
if(this.cs < lexer_first_final) {
var content = this.current_line_content(data, p);
throw "Lexing error on line " + this.line_number + ": '" + content + "'. See http://wiki.github.com/cucumber/gherkin/lexingerror for more information.";
} else {
this.listener.eof();
}
break;
/* line 1002 "js/lib/gherkin/lexer/es.js" */
} /* eof action switch */
}
if (_trigger_goto) {
continue;
}
}
}
if (_goto_level <= _out) {
break;
}
}
}
/* line 154 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/es.js.rl" */
};
Lexer.prototype.bytesToString = function(bytes) {
if(typeof bytes.write == 'function') {
// Node.js
return bytes.toString('utf-8');
} else {
var result = "";
for(var b in bytes) {
result += String.fromCharCode(bytes[b]);
}
return result;
}
};
Lexer.prototype.stringToBytes = function(string) {
var bytes = [];
for(var i = 0; i < string.length; i++) {
bytes[i] = string.charCodeAt(i);
}
return bytes;
};
Lexer.prototype.unindent = function(startcol, text) {
startcol = startcol || 0;
return text.replace(new RegExp('^[\t ]{0,' + startcol + '}', 'gm'), '');
};
Lexer.prototype.store_keyword_content = function(event, data, p, eof) {
var end_point = (!this.next_keyword_start || (p == eof)) ? p : this.next_keyword_start;
var content = this.unindent(this.start_col + 2, this.bytesToString(data.slice(this.content_start, end_point))).replace(/\s+$/,"");
var content_lines = content.split("\n")
var name = content_lines.shift() || "";
name = name.trim();
var description = content_lines.join("\n");
this.listener[event](this.keyword, name, description, this.current_line);
var nks = this.next_keyword_start;
this.next_keyword_start = null;
return nks ? nks - 1 : p;
};
Lexer.prototype.current_line_content = function(data, p) {
var rest = data.slice(this.last_newline, -1);
var end = rest.indexOf(10) || -1;
return this.bytesToString(rest.slice(0, end)).trim();
};
// Node.js export
if(typeof exports !== 'undefined') {
exports.Lexer = Lexer;
}
// Require.js export
if (typeof define !== 'undefined' && define.amd) {
define('gherkin/lexer/es', [], function() {return Lexer});
}
})();