Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
gherkin.lexer.Bg Maven / Gradle / Ivy
// line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
package gherkin.lexer;
import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.ArrayList;
import java.util.regex.Pattern;
import gherkin.lexer.Lexer;
import gherkin.lexer.Listener;
import gherkin.lexer.LexingError;
public class Bg implements Lexer {
// line 150 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
private final Listener listener;
public Bg(Listener listener) {
this.listener = listener;
}
// line 26 "java/src/main/java/gherkin/lexer/Bg.java"
private static byte[] init__lexer_actions_0()
{
return new byte [] {
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, 12, 1, 13, 1, 16, 1, 17, 1, 18, 1,
19, 1, 20, 1, 21, 1, 22, 1, 23, 2, 2, 18,
2, 3, 4, 2, 13, 0, 2, 14, 15, 2, 17, 0,
2, 17, 1, 2, 17, 16, 2, 17, 19, 2, 18, 6,
2, 18, 7, 2, 18, 8, 2, 18, 9, 2, 18, 10,
2, 18, 16, 2, 20, 21, 2, 22, 0, 2, 22, 1,
2, 22, 16, 2, 22, 19, 3, 4, 14, 15, 3, 5,
14, 15, 3, 11, 14, 15, 3, 12, 14, 15, 3, 13,
14, 15, 3, 14, 15, 18, 3, 17, 0, 11, 3, 17,
14, 15, 4, 2, 14, 15, 18, 4, 3, 4, 14, 15,
4, 17, 0, 14, 15, 5, 17, 0, 11, 14, 15
};
}
private static final byte _lexer_actions[] = init__lexer_actions_0();
private static short[] init__lexer_key_offsets_0()
{
return new short [] {
0, 0, 12, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 34, 36, 47, 48, 49, 51, 53, 58, 63,
68, 73, 77, 81, 83, 84, 85, 86, 87, 88, 89, 90,
91, 92, 93, 94, 95, 96, 97, 98, 103, 110, 115, 119,
125, 128, 130, 136, 147, 148, 149, 150, 151, 152, 153, 154,
155, 156, 157, 158, 160, 161, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
188, 197, 199, 201, 203, 205, 207, 209, 211, 213, 215, 217,
219, 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, 288, 290, 292, 294, 296, 298,
300, 302, 304, 306, 308, 310, 312, 314, 316, 318, 320, 322,
324, 326, 328, 330, 332, 334, 336, 338, 340, 342, 344, 346,
348, 350, 352, 354, 356, 358, 360, 362, 364, 366, 368, 370,
372, 374, 376, 378, 380, 382, 384, 386, 388, 389, 390, 391,
392, 393, 394, 395, 396, 397, 398, 399, 406, 408, 410, 412,
414, 416, 418, 420, 422, 424, 426, 428, 430, 432, 434, 436,
438, 440, 442, 444, 446, 448, 450, 452, 454, 456, 458, 460,
462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 504, 512,
514, 516, 518, 520, 522, 524, 526, 528, 530, 532, 534, 536,
538, 540, 542, 544, 546, 548, 550, 552, 554, 556, 558, 560,
562, 564, 566, 568, 570, 572, 574, 576, 578, 580, 582, 584,
586, 588, 590, 592, 594, 596, 598, 600, 602, 604, 606, 608,
610, 612, 614, 616, 618, 620, 622, 624, 626, 628, 630, 632,
634, 636, 638, 640, 642, 644, 646, 648, 650, 652, 654, 656,
658, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670,
671, 672, 673, 674, 675, 676, 677, 686, 696, 698, 700, 702,
704, 706, 708, 710, 712, 714, 716, 718, 720, 722, 724, 726,
728, 730, 732, 734, 736, 738, 740, 742, 744, 746, 748, 750,
752, 754, 756, 758, 760, 762, 764, 766, 768, 770, 772, 774,
776, 778, 780, 782, 784, 786, 788, 790, 792, 794, 796, 798,
800, 802, 804, 806, 808, 810, 812, 814, 816, 818, 820, 822,
824, 826, 828, 830, 832, 834, 836, 838, 840, 842, 844, 846,
848, 850, 852, 854, 856, 858, 860, 862, 864, 866, 868, 870,
872, 874, 876, 878, 880, 882, 884, 886, 888, 890, 892, 894,
896, 898, 900, 902, 904, 906, 908, 910, 912, 914, 916, 917,
918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929,
930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941,
942, 943, 944, 945, 953, 958, 960, 962, 964, 967, 969, 971,
973, 975, 977, 979, 981, 983, 985, 987, 989, 991, 993, 995,
997, 999, 1001, 1003, 1005, 1007, 1009, 1011, 1013, 1015, 1017, 1019,
1021, 1023, 1025, 1027, 1029, 1031, 1033, 1035, 1037, 1039, 1041, 1043,
1045, 1047, 1049, 1051, 1053, 1055, 1057, 1059, 1061, 1063, 1065, 1067,
1069, 1071, 1073, 1075, 1077, 1079, 1081, 1083, 1085, 1087, 1089, 1091,
1093, 1095, 1097, 1099, 1101, 1103, 1105, 1107, 1109, 1111, 1113, 1115,
1117, 1119, 1121, 1123, 1125, 1127, 1129, 1131, 1133, 1135, 1137, 1139,
1141, 1143, 1145, 1147, 1149, 1151, 1153, 1155, 1157, 1158, 1159
};
}
private static final short _lexer_key_offsets[] = init__lexer_key_offsets_0();
private static byte[] init__lexer_trans_keys_0()
{
return new byte [] {
-48, -17, 10, 32, 34, 35, 37, 42, 64, 124, 9, 13,
-108, -104, -102, -99, -97, -96, -95, -94, -92, -48, -80, -48,
-76, -48, -75, -48, -67, -48, -66, 32, 10, 13, 10, 13,
-48, 10, 32, 34, 35, 37, 42, 64, 124, 9, 13, 34,
34, 10, 13, 10, 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, 13, 32, 64, 9, 10, 9, 10, 13, 32, 64,
11, 12, 10, 32, 64, 9, 13, 32, 124, 9, 13, 10,
32, 92, 124, 9, 13, 10, 92, 124, 10, 92, 10, 32,
92, 124, 9, 13, -48, 10, 32, 34, 35, 37, 42, 64,
124, 9, 13, -48, -66, -48, -77, -48, -80, -47, -126, -47,
-128, -48, -75, -72, -48, -76, -48, -72, -47, -127, -47, -126,
-48, -66, -47, -128, -48, -72, -47, -113, 58, 10, 10, -48,
10, 32, 35, 37, 42, 64, 9, 13, -108, -104, -102, -99,
-96, -95, -94, -92, 10, -48, 10, -80, 10, -48, 10, -76,
10, -48, 10, -75, 10, -48, 10, -67, 10, -48, 10, -66,
10, 10, 32, -48, 10, 32, 34, 35, 37, 42, 64, 124,
9, 13, -48, 10, -66, 10, -48, 10, -77, 10, -48, 10,
-80, 10, -47, 10, -126, 10, -48, 10, -80, 10, -48, 10,
-68, 10, -48, 10, -70, 10, -48, 10, -80, 10, 10, 32,
-48, 10, -67, 10, -48, 10, -80, 10, 10, 32, -47, 10,
-127, 10, -47, 10, -122, 10, -48, 10, -75, 10, -48, 10,
-67, 10, -48, 10, -80, 10, -47, 10, -128, 10, -48, 10,
-72, 10, -48, 10, -71, 10, 10, 58, -47, 10, -125, 10,
-48, 10, -67, 10, -48, 10, -70, 10, -47, 10, -122, 10,
-48, 10, -72, 10, -48, 10, -66, 10, -48, 10, -67, 10,
-48, 10, -80, 10, -48, 10, -69, 10, -48, 10, -67, 10,
-48, 10, -66, 10, -47, 10, -127, 10, -47, 10, -126, 10,
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, -48, -68, -48, -75, -47, -128, -48, -72,
58, 10, 10, -48, 10, 32, 35, 124, 9, 13, -92, 10,
-47, 10, -125, 10, -48, 10, -67, 10, -48, 10, -70, 10,
-47, 10, -122, 10, -48, 10, -72, 10, -48, 10, -66, 10,
-48, 10, -67, 10, -48, 10, -80, 10, -48, 10, -69, 10,
-48, 10, -67, 10, -48, 10, -66, 10, -47, 10, -127, 10,
-47, 10, -126, 10, 10, 58, -48, -80, -48, -68, -48, -70,
-48, -80, 32, -48, -67, -48, -80, 32, -47, -127, -47, -122,
-48, -75, -48, -67, -48, -80, -47, -128, -48, -72, -48, -71,
58, 10, 10, -48, 10, 32, 35, 37, 42, 64, 9, 13,
-108, -104, -102, -99, -95, -94, -92, 10, -48, 10, -80, 10,
-48, 10, -76, 10, -48, 10, -75, 10, -48, 10, -67, 10,
-48, 10, -66, 10, 10, 32, -48, 10, -66, 10, -48, 10,
-77, 10, -48, 10, -80, 10, -47, 10, -126, 10, -47, 10,
-122, 10, -48, 10, -75, 10, -48, 10, -67, 10, -48, 10,
-80, 10, -47, 10, -128, 10, -48, 10, -72, 10, -48, 10,
-71, 10, 10, 58, -47, 10, -125, 10, -48, 10, -67, 10,
-48, 10, -70, 10, -47, 10, -122, 10, -48, 10, -72, 10,
-48, 10, -66, 10, -48, 10, -67, 10, -48, 10, -80, 10,
-48, 10, -69, 10, -48, 10, -67, 10, -48, 10, -66, 10,
-47, 10, -127, 10, -47, 10, -126, 10, 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,
-47, -122, -48, -75, -48, -67, -48, -80, -47, -128, -48, -72,
-48, -71, 58, 10, 10, -48, 10, 32, 35, 37, 42, 64,
9, 13, -108, -104, -102, -99, -97, -96, -95, -94, -92, 10,
-48, 10, -80, 10, -48, 10, -76, 10, -48, 10, -75, 10,
-48, 10, -67, 10, -48, 10, -66, 10, 10, 32, -48, 10,
-66, 10, -48, 10, -77, 10, -48, 10, -80, 10, -47, 10,
-126, 10, -47, 10, -128, 10, -48, 10, -75, 10, -48, 10,
-76, 10, -48, 10, -72, 10, -47, 10, -127, 10, -47, 10,
-126, 10, -48, 10, -66, 10, -47, 10, -128, 10, -48, 10,
-72, 10, -47, 10, -113, 10, 10, 58, -48, 10, -80, 10,
-48, 10, -68, 10, -48, 10, -70, 10, -48, 10, -80, 10,
10, 32, -48, 10, -67, 10, -48, 10, -80, 10, 10, 32,
-47, 10, -127, 10, -47, 10, -122, 10, -48, 10, -75, 10,
-48, 10, -67, 10, -48, 10, -80, 10, -47, 10, -128, 10,
-48, 10, -72, 10, -48, 10, -71, 10, -47, 10, -125, 10,
-48, 10, -67, 10, -48, 10, -70, 10, -47, 10, -122, 10,
-48, 10, -72, 10, -48, 10, -66, 10, -48, 10, -67, 10,
-48, 10, -80, 10, -48, 10, -69, 10, -48, 10, -67, 10,
-48, 10, -66, 10, -47, 10, -127, 10, -47, 10, -126, 10,
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, -47, -125, -48, -67, -48, -70, -47, -122,
-48, -72, -48, -66, -48, -67, -48, -80, -48, -69, -48, -67,
-48, -66, -47, -127, -47, -126, 58, 10, 10, -48, 10, 32,
35, 37, 64, 9, 13, -97, -96, -95, -92, 10, -47, 10,
-128, 10, -48, 10, -75, -72, 10, -48, 10, -76, 10, -48,
10, -72, 10, -47, 10, -127, 10, -47, 10, -126, 10, -48,
10, -66, 10, -47, 10, -128, 10, -48, 10, -72, 10, -47,
10, -113, 10, 10, 58, -48, 10, -68, 10, -48, 10, -75,
10, -47, 10, -128, 10, -48, 10, -72, 10, -48, 10, -80,
10, -48, 10, -68, 10, -48, 10, -70, 10, -48, 10, -80,
10, 10, 32, -48, 10, -67, 10, -48, 10, -80, 10, 10,
32, -47, 10, -127, 10, -47, 10, -122, 10, -48, 10, -75,
10, -48, 10, -67, 10, -48, 10, -80, 10, -47, 10, -128,
10, -48, 10, -72, 10, -48, 10, -71, 10, -47, 10, -125,
10, -48, 10, -67, 10, -48, 10, -70, 10, -47, 10, -122,
10, -48, 10, -72, 10, -48, 10, -66, 10, -48, 10, -67,
10, -48, 10, -80, 10, -48, 10, -69, 10, -48, 10, -67,
10, -48, 10, -66, 10, -47, 10, -127, 10, -47, 10, -126,
10, 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, -69, -65, 0
};
}
private static final byte _lexer_trans_keys[] = init__lexer_trans_keys_0();
private static byte[] init__lexer_single_lengths_0()
{
return new byte [] {
0, 10, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 2, 2, 9, 1, 1, 2, 2, 3, 3, 3,
3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 3, 5, 3, 2, 4,
3, 2, 4, 9, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7,
9, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
9, 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, 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, 1, 1, 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, 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, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 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, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 7, 10, 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,
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, 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, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 6, 5, 2, 2, 2, 3, 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, 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, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 0
};
}
private static final byte _lexer_single_lengths[] = init__lexer_single_lengths_0();
private static byte[] init__lexer_range_lengths_0()
{
return new byte [] {
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1,
1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 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, 1,
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, 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, 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, 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, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0
};
}
private static final byte _lexer_range_lengths[] = init__lexer_range_lengths_0();
private static short[] init__lexer_index_offsets_0()
{
return new short [] {
0, 0, 12, 22, 24, 26, 28, 30, 32, 34, 36, 38,
40, 42, 44, 47, 50, 61, 63, 65, 68, 71, 76, 81,
86, 91, 95, 99, 102, 104, 106, 108, 110, 112, 114, 116,
118, 120, 122, 124, 126, 128, 130, 132, 137, 144, 149, 153,
159, 163, 166, 172, 183, 185, 187, 189, 191, 193, 195, 197,
199, 201, 203, 205, 208, 210, 212, 214, 216, 218, 220, 222,
224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246,
255, 265, 268, 271, 274, 277, 280, 283, 286, 289, 292, 295,
298, 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, 396, 399, 402, 405, 408, 411,
414, 417, 420, 423, 426, 429, 432, 435, 438, 441, 444, 447,
450, 453, 456, 459, 462, 465, 468, 471, 474, 477, 480, 483,
486, 489, 492, 495, 498, 501, 504, 507, 510, 513, 516, 519,
522, 525, 528, 531, 534, 537, 540, 543, 546, 548, 550, 552,
554, 556, 558, 560, 562, 564, 566, 568, 575, 578, 581, 584,
587, 590, 593, 596, 599, 602, 605, 608, 611, 614, 617, 620,
623, 626, 629, 632, 635, 638, 641, 644, 647, 650, 653, 656,
659, 661, 663, 665, 667, 669, 671, 673, 675, 677, 679, 681,
683, 685, 687, 689, 691, 693, 695, 697, 699, 701, 703, 705,
707, 709, 711, 713, 715, 717, 719, 721, 723, 725, 734, 743,
746, 749, 752, 755, 758, 761, 764, 767, 770, 773, 776, 779,
782, 785, 788, 791, 794, 797, 800, 803, 806, 809, 812, 815,
818, 821, 824, 827, 830, 833, 836, 839, 842, 845, 848, 851,
854, 857, 860, 863, 866, 869, 872, 875, 878, 881, 884, 887,
890, 893, 896, 899, 902, 905, 908, 911, 914, 917, 920, 923,
926, 929, 932, 935, 938, 941, 944, 947, 950, 953, 956, 959,
962, 965, 967, 969, 971, 973, 975, 977, 979, 981, 983, 985,
987, 989, 991, 993, 995, 997, 999, 1008, 1019, 1022, 1025, 1028,
1031, 1034, 1037, 1040, 1043, 1046, 1049, 1052, 1055, 1058, 1061, 1064,
1067, 1070, 1073, 1076, 1079, 1082, 1085, 1088, 1091, 1094, 1097, 1100,
1103, 1106, 1109, 1112, 1115, 1118, 1121, 1124, 1127, 1130, 1133, 1136,
1139, 1142, 1145, 1148, 1151, 1154, 1157, 1160, 1163, 1166, 1169, 1172,
1175, 1178, 1181, 1184, 1187, 1190, 1193, 1196, 1199, 1202, 1205, 1208,
1211, 1214, 1217, 1220, 1223, 1226, 1229, 1232, 1235, 1238, 1241, 1244,
1247, 1250, 1253, 1256, 1259, 1262, 1265, 1268, 1271, 1274, 1277, 1280,
1283, 1286, 1289, 1292, 1295, 1298, 1301, 1304, 1307, 1310, 1313, 1316,
1319, 1322, 1325, 1328, 1331, 1334, 1337, 1340, 1343, 1346, 1349, 1351,
1353, 1355, 1357, 1359, 1361, 1363, 1365, 1367, 1369, 1371, 1373, 1375,
1377, 1379, 1381, 1383, 1385, 1387, 1389, 1391, 1393, 1395, 1397, 1399,
1401, 1403, 1405, 1407, 1415, 1421, 1424, 1427, 1430, 1434, 1437, 1440,
1443, 1446, 1449, 1452, 1455, 1458, 1461, 1464, 1467, 1470, 1473, 1476,
1479, 1482, 1485, 1488, 1491, 1494, 1497, 1500, 1503, 1506, 1509, 1512,
1515, 1518, 1521, 1524, 1527, 1530, 1533, 1536, 1539, 1542, 1545, 1548,
1551, 1554, 1557, 1560, 1563, 1566, 1569, 1572, 1575, 1578, 1581, 1584,
1587, 1590, 1593, 1596, 1599, 1602, 1605, 1608, 1611, 1614, 1617, 1620,
1623, 1626, 1629, 1632, 1635, 1638, 1641, 1644, 1647, 1650, 1653, 1656,
1659, 1662, 1665, 1668, 1671, 1674, 1677, 1680, 1683, 1686, 1689, 1692,
1695, 1698, 1701, 1704, 1707, 1710, 1713, 1716, 1719, 1721, 1723
};
}
private static final short _lexer_index_offsets[] = init__lexer_index_offsets_0();
private static short[] init__lexer_indicies_0()
{
return new short [] {
1, 2, 4, 3, 5, 6, 7, 8, 9, 10, 3, 0,
11, 12, 13, 14, 15, 16, 17, 14, 18, 0, 19, 0,
20, 0, 21, 0, 22, 0, 23, 0, 24, 0, 25, 0,
14, 0, 26, 0, 12, 0, 27, 0, 29, 30, 28, 32,
33, 31, 1, 4, 3, 5, 6, 7, 8, 9, 10, 3,
0, 34, 0, 35, 0, 37, 38, 36, 40, 41, 39, 44,
43, 45, 43, 42, 48, 47, 49, 47, 46, 48, 47, 50,
47, 46, 48, 47, 51, 47, 46, 53, 52, 52, 0, 4,
54, 54, 0, 56, 57, 55, 4, 0, 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, 71, 0,
0, 0, 0, 0, 72, 73, 74, 73, 73, 76, 75, 72,
4, 77, 9, 77, 0, 78, 79, 78, 0, 82, 81, 83,
84, 81, 80, 0, 86, 87, 85, 0, 86, 85, 82, 88,
86, 87, 88, 85, 89, 82, 90, 91, 92, 93, 94, 95,
96, 90, 0, 97, 0, 98, 0, 99, 0, 100, 0, 101,
0, 102, 0, 103, 0, 14, 0, 104, 0, 105, 0, 106,
0, 107, 108, 0, 109, 0, 110, 0, 111, 0, 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, 127, 126, 129, 128, 130, 129, 131, 132, 133, 134,
132, 131, 128, 135, 136, 137, 138, 139, 140, 138, 141, 129,
128, 142, 129, 128, 143, 129, 128, 144, 129, 128, 145, 129,
128, 146, 129, 128, 147, 129, 128, 148, 129, 128, 138, 129,
128, 149, 129, 128, 136, 129, 128, 129, 150, 128, 151, 153,
152, 154, 155, 156, 157, 158, 159, 152, 0, 160, 129, 128,
161, 129, 128, 162, 129, 128, 163, 129, 128, 164, 129, 128,
165, 129, 128, 166, 129, 128, 138, 129, 128, 167, 129, 128,
168, 129, 128, 169, 129, 128, 170, 129, 128, 171, 129, 128,
172, 129, 128, 173, 129, 128, 174, 129, 128, 129, 175, 128,
176, 129, 128, 177, 129, 128, 178, 129, 128, 179, 129, 128,
129, 180, 128, 181, 129, 128, 140, 129, 128, 182, 129, 128,
183, 129, 128, 184, 129, 128, 185, 129, 128, 186, 129, 128,
187, 129, 128, 188, 129, 128, 189, 129, 128, 190, 129, 128,
191, 129, 128, 192, 129, 128, 193, 129, 128, 194, 129, 128,
195, 129, 128, 129, 150, 128, 196, 129, 128, 197, 129, 128,
198, 129, 128, 199, 129, 128, 200, 129, 128, 201, 129, 128,
202, 129, 128, 203, 129, 128, 204, 129, 128, 205, 129, 128,
206, 129, 128, 207, 129, 128, 208, 129, 128, 209, 129, 128,
210, 129, 128, 211, 129, 128, 212, 129, 128, 213, 129, 128,
214, 129, 128, 215, 129, 128, 216, 129, 128, 217, 129, 128,
218, 129, 128, 219, 129, 128, 220, 129, 128, 195, 129, 128,
129, 221, 128, 129, 222, 128, 129, 223, 128, 129, 224, 128,
129, 225, 128, 129, 226, 128, 129, 227, 128, 129, 228, 128,
129, 229, 128, 129, 230, 128, 129, 231, 128, 129, 232, 128,
129, 233, 128, 129, 234, 128, 235, 0, 236, 0, 237, 0,
238, 0, 239, 0, 240, 0, 241, 0, 242, 0, 243, 0,
245, 244, 247, 246, 248, 247, 249, 250, 250, 249, 246, 251,
247, 246, 252, 247, 246, 253, 247, 246, 254, 247, 246, 255,
247, 246, 256, 247, 246, 257, 247, 246, 258, 247, 246, 259,
247, 246, 260, 247, 246, 261, 247, 246, 262, 247, 246, 263,
247, 246, 264, 247, 246, 265, 247, 246, 266, 247, 246, 267,
247, 246, 268, 247, 246, 269, 247, 246, 270, 247, 246, 271,
247, 246, 272, 247, 246, 273, 247, 246, 274, 247, 246, 275,
247, 246, 276, 247, 246, 277, 247, 246, 247, 278, 246, 279,
0, 280, 0, 281, 0, 282, 0, 283, 0, 284, 0, 285,
0, 286, 0, 287, 0, 288, 0, 289, 0, 290, 0, 291,
0, 292, 0, 293, 0, 294, 0, 295, 0, 296, 0, 297,
0, 298, 0, 299, 0, 300, 0, 301, 0, 302, 0, 303,
0, 304, 0, 305, 0, 306, 0, 307, 0, 308, 0, 309,
0, 311, 310, 313, 312, 314, 313, 315, 316, 317, 318, 316,
315, 312, 319, 320, 321, 322, 323, 322, 324, 313, 312, 325,
313, 312, 326, 313, 312, 327, 313, 312, 328, 313, 312, 329,
313, 312, 330, 313, 312, 331, 313, 312, 322, 313, 312, 332,
313, 312, 320, 313, 312, 313, 333, 312, 334, 313, 312, 335,
313, 312, 336, 313, 312, 337, 313, 312, 338, 313, 312, 339,
313, 312, 340, 313, 312, 322, 313, 312, 341, 313, 312, 342,
313, 312, 343, 313, 312, 344, 313, 312, 345, 313, 312, 346,
313, 312, 347, 313, 312, 348, 313, 312, 349, 313, 312, 350,
313, 312, 351, 313, 312, 352, 313, 312, 353, 313, 312, 354,
313, 312, 313, 333, 312, 355, 313, 312, 356, 313, 312, 357,
313, 312, 358, 313, 312, 359, 313, 312, 360, 313, 312, 361,
313, 312, 362, 313, 312, 363, 313, 312, 364, 313, 312, 365,
313, 312, 366, 313, 312, 367, 313, 312, 368, 313, 312, 369,
313, 312, 370, 313, 312, 371, 313, 312, 372, 313, 312, 373,
313, 312, 374, 313, 312, 375, 313, 312, 376, 313, 312, 377,
313, 312, 378, 313, 312, 379, 313, 312, 354, 313, 312, 313,
380, 312, 313, 381, 312, 313, 382, 312, 313, 383, 312, 313,
384, 312, 313, 385, 312, 313, 386, 312, 313, 387, 312, 313,
388, 312, 313, 389, 312, 313, 390, 312, 313, 391, 312, 313,
392, 312, 313, 393, 312, 394, 0, 395, 0, 396, 0, 397,
0, 398, 0, 399, 0, 400, 0, 401, 0, 402, 0, 403,
0, 404, 0, 405, 0, 406, 0, 407, 0, 408, 0, 410,
409, 412, 411, 413, 412, 414, 415, 416, 417, 415, 414, 411,
418, 419, 420, 421, 422, 423, 424, 421, 425, 412, 411, 426,
412, 411, 427, 412, 411, 428, 412, 411, 429, 412, 411, 430,
412, 411, 431, 412, 411, 432, 412, 411, 421, 412, 411, 433,
412, 411, 419, 412, 411, 412, 434, 411, 435, 412, 411, 436,
412, 411, 437, 412, 411, 438, 412, 411, 439, 412, 411, 440,
412, 411, 441, 412, 411, 421, 412, 411, 442, 412, 411, 443,
412, 411, 444, 412, 411, 445, 412, 411, 446, 412, 411, 447,
412, 411, 448, 412, 411, 449, 412, 411, 450, 412, 411, 451,
412, 411, 452, 412, 411, 453, 412, 411, 454, 412, 411, 455,
412, 411, 456, 412, 411, 457, 412, 411, 458, 412, 411, 459,
412, 411, 460, 412, 411, 461, 412, 411, 412, 434, 411, 462,
412, 411, 463, 412, 411, 464, 412, 411, 465, 412, 411, 466,
412, 411, 467, 412, 411, 468, 412, 411, 469, 412, 411, 412,
470, 411, 471, 412, 411, 472, 412, 411, 473, 412, 411, 474,
412, 411, 412, 475, 411, 476, 412, 411, 424, 412, 411, 477,
412, 411, 478, 412, 411, 479, 412, 411, 480, 412, 411, 481,
412, 411, 482, 412, 411, 483, 412, 411, 484, 412, 411, 485,
412, 411, 486, 412, 411, 487, 412, 411, 488, 412, 411, 489,
412, 411, 461, 412, 411, 490, 412, 411, 491, 412, 411, 492,
412, 411, 493, 412, 411, 494, 412, 411, 495, 412, 411, 496,
412, 411, 497, 412, 411, 498, 412, 411, 499, 412, 411, 500,
412, 411, 501, 412, 411, 502, 412, 411, 503, 412, 411, 504,
412, 411, 505, 412, 411, 506, 412, 411, 507, 412, 411, 508,
412, 411, 509, 412, 411, 510, 412, 411, 511, 412, 411, 512,
412, 411, 513, 412, 411, 514, 412, 411, 461, 412, 411, 412,
515, 411, 412, 516, 411, 412, 517, 411, 412, 518, 411, 412,
519, 411, 412, 520, 411, 412, 521, 411, 412, 522, 411, 412,
523, 411, 412, 524, 411, 412, 525, 411, 412, 526, 411, 412,
527, 411, 412, 528, 411, 529, 0, 530, 0, 531, 0, 532,
0, 533, 0, 534, 0, 535, 0, 536, 0, 537, 0, 538,
0, 539, 0, 540, 0, 541, 0, 542, 0, 543, 0, 544,
0, 545, 0, 546, 0, 547, 0, 548, 0, 549, 0, 550,
0, 551, 0, 552, 0, 553, 0, 554, 0, 555, 0, 557,
556, 559, 558, 560, 559, 561, 562, 563, 562, 561, 558, 564,
565, 566, 567, 559, 558, 568, 559, 558, 569, 559, 558, 570,
559, 558, 571, 572, 559, 558, 573, 559, 558, 574, 559, 558,
575, 559, 558, 576, 559, 558, 577, 559, 558, 578, 559, 558,
579, 559, 558, 580, 559, 558, 581, 559, 558, 582, 559, 558,
583, 559, 558, 584, 559, 558, 585, 559, 558, 586, 559, 558,
587, 559, 558, 588, 559, 558, 559, 589, 558, 590, 559, 558,
591, 559, 558, 592, 559, 558, 593, 559, 558, 594, 559, 558,
595, 559, 558, 596, 559, 558, 588, 559, 558, 597, 559, 558,
598, 559, 558, 599, 559, 558, 600, 559, 558, 601, 559, 558,
602, 559, 558, 603, 559, 558, 604, 559, 558, 559, 605, 558,
606, 559, 558, 607, 559, 558, 608, 559, 558, 609, 559, 558,
559, 610, 558, 611, 559, 558, 566, 559, 558, 612, 559, 558,
613, 559, 558, 614, 559, 558, 615, 559, 558, 616, 559, 558,
617, 559, 558, 618, 559, 558, 619, 559, 558, 620, 559, 558,
621, 559, 558, 622, 559, 558, 623, 559, 558, 624, 559, 558,
588, 559, 558, 625, 559, 558, 626, 559, 558, 627, 559, 558,
628, 559, 558, 629, 559, 558, 630, 559, 558, 631, 559, 558,
632, 559, 558, 633, 559, 558, 634, 559, 558, 635, 559, 558,
636, 559, 558, 637, 559, 558, 638, 559, 558, 639, 559, 558,
640, 559, 558, 641, 559, 558, 642, 559, 558, 643, 559, 558,
644, 559, 558, 645, 559, 558, 646, 559, 558, 647, 559, 558,
648, 559, 558, 649, 559, 558, 588, 559, 558, 559, 650, 558,
559, 651, 558, 559, 652, 558, 559, 653, 558, 559, 654, 558,
559, 655, 558, 559, 656, 558, 559, 657, 558, 559, 658, 558,
559, 659, 558, 559, 660, 558, 559, 661, 558, 559, 662, 558,
559, 663, 558, 664, 0, 3, 0, 665, 0
};
}
private static final short _lexer_indicies[] = init__lexer_indicies_0();
private static short[] init__lexer_trans_targs_0()
{
return new short [] {
0, 2, 584, 16, 16, 17, 27, 29, 13, 43, 46, 3,
13, 52, 11, 60, 216, 325, 454, 4, 5, 6, 7, 8,
9, 10, 12, 14, 15, 16, 28, 15, 16, 28, 18, 19,
20, 21, 20, 20, 21, 20, 22, 22, 22, 23, 22, 22,
22, 23, 24, 25, 26, 16, 26, 27, 16, 28, 30, 31,
32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 586,
44, 45, 16, 44, 43, 45, 46, 47, 48, 50, 51, 49,
47, 48, 49, 47, 50, 2, 51, 17, 27, 29, 13, 43,
46, 53, 54, 55, 56, 57, 58, 59, 61, 62, 63, 64,
176, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
76, 77, 78, 79, 80, 81, 82, 83, 82, 83, 84, 83,
16, 162, 95, 85, 95, 97, 93, 105, 121, 136, 86, 87,
88, 89, 90, 91, 92, 94, 96, 2, 16, 16, 17, 27,
29, 13, 43, 46, 98, 99, 100, 101, 102, 103, 104, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, 120, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
132, 133, 134, 135, 137, 138, 139, 140, 141, 142, 143, 144,
145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
157, 158, 159, 160, 161, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 16, 177, 178, 179, 180, 181,
182, 183, 184, 185, 186, 187, 186, 187, 188, 187, 16, 189,
190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
214, 215, 96, 217, 218, 219, 220, 221, 222, 223, 224, 225,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
248, 249, 250, 249, 16, 311, 261, 251, 261, 262, 259, 270,
285, 252, 253, 254, 255, 256, 257, 258, 260, 96, 263, 264,
265, 266, 267, 268, 269, 271, 272, 273, 274, 275, 276, 277,
278, 279, 280, 281, 282, 283, 284, 286, 287, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
303, 304, 305, 306, 307, 308, 309, 310, 312, 313, 314, 315,
316, 317, 318, 319, 320, 321, 322, 323, 324, 16, 326, 327,
328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
340, 341, 342, 341, 342, 343, 342, 16, 440, 354, 344, 354,
355, 352, 363, 384, 400, 414, 345, 346, 347, 348, 349, 350,
351, 353, 96, 356, 357, 358, 359, 360, 361, 362, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
378, 379, 380, 381, 382, 383, 385, 386, 387, 388, 389, 390,
391, 392, 393, 394, 395, 396, 397, 398, 399, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 415, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
16, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
478, 479, 480, 481, 482, 483, 482, 483, 484, 483, 16, 570,
485, 514, 530, 544, 486, 487, 488, 489, 506, 490, 491, 492,
493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 96, 507, 508, 509, 510, 511, 512, 513, 515, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542,
543, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567,
568, 569, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 16, 585, 0
};
}
private static final short _lexer_trans_targs[] = init__lexer_trans_targs_0();
private static short[] init__lexer_trans_actions_0()
{
return new short [] {
43, 29, 0, 0, 54, 3, 1, 0, 29, 1, 35, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 57, 149, 126, 0, 110, 23, 0, 0,
7, 139, 48, 0, 102, 9, 5, 45, 134, 45, 0, 33,
122, 33, 33, 0, 11, 106, 0, 0, 114, 25, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 27, 118, 27, 51, 0, 0, 0, 37, 37, 54, 37,
87, 0, 0, 39, 0, 96, 0, 93, 90, 41, 96, 90,
99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 57, 144, 0, 54, 84, 0,
72, 33, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 15, 63, 31, 130, 60, 57,
31, 63, 57, 66, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0,
0, 0, 0, 0, 57, 144, 0, 54, 84, 0, 81, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 144,
0, 54, 84, 0, 78, 33, 84, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 57, 144, 0, 54, 84, 0, 75, 33, 84, 0, 0,
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, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 57, 144, 0, 54, 84, 0, 69, 33,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 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, 13, 0, 0
};
}
private static final short _lexer_trans_actions[] = init__lexer_trans_actions_0();
private static short[] init__lexer_eof_actions_0()
{
return new short [] {
0, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43
};
}
private static final short _lexer_eof_actions[] = init__lexer_eof_actions_0();
static final int lexer_start = 1;
static final int lexer_first_final = 586;
static final int lexer_en_main = 1;
// line 159 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
public void scan(String source) {
String input = source + "\n%_FEATURE_END_%";
byte[] data = null;
try {
data = input.getBytes("UTF-8");
} catch(UnsupportedEncodingException e) {
throw new RuntimeException(e);
}
int cs, p = 0, pe = data.length;
int eof = pe;
int lineNumber = 1;
int lastNewline = 0;
int contentStart = -1;
int currentLine = -1;
int docstringContentTypeStart = -1;
int docstringContentTypeEnd = -1;
int startCol = -1;
int nextKeywordStart = -1;
int keywordStart = -1;
String keyword = null;
List currentRow = null;
// line 761 "java/src/main/java/gherkin/lexer/Bg.java"
{
cs = lexer_start;
}
// line 185 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
// line 768 "java/src/main/java/gherkin/lexer/Bg.java"
{
int _klen;
int _trans = 0;
int _acts;
int _nacts;
int _keys;
int _goto_targ = 0;
_goto: while (true) {
switch ( _goto_targ ) {
case 0:
if ( p == pe ) {
_goto_targ = 4;
continue _goto;
}
if ( cs == 0 ) {
_goto_targ = 5;
continue _goto;
}
case 1:
_match: do {
_keys = _lexer_key_offsets[cs];
_trans = _lexer_index_offsets[cs];
_klen = _lexer_single_lengths[cs];
if ( _klen > 0 ) {
int _lower = _keys;
int _mid;
int _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;
}
}
_keys += _klen;
_trans += _klen;
}
_klen = _lexer_range_lengths[cs];
if ( _klen > 0 ) {
int _lower = _keys;
int _mid;
int _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;
}
}
_trans += _klen;
}
} while (false);
_trans = _lexer_indicies[_trans];
cs = _lexer_trans_targs[_trans];
if ( _lexer_trans_actions[_trans] != 0 ) {
_acts = _lexer_trans_actions[_trans];
_nacts = (int) _lexer_actions[_acts++];
while ( _nacts-- > 0 )
{
switch ( _lexer_actions[_acts++] )
{
case 0:
// line 16 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
{
contentStart = p;
currentLine = lineNumber;
if(keyword != null) {
startCol = p - lastNewline - (keyword.length() + 1);
}
}
break;
case 1:
// line 24 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
{
currentLine = lineNumber;
startCol = p - lastNewline;
}
break;
case 2:
// line 29 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
{
contentStart = p;
}
break;
case 3:
// line 33 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
{
docstringContentTypeStart = p;
}
break;
case 4:
// line 37 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
{
docstringContentTypeEnd = p;
}
break;
case 5:
// line 41 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
{
String con = unindent(startCol, substring(data, contentStart, nextKeywordStart-1).replaceFirst("(\\r?\\n)?([\\t ])*\\Z", "").replace("\\\"\\\"\\\"", "\"\"\""));
String conType = substring(data, docstringContentTypeStart, docstringContentTypeEnd).trim();
listener.docString(conType, con, currentLine);
}
break;
case 6:
// line 47 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
{
String[] nameDescription = nameAndUnindentedDescription(startCol, keywordContent(data, p, eof, nextKeywordStart, contentStart));
listener.feature(keyword, nameDescription[0], nameDescription[1], currentLine);
if(nextKeywordStart != -1) p = nextKeywordStart - 1;
nextKeywordStart = -1;
}
break;
case 7:
// line 54 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
{
String[] nameDescription = nameAndUnindentedDescription(startCol, keywordContent(data, p, eof, nextKeywordStart, contentStart));
listener.background(keyword, nameDescription[0], nameDescription[1], currentLine);
if(nextKeywordStart != -1) p = nextKeywordStart - 1;
nextKeywordStart = -1;
}
break;
case 8:
// line 61 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
{
String[] nameDescription = nameAndUnindentedDescription(startCol, keywordContent(data, p, eof, nextKeywordStart, contentStart));
listener.scenario(keyword, nameDescription[0], nameDescription[1], currentLine);
if(nextKeywordStart != -1) p = nextKeywordStart - 1;
nextKeywordStart = -1;
}
break;
case 9:
// line 68 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
{
String[] nameDescription = nameAndUnindentedDescription(startCol, keywordContent(data, p, eof, nextKeywordStart, contentStart));
listener.scenarioOutline(keyword, nameDescription[0], nameDescription[1], currentLine);
if(nextKeywordStart != -1) p = nextKeywordStart - 1;
nextKeywordStart = -1;
}
break;
case 10:
// line 75 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
{
String[] nameDescription = nameAndUnindentedDescription(startCol, keywordContent(data, p, eof, nextKeywordStart, contentStart));
listener.examples(keyword, nameDescription[0], nameDescription[1], currentLine);
if(nextKeywordStart != -1) p = nextKeywordStart - 1;
nextKeywordStart = -1;
}
break;
case 11:
// line 82 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
{
listener.step(keyword, substring(data, contentStart, p).trim(), currentLine);
}
break;
case 12:
// line 86 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
{
listener.comment(substring(data, contentStart, p).trim(), lineNumber);
keywordStart = -1;
}
break;
case 13:
// line 91 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
{
listener.tag(substring(data, contentStart, p).trim(), currentLine);
keywordStart = -1;
}
break;
case 14:
// line 96 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
{
lineNumber++;
}
break;
case 15:
// line 100 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
{
lastNewline = p + 1;
}
break;
case 16:
// line 104 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
{
if(keywordStart == -1) keywordStart = p;
}
break;
case 17:
// line 108 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
{
keyword = substring(data, keywordStart, p).replaceFirst(":$","");
keywordStart = -1;
}
break;
case 18:
// line 113 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
{
nextKeywordStart = p;
}
break;
case 19:
// line 117 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
{
p = p - 1;
currentRow = new ArrayList();
currentLine = lineNumber;
}
break;
case 20:
// line 123 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
{
contentStart = p;
}
break;
case 21:
// line 127 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
{
String con = substring(data, contentStart, p).trim();
currentRow.add(con
.replace("\\|", "|")
.replace("\\n", "\n")
.replace("\\\\", "\\")
);
}
break;
case 22:
// line 136 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
{
listener.row(currentRow, currentLine);
}
break;
case 23:
// line 140 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
{
if(cs < lexer_first_final) {
String content = currentLineContent(data, lastNewline);
throw new LexingError("Lexing error on line " + lineNumber + ": '" + content + "'. See http://wiki.github.com/cucumber/gherkin/lexingerror for more information.");
} else {
listener.eof();
}
}
break;
// line 1029 "java/src/main/java/gherkin/lexer/Bg.java"
}
}
}
case 2:
if ( cs == 0 ) {
_goto_targ = 5;
continue _goto;
}
if ( ++p != pe ) {
_goto_targ = 1;
continue _goto;
}
case 4:
if ( p == eof )
{
int __acts = _lexer_eof_actions[cs];
int __nacts = (int) _lexer_actions[__acts++];
while ( __nacts-- > 0 ) {
switch ( _lexer_actions[__acts++] ) {
case 23:
// line 140 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
{
if(cs < lexer_first_final) {
String content = currentLineContent(data, lastNewline);
throw new LexingError("Lexing error on line " + lineNumber + ": '" + content + "'. See http://wiki.github.com/cucumber/gherkin/lexingerror for more information.");
} else {
listener.eof();
}
}
break;
// line 1061 "java/src/main/java/gherkin/lexer/Bg.java"
}
}
}
case 5:
}
break; }
}
// line 186 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/bg.java.rl"
}
private String keywordContent(byte[] data, int p, int eof, int nextKeywordStart, int contentStart) {
int endPoint = (nextKeywordStart == -1 || (p == eof)) ? p : nextKeywordStart;
return substring(data, contentStart, endPoint);
}
private String[] nameAndUnindentedDescription(int startCol, String text) {
String[] lines = text.split("\n");
String name = lines.length > 0 ? lines[0].trim() : "";
StringBuffer description = new StringBuffer();
for(int i = 1; i < lines.length; i++) {
description.append(lines[i]);
description.append("\n");
}
return new String[]{name, unindent(startCol+2, description.toString()).replaceAll("\\s+$", "")};
}
private String unindent(int startCol, String text) {
return Pattern.compile("^[\t ]{0," + startCol + "}", Pattern.MULTILINE).matcher(text).replaceAll("");
}
private String currentLineContent(byte[] data, int lastNewline) {
return substring(data, lastNewline, data.length).trim();
}
private String substring(byte[] data, int start, int end) {
try {
return new String(data, start, end-start, "utf-8");
} catch(java.io.UnsupportedEncodingException e) {
throw new RuntimeException("Internal error", e);
}
}
}