gherkin 2.10.0 → 2.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/History.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [2.11.0](https://github.com/cucumber/gherkin/compare/v2.10.0...v2.11.0)
2
+
3
+ * [Core] Alias Feature with Business Need and Ability. ([#167](https://github.com/cucumber/gherkin/issues/167) Aslak Hellesøy)
4
+ * [Java] Better exception on bad filter mix. ([#179](https://github.com/cucumber/gherkin/issues/179) Aslak Hellesøy)
5
+ * [Java, Ruby] Formatters don't deal well with things not associated with a step ([#172](https://github.com/cucumber/gherkin/issues/172) David Kowis, Aslak Hellesøy)
6
+ * [Java] Make model classes implement `java.io.Serializable` ([#180](https://github.com/cucumber/gherkin/issues/180) Aslak Hellesøy)
7
+
1
8
  ## [2.10.0](https://github.com/cucumber/gherkin/compare/v2.9.3...v2.10.0)
2
9
 
3
10
  * [Core] Added Malay language support. ([#176](https://github.com/cucumber/gherkin/pull/176) Choon Siong)
data/README.md CHANGED
@@ -1,5 +1,4 @@
1
1
  [![Build Status](https://secure.travis-ci.org/cucumber/gherkin.png)](http://travis-ci.org/cucumber/gherkin)
2
- [![Dependency Status](https://gemnasium.com/cucumber/gherkin.png)](https://gemnasium.com/cucumber/gherkin)
3
2
 
4
3
  A fast lexer and parser for the Gherkin language based on Ragel. Gherkin is two things:
5
4
 
@@ -55,7 +54,7 @@ The jar file is in the central Maven repo.
55
54
  <dependency>
56
55
  <groupId>info.cukes</groupId>
57
56
  <artifactId>gherkin</artifactId>
58
- <version>2.10.0</version>
57
+ <version>2.11.0</version>
59
58
  </dependency>
60
59
 
61
60
  You can get it manually from [Maven Central](http://search.maven.org/#browse%7C-2073395818)
@@ -203,7 +202,7 @@ Now we're ready to install the Windows rubies:
203
202
  rvm gemset use cucumber
204
203
  gem install bundler
205
204
  bundle install
206
- PATH=/usr/local/mingw/bin:$PATH CC=/usr/local/mingw/bin/i686-w64-mingw32-gcc rake-compiler cross-ruby VERSION=1.9.3-p194
205
+ PATH=/usr/local/mingw/bin:$PATH CC=/usr/local/mingw/bin/i686-w64-mingw32-gcc rake-compiler cross-ruby VERSION=1.9.3-p194
207
206
 
208
207
  # 1.8.7
209
208
  CC=gcc-4.2 rvm install 1.8.7-p352
@@ -217,7 +216,7 @@ Now we're ready to install the Windows rubies:
217
216
  Now you can build Windows gems:
218
217
 
219
218
  rake compile
220
- mkdir release
219
+ mkdir release
221
220
  rake gems:win
222
221
 
223
222
  ## Release process
@@ -114,43 +114,55 @@ static const short _lexer_key_offsets[] = {
114
114
  43, 45, 50, 55, 60, 65, 69, 73,
115
115
  75, 76, 77, 78, 79, 80, 81, 82,
116
116
  83, 84, 85, 86, 87, 88, 89, 90,
117
- 91, 93, 95, 100, 107, 112, 113, 114,
118
- 116, 117, 118, 119, 120, 121, 122, 123,
119
- 124, 125, 126, 127, 142, 144, 146, 148,
120
- 150, 152, 154, 156, 158, 160, 162, 164,
121
- 166, 168, 170, 172, 190, 191, 192, 193,
122
- 194, 195, 196, 197, 198, 199, 200, 207,
123
- 209, 211, 213, 215, 217, 219, 221, 222,
124
- 223, 224, 225, 226, 227, 228, 229, 230,
125
- 241, 243, 245, 247, 249, 251, 253, 255,
126
- 257, 259, 261, 263, 265, 267, 269, 271,
127
- 273, 275, 277, 279, 281, 283, 285, 287,
128
- 289, 291, 293, 295, 297, 299, 301, 303,
129
- 305, 307, 309, 311, 313, 315, 317, 319,
130
- 321, 323, 325, 327, 329, 333, 336, 338,
131
- 340, 342, 344, 346, 348, 350, 352, 354,
132
- 356, 358, 359, 360, 361, 362, 363, 364,
133
- 365, 366, 367, 368, 369, 372, 374, 375,
134
- 376, 377, 378, 379, 380, 381, 382, 383,
135
- 398, 400, 402, 404, 406, 408, 410, 412,
136
- 414, 416, 418, 420, 422, 424, 426, 428,
137
- 430, 432, 434, 436, 438, 440, 442, 444,
138
- 446, 448, 450, 452, 454, 456, 458, 460,
139
- 462, 464, 466, 468, 470, 472, 474, 475,
140
- 476, 477, 478, 479, 480, 481, 482, 497,
141
- 499, 501, 503, 505, 507, 509, 511, 513,
142
- 515, 517, 519, 521, 523, 525, 527, 529,
143
- 531, 534, 536, 538, 540, 542, 544, 546,
144
- 548, 550, 552, 554, 556, 558, 560, 562,
145
- 564, 566, 568, 570, 572, 574, 576, 578,
146
- 580, 582, 584, 586, 588, 591, 594, 596,
147
- 598, 600, 602, 604, 606, 608, 610, 612,
148
- 614, 616, 618, 619, 623, 629, 632, 634,
149
- 640, 658, 660, 662, 664, 666, 668, 670,
150
- 672, 674, 676, 678, 680, 682, 684, 686,
151
- 688, 690, 692, 694, 696, 698, 700, 702,
152
- 705, 708, 710, 712, 714, 716, 718, 720,
153
- 722, 724, 726, 728, 730, 732, 733
117
+ 91, 93, 95, 100, 107, 112, 114, 115,
118
+ 116, 117, 118, 119, 120, 121, 122, 134,
119
+ 136, 138, 140, 142, 144, 146, 148, 150,
120
+ 152, 154, 156, 158, 160, 162, 164, 166,
121
+ 168, 170, 172, 174, 176, 194, 196, 197,
122
+ 198, 199, 200, 201, 202, 203, 204, 205,
123
+ 206, 207, 222, 224, 226, 228, 230, 232,
124
+ 234, 236, 238, 240, 242, 244, 246, 248,
125
+ 250, 252, 255, 257, 259, 261, 263, 265,
126
+ 267, 269, 271, 274, 276, 278, 280, 282,
127
+ 284, 286, 288, 290, 292, 294, 296, 298,
128
+ 300, 302, 304, 306, 308, 310, 312, 314,
129
+ 316, 318, 320, 322, 324, 326, 328, 331,
130
+ 334, 336, 338, 340, 342, 344, 346, 348,
131
+ 350, 352, 354, 356, 358, 360, 361, 362,
132
+ 363, 364, 365, 366, 367, 368, 369, 370,
133
+ 371, 372, 373, 374, 375, 376, 377, 378,
134
+ 379, 380, 389, 391, 393, 395, 397, 399,
135
+ 401, 403, 405, 407, 409, 411, 413, 415,
136
+ 417, 419, 421, 423, 425, 427, 429, 431,
137
+ 433, 435, 437, 439, 440, 441, 442, 443,
138
+ 444, 445, 446, 447, 448, 449, 450, 451,
139
+ 452, 453, 454, 455, 456, 459, 461, 462,
140
+ 463, 464, 465, 466, 467, 468, 469, 470,
141
+ 485, 487, 489, 491, 493, 495, 497, 499,
142
+ 501, 503, 505, 507, 509, 511, 513, 515,
143
+ 518, 520, 522, 524, 526, 528, 530, 532,
144
+ 534, 537, 539, 541, 543, 545, 547, 549,
145
+ 551, 553, 555, 557, 559, 561, 563, 565,
146
+ 567, 569, 571, 573, 575, 577, 579, 581,
147
+ 583, 585, 587, 589, 591, 593, 594, 595,
148
+ 596, 597, 598, 599, 600, 601, 616, 618,
149
+ 620, 622, 624, 626, 628, 630, 632, 634,
150
+ 636, 638, 640, 642, 644, 646, 649, 651,
151
+ 653, 655, 657, 659, 661, 663, 666, 668,
152
+ 670, 672, 674, 676, 678, 680, 682, 685,
153
+ 687, 689, 691, 693, 695, 697, 699, 701,
154
+ 703, 705, 707, 709, 711, 713, 715, 717,
155
+ 719, 721, 723, 725, 727, 729, 731, 733,
156
+ 735, 737, 740, 743, 745, 747, 749, 751,
157
+ 753, 755, 757, 759, 761, 763, 765, 767,
158
+ 768, 772, 778, 781, 783, 789, 807, 810,
159
+ 812, 814, 816, 818, 820, 822, 824, 826,
160
+ 828, 830, 832, 834, 836, 838, 840, 842,
161
+ 844, 846, 848, 850, 852, 854, 856, 858,
162
+ 860, 862, 864, 866, 868, 870, 872, 874,
163
+ 876, 878, 880, 882, 884, 886, 890, 893,
164
+ 895, 897, 899, 901, 903, 905, 907, 909,
165
+ 911, 913, 915, 916
154
166
  };
155
167
 
156
168
  static const char _lexer_trans_keys[] = {
@@ -168,84 +180,107 @@ static const char _lexer_trans_keys[] = {
168
180
  95, 37, 32, 10, 13, 10, 13, 13,
169
181
  32, 64, 9, 10, 9, 10, 13, 32,
170
182
  64, 11, 12, 10, 32, 64, 9, 13,
171
- 110, 100, 97, 117, 99, 107, 103, 114,
172
- 111, 117, 110, 100, 58, 10, 10, 10,
173
- 32, 35, 37, 42, 64, 65, 66, 70,
174
- 71, 83, 84, 87, 9, 13, 10, 95,
183
+ 98, 110, 105, 108, 105, 116, 121, 58,
184
+ 10, 10, 10, 32, 35, 37, 64, 65,
185
+ 66, 69, 70, 83, 9, 13, 10, 95,
175
186
  10, 70, 10, 69, 10, 65, 10, 84,
176
187
  10, 85, 10, 82, 10, 69, 10, 95,
177
188
  10, 69, 10, 78, 10, 68, 10, 95,
178
- 10, 37, 10, 32, 10, 32, 34, 35,
179
- 37, 42, 64, 65, 66, 69, 70, 71,
180
- 83, 84, 87, 124, 9, 13, 120, 97,
181
- 109, 112, 108, 101, 115, 58, 10, 10,
182
- 10, 32, 35, 70, 124, 9, 13, 10,
183
- 101, 10, 97, 10, 116, 10, 117, 10,
184
- 114, 10, 101, 10, 58, 101, 97, 116,
185
- 117, 114, 101, 58, 10, 10, 10, 32,
186
- 35, 37, 64, 66, 69, 70, 83, 9,
187
- 13, 10, 95, 10, 70, 10, 69, 10,
188
- 65, 10, 84, 10, 85, 10, 82, 10,
189
- 69, 10, 95, 10, 69, 10, 78, 10,
190
- 68, 10, 95, 10, 37, 10, 97, 10,
191
- 99, 10, 107, 10, 103, 10, 114, 10,
192
- 111, 10, 117, 10, 110, 10, 100, 10,
193
- 58, 10, 120, 10, 97, 10, 109, 10,
194
- 112, 10, 108, 10, 101, 10, 115, 10,
195
- 101, 10, 97, 10, 116, 10, 117, 10,
196
- 114, 10, 101, 10, 99, 10, 101, 10,
197
- 110, 10, 97, 10, 114, 10, 105, 10,
198
- 111, 10, 32, 58, 115, 10, 79, 84,
199
- 10, 117, 10, 116, 10, 108, 10, 105,
200
- 10, 110, 10, 101, 10, 109, 10, 112,
201
- 10, 108, 10, 97, 10, 116, 105, 118,
202
- 101, 110, 99, 101, 110, 97, 114, 105,
203
- 111, 32, 58, 115, 79, 84, 117, 116,
204
- 108, 105, 110, 101, 58, 10, 10, 10,
189
+ 10, 37, 10, 98, 10, 105, 10, 108,
190
+ 10, 105, 10, 116, 10, 121, 10, 58,
191
+ 10, 32, 34, 35, 37, 42, 64, 65,
192
+ 66, 69, 70, 71, 83, 84, 87, 124,
193
+ 9, 13, 97, 117, 99, 107, 103, 114,
194
+ 111, 117, 110, 100, 58, 10, 10, 10,
205
195
  32, 35, 37, 42, 64, 65, 66, 70,
206
196
  71, 83, 84, 87, 9, 13, 10, 95,
207
197
  10, 70, 10, 69, 10, 65, 10, 84,
208
198
  10, 85, 10, 82, 10, 69, 10, 95,
209
199
  10, 69, 10, 78, 10, 68, 10, 95,
210
- 10, 37, 10, 32, 10, 110, 10, 100,
211
- 10, 117, 10, 116, 10, 101, 10, 97,
212
- 10, 116, 10, 117, 10, 114, 10, 101,
213
- 10, 58, 10, 105, 10, 118, 10, 101,
200
+ 10, 37, 10, 32, 10, 98, 110, 10,
201
+ 105, 10, 108, 10, 105, 10, 116, 10,
202
+ 121, 10, 58, 10, 100, 10, 117, 10,
203
+ 115, 116, 10, 105, 10, 110, 10, 101,
204
+ 10, 115, 10, 115, 10, 32, 10, 78,
205
+ 10, 101, 10, 101, 10, 100, 10, 101,
206
+ 10, 97, 10, 116, 10, 117, 10, 114,
207
+ 10, 101, 10, 105, 10, 118, 10, 101,
214
208
  10, 110, 10, 99, 10, 101, 10, 110,
215
209
  10, 97, 10, 114, 10, 105, 10, 111,
216
- 10, 104, 101, 109, 112, 108, 97, 116,
217
- 10, 10, 10, 32, 35, 37, 42, 64,
218
- 65, 66, 70, 71, 83, 84, 87, 9,
219
- 13, 10, 95, 10, 70, 10, 69, 10,
220
- 65, 10, 84, 10, 85, 10, 82, 10,
221
- 69, 10, 95, 10, 69, 10, 78, 10,
222
- 68, 10, 95, 10, 37, 10, 32, 10,
223
- 110, 10, 100, 10, 97, 117, 10, 99,
224
- 10, 107, 10, 103, 10, 114, 10, 111,
225
- 10, 117, 10, 110, 10, 100, 10, 58,
226
- 10, 116, 10, 101, 10, 97, 10, 116,
227
- 10, 117, 10, 114, 10, 101, 10, 105,
228
- 10, 118, 10, 101, 10, 110, 10, 99,
229
- 10, 101, 10, 110, 10, 97, 10, 114,
230
- 10, 105, 10, 111, 10, 32, 58, 10,
231
- 79, 84, 10, 117, 10, 116, 10, 108,
232
- 10, 105, 10, 110, 10, 101, 10, 109,
233
- 10, 112, 10, 108, 10, 97, 10, 116,
234
- 10, 104, 104, 32, 124, 9, 13, 10,
235
- 32, 92, 124, 9, 13, 10, 92, 124,
236
- 10, 92, 10, 32, 92, 124, 9, 13,
237
- 10, 32, 34, 35, 37, 42, 64, 65,
238
- 66, 69, 70, 71, 83, 84, 87, 124,
239
- 9, 13, 10, 110, 10, 100, 10, 117,
240
- 10, 116, 10, 101, 10, 97, 10, 116,
241
- 10, 117, 10, 114, 10, 101, 10, 58,
242
- 10, 105, 10, 118, 10, 101, 10, 110,
210
+ 10, 32, 58, 10, 79, 84, 10, 117,
211
+ 10, 116, 10, 108, 10, 105, 10, 110,
212
+ 10, 101, 10, 109, 10, 112, 10, 108,
213
+ 10, 97, 10, 116, 10, 104, 115, 116,
214
+ 105, 110, 101, 115, 115, 32, 78, 101,
215
+ 101, 100, 120, 97, 109, 112, 108, 101,
216
+ 115, 58, 10, 10, 10, 32, 35, 65,
217
+ 66, 70, 124, 9, 13, 10, 98, 10,
218
+ 105, 10, 108, 10, 105, 10, 116, 10,
219
+ 121, 10, 58, 10, 117, 10, 115, 10,
220
+ 105, 10, 110, 10, 101, 10, 115, 10,
221
+ 115, 10, 32, 10, 78, 10, 101, 10,
222
+ 101, 10, 100, 10, 101, 10, 97, 10,
223
+ 116, 10, 117, 10, 114, 10, 101, 101,
224
+ 97, 116, 117, 114, 101, 105, 118, 101,
225
+ 110, 99, 101, 110, 97, 114, 105, 111,
226
+ 32, 58, 115, 79, 84, 117, 116, 108,
227
+ 105, 110, 101, 58, 10, 10, 10, 32,
228
+ 35, 37, 42, 64, 65, 66, 70, 71,
229
+ 83, 84, 87, 9, 13, 10, 95, 10,
230
+ 70, 10, 69, 10, 65, 10, 84, 10,
231
+ 85, 10, 82, 10, 69, 10, 95, 10,
232
+ 69, 10, 78, 10, 68, 10, 95, 10,
233
+ 37, 10, 32, 10, 98, 110, 10, 105,
234
+ 10, 108, 10, 105, 10, 116, 10, 121,
235
+ 10, 58, 10, 100, 10, 117, 10, 115,
236
+ 116, 10, 105, 10, 110, 10, 101, 10,
237
+ 115, 10, 115, 10, 32, 10, 78, 10,
238
+ 101, 10, 101, 10, 100, 10, 101, 10,
239
+ 97, 10, 116, 10, 117, 10, 114, 10,
240
+ 101, 10, 105, 10, 118, 10, 101, 10,
241
+ 110, 10, 99, 10, 101, 10, 110, 10,
242
+ 97, 10, 114, 10, 105, 10, 111, 10,
243
+ 104, 101, 109, 112, 108, 97, 116, 10,
244
+ 10, 10, 32, 35, 37, 42, 64, 65,
245
+ 66, 70, 71, 83, 84, 87, 9, 13,
246
+ 10, 95, 10, 70, 10, 69, 10, 65,
247
+ 10, 84, 10, 85, 10, 82, 10, 69,
248
+ 10, 95, 10, 69, 10, 78, 10, 68,
249
+ 10, 95, 10, 37, 10, 32, 10, 98,
250
+ 110, 10, 105, 10, 108, 10, 105, 10,
251
+ 116, 10, 121, 10, 58, 10, 100, 10,
252
+ 97, 117, 10, 99, 10, 107, 10, 103,
253
+ 10, 114, 10, 111, 10, 117, 10, 110,
254
+ 10, 100, 10, 115, 116, 10, 105, 10,
255
+ 110, 10, 101, 10, 115, 10, 115, 10,
256
+ 32, 10, 78, 10, 101, 10, 101, 10,
257
+ 101, 10, 97, 10, 116, 10, 117, 10,
258
+ 114, 10, 101, 10, 105, 10, 118, 10,
259
+ 101, 10, 110, 10, 99, 10, 101, 10,
260
+ 110, 10, 97, 10, 114, 10, 105, 10,
261
+ 111, 10, 32, 58, 10, 79, 84, 10,
262
+ 117, 10, 116, 10, 108, 10, 105, 10,
263
+ 110, 10, 101, 10, 109, 10, 112, 10,
264
+ 108, 10, 97, 10, 116, 10, 104, 104,
265
+ 32, 124, 9, 13, 10, 32, 92, 124,
266
+ 9, 13, 10, 92, 124, 10, 92, 10,
267
+ 32, 92, 124, 9, 13, 10, 32, 34,
268
+ 35, 37, 42, 64, 65, 66, 69, 70,
269
+ 71, 83, 84, 87, 124, 9, 13, 10,
270
+ 97, 117, 10, 99, 10, 107, 10, 103,
271
+ 10, 114, 10, 111, 10, 117, 10, 110,
272
+ 10, 100, 10, 115, 10, 105, 10, 110,
273
+ 10, 101, 10, 115, 10, 115, 10, 32,
274
+ 10, 78, 10, 101, 10, 101, 10, 120,
275
+ 10, 97, 10, 109, 10, 112, 10, 108,
276
+ 10, 101, 10, 115, 10, 101, 10, 97,
277
+ 10, 116, 10, 117, 10, 114, 10, 101,
243
278
  10, 99, 10, 101, 10, 110, 10, 97,
244
279
  10, 114, 10, 105, 10, 111, 10, 32,
245
- 58, 10, 79, 84, 10, 117, 10, 116,
246
- 10, 108, 10, 105, 10, 110, 10, 101,
247
- 10, 109, 10, 112, 10, 108, 10, 97,
248
- 10, 116, 10, 104, 116, 0
280
+ 58, 115, 10, 79, 84, 10, 117, 10,
281
+ 116, 10, 108, 10, 105, 10, 110, 10,
282
+ 101, 10, 109, 10, 112, 10, 108, 10,
283
+ 97, 10, 116, 100, 0
249
284
  };
250
285
 
251
286
  static const char _lexer_single_lengths[] = {
@@ -253,43 +288,55 @@ static const char _lexer_single_lengths[] = {
253
288
  2, 3, 3, 3, 3, 2, 2, 2,
254
289
  1, 1, 1, 1, 1, 1, 1, 1,
255
290
  1, 1, 1, 1, 1, 1, 1, 1,
256
- 2, 2, 3, 5, 3, 1, 1, 2,
257
- 1, 1, 1, 1, 1, 1, 1, 1,
258
- 1, 1, 1, 13, 2, 2, 2, 2,
291
+ 2, 2, 3, 5, 3, 2, 1, 1,
292
+ 1, 1, 1, 1, 1, 1, 10, 2,
259
293
  2, 2, 2, 2, 2, 2, 2, 2,
260
- 2, 2, 2, 16, 1, 1, 1, 1,
261
- 1, 1, 1, 1, 1, 1, 5, 2,
262
- 2, 2, 2, 2, 2, 2, 1, 1,
263
- 1, 1, 1, 1, 1, 1, 1, 9,
264
294
  2, 2, 2, 2, 2, 2, 2, 2,
295
+ 2, 2, 2, 2, 16, 2, 1, 1,
296
+ 1, 1, 1, 1, 1, 1, 1, 1,
297
+ 1, 13, 2, 2, 2, 2, 2, 2,
298
+ 2, 2, 2, 2, 2, 2, 2, 2,
299
+ 2, 3, 2, 2, 2, 2, 2, 2,
300
+ 2, 2, 3, 2, 2, 2, 2, 2,
265
301
  2, 2, 2, 2, 2, 2, 2, 2,
266
302
  2, 2, 2, 2, 2, 2, 2, 2,
303
+ 2, 2, 2, 2, 2, 2, 3, 3,
267
304
  2, 2, 2, 2, 2, 2, 2, 2,
305
+ 2, 2, 2, 2, 2, 1, 1, 1,
306
+ 1, 1, 1, 1, 1, 1, 1, 1,
307
+ 1, 1, 1, 1, 1, 1, 1, 1,
308
+ 1, 7, 2, 2, 2, 2, 2, 2,
268
309
  2, 2, 2, 2, 2, 2, 2, 2,
269
- 2, 2, 2, 2, 4, 3, 2, 2,
270
310
  2, 2, 2, 2, 2, 2, 2, 2,
271
- 2, 1, 1, 1, 1, 1, 1, 1,
311
+ 2, 2, 2, 1, 1, 1, 1, 1,
312
+ 1, 1, 1, 1, 1, 1, 1, 1,
272
313
  1, 1, 1, 1, 3, 2, 1, 1,
273
314
  1, 1, 1, 1, 1, 1, 1, 13,
274
315
  2, 2, 2, 2, 2, 2, 2, 2,
316
+ 2, 2, 2, 2, 2, 2, 2, 3,
275
317
  2, 2, 2, 2, 2, 2, 2, 2,
318
+ 3, 2, 2, 2, 2, 2, 2, 2,
276
319
  2, 2, 2, 2, 2, 2, 2, 2,
277
320
  2, 2, 2, 2, 2, 2, 2, 2,
278
- 2, 2, 2, 2, 2, 2, 1, 1,
279
- 1, 1, 1, 1, 1, 1, 13, 2,
321
+ 2, 2, 2, 2, 2, 1, 1, 1,
322
+ 1, 1, 1, 1, 1, 13, 2, 2,
280
323
  2, 2, 2, 2, 2, 2, 2, 2,
324
+ 2, 2, 2, 2, 2, 3, 2, 2,
325
+ 2, 2, 2, 2, 2, 3, 2, 2,
326
+ 2, 2, 2, 2, 2, 2, 3, 2,
281
327
  2, 2, 2, 2, 2, 2, 2, 2,
282
- 3, 2, 2, 2, 2, 2, 2, 2,
283
328
  2, 2, 2, 2, 2, 2, 2, 2,
284
329
  2, 2, 2, 2, 2, 2, 2, 2,
285
- 2, 2, 2, 2, 3, 3, 2, 2,
330
+ 2, 3, 3, 2, 2, 2, 2, 2,
331
+ 2, 2, 2, 2, 2, 2, 2, 1,
332
+ 2, 4, 3, 2, 4, 16, 3, 2,
286
333
  2, 2, 2, 2, 2, 2, 2, 2,
287
- 2, 2, 1, 2, 4, 3, 2, 4,
288
- 16, 2, 2, 2, 2, 2, 2, 2,
289
334
  2, 2, 2, 2, 2, 2, 2, 2,
290
- 2, 2, 2, 2, 2, 2, 2, 3,
291
- 3, 2, 2, 2, 2, 2, 2, 2,
292
- 2, 2, 2, 2, 2, 1, 0
335
+ 2, 2, 2, 2, 2, 2, 2, 2,
336
+ 2, 2, 2, 2, 2, 2, 2, 2,
337
+ 2, 2, 2, 2, 2, 4, 3, 2,
338
+ 2, 2, 2, 2, 2, 2, 2, 2,
339
+ 2, 2, 1, 0
293
340
  };
294
341
 
295
342
  static const char _lexer_range_lengths[] = {
@@ -298,18 +345,24 @@ static const char _lexer_range_lengths[] = {
298
345
  0, 0, 0, 0, 0, 0, 0, 0,
299
346
  0, 0, 0, 0, 0, 0, 0, 0,
300
347
  0, 0, 1, 1, 1, 0, 0, 0,
348
+ 0, 0, 0, 0, 0, 0, 1, 0,
349
+ 0, 0, 0, 0, 0, 0, 0, 0,
350
+ 0, 0, 0, 0, 0, 0, 0, 0,
351
+ 0, 0, 0, 0, 1, 0, 0, 0,
352
+ 0, 0, 0, 0, 0, 0, 0, 0,
353
+ 0, 1, 0, 0, 0, 0, 0, 0,
354
+ 0, 0, 0, 0, 0, 0, 0, 0,
355
+ 0, 0, 0, 0, 0, 0, 0, 0,
301
356
  0, 0, 0, 0, 0, 0, 0, 0,
302
- 0, 0, 0, 1, 0, 0, 0, 0,
303
357
  0, 0, 0, 0, 0, 0, 0, 0,
304
- 0, 0, 0, 1, 0, 0, 0, 0,
305
- 0, 0, 0, 0, 0, 0, 1, 0,
306
358
  0, 0, 0, 0, 0, 0, 0, 0,
307
- 0, 0, 0, 0, 0, 0, 0, 1,
308
359
  0, 0, 0, 0, 0, 0, 0, 0,
309
360
  0, 0, 0, 0, 0, 0, 0, 0,
310
361
  0, 0, 0, 0, 0, 0, 0, 0,
311
362
  0, 0, 0, 0, 0, 0, 0, 0,
312
363
  0, 0, 0, 0, 0, 0, 0, 0,
364
+ 0, 1, 0, 0, 0, 0, 0, 0,
365
+ 0, 0, 0, 0, 0, 0, 0, 0,
313
366
  0, 0, 0, 0, 0, 0, 0, 0,
314
367
  0, 0, 0, 0, 0, 0, 0, 0,
315
368
  0, 0, 0, 0, 0, 0, 0, 0,
@@ -320,20 +373,26 @@ static const char _lexer_range_lengths[] = {
320
373
  0, 0, 0, 0, 0, 0, 0, 0,
321
374
  0, 0, 0, 0, 0, 0, 0, 0,
322
375
  0, 0, 0, 0, 0, 0, 0, 0,
323
- 0, 0, 0, 0, 0, 0, 1, 0,
376
+ 0, 0, 0, 0, 0, 0, 0, 0,
377
+ 0, 0, 0, 0, 0, 0, 0, 0,
378
+ 0, 0, 0, 0, 0, 1, 0, 0,
379
+ 0, 0, 0, 0, 0, 0, 0, 0,
380
+ 0, 0, 0, 0, 0, 0, 0, 0,
381
+ 0, 0, 0, 0, 0, 0, 0, 0,
324
382
  0, 0, 0, 0, 0, 0, 0, 0,
325
383
  0, 0, 0, 0, 0, 0, 0, 0,
326
384
  0, 0, 0, 0, 0, 0, 0, 0,
327
385
  0, 0, 0, 0, 0, 0, 0, 0,
328
386
  0, 0, 0, 0, 0, 0, 0, 0,
329
387
  0, 0, 0, 0, 0, 0, 0, 0,
388
+ 1, 1, 0, 0, 1, 1, 0, 0,
330
389
  0, 0, 0, 0, 0, 0, 0, 0,
331
- 0, 0, 0, 1, 1, 0, 0, 1,
332
- 1, 0, 0, 0, 0, 0, 0, 0,
333
390
  0, 0, 0, 0, 0, 0, 0, 0,
334
391
  0, 0, 0, 0, 0, 0, 0, 0,
335
392
  0, 0, 0, 0, 0, 0, 0, 0,
336
- 0, 0, 0, 0, 0, 0, 0
393
+ 0, 0, 0, 0, 0, 0, 0, 0,
394
+ 0, 0, 0, 0, 0, 0, 0, 0,
395
+ 0, 0, 0, 0
337
396
  };
338
397
 
339
398
  static const short _lexer_index_offsets[] = {
@@ -341,51 +400,63 @@ static const short _lexer_index_offsets[] = {
341
400
  48, 51, 56, 61, 66, 71, 75, 79,
342
401
  82, 84, 86, 88, 90, 92, 94, 96,
343
402
  98, 100, 102, 104, 106, 108, 110, 112,
344
- 114, 117, 120, 125, 132, 137, 139, 141,
345
- 144, 146, 148, 150, 152, 154, 156, 158,
346
- 160, 162, 164, 166, 181, 184, 187, 190,
347
- 193, 196, 199, 202, 205, 208, 211, 214,
348
- 217, 220, 223, 226, 244, 246, 248, 250,
349
- 252, 254, 256, 258, 260, 262, 264, 271,
350
- 274, 277, 280, 283, 286, 289, 292, 294,
351
- 296, 298, 300, 302, 304, 306, 308, 310,
352
- 321, 324, 327, 330, 333, 336, 339, 342,
353
- 345, 348, 351, 354, 357, 360, 363, 366,
354
- 369, 372, 375, 378, 381, 384, 387, 390,
355
- 393, 396, 399, 402, 405, 408, 411, 414,
356
- 417, 420, 423, 426, 429, 432, 435, 438,
357
- 441, 444, 447, 450, 453, 458, 462, 465,
358
- 468, 471, 474, 477, 480, 483, 486, 489,
359
- 492, 495, 497, 499, 501, 503, 505, 507,
360
- 509, 511, 513, 515, 517, 521, 524, 526,
361
- 528, 530, 532, 534, 536, 538, 540, 542,
362
- 557, 560, 563, 566, 569, 572, 575, 578,
363
- 581, 584, 587, 590, 593, 596, 599, 602,
364
- 605, 608, 611, 614, 617, 620, 623, 626,
365
- 629, 632, 635, 638, 641, 644, 647, 650,
366
- 653, 656, 659, 662, 665, 668, 671, 673,
367
- 675, 677, 679, 681, 683, 685, 687, 702,
368
- 705, 708, 711, 714, 717, 720, 723, 726,
369
- 729, 732, 735, 738, 741, 744, 747, 750,
370
- 753, 757, 760, 763, 766, 769, 772, 775,
371
- 778, 781, 784, 787, 790, 793, 796, 799,
372
- 802, 805, 808, 811, 814, 817, 820, 823,
373
- 826, 829, 832, 835, 838, 842, 846, 849,
374
- 852, 855, 858, 861, 864, 867, 870, 873,
375
- 876, 879, 882, 884, 888, 894, 898, 901,
376
- 907, 925, 928, 931, 934, 937, 940, 943,
377
- 946, 949, 952, 955, 958, 961, 964, 967,
378
- 970, 973, 976, 979, 982, 985, 988, 991,
379
- 995, 999, 1002, 1005, 1008, 1011, 1014, 1017,
380
- 1020, 1023, 1026, 1029, 1032, 1035, 1037
403
+ 114, 117, 120, 125, 132, 137, 140, 142,
404
+ 144, 146, 148, 150, 152, 154, 156, 168,
405
+ 171, 174, 177, 180, 183, 186, 189, 192,
406
+ 195, 198, 201, 204, 207, 210, 213, 216,
407
+ 219, 222, 225, 228, 231, 249, 252, 254,
408
+ 256, 258, 260, 262, 264, 266, 268, 270,
409
+ 272, 274, 289, 292, 295, 298, 301, 304,
410
+ 307, 310, 313, 316, 319, 322, 325, 328,
411
+ 331, 334, 338, 341, 344, 347, 350, 353,
412
+ 356, 359, 362, 366, 369, 372, 375, 378,
413
+ 381, 384, 387, 390, 393, 396, 399, 402,
414
+ 405, 408, 411, 414, 417, 420, 423, 426,
415
+ 429, 432, 435, 438, 441, 444, 447, 451,
416
+ 455, 458, 461, 464, 467, 470, 473, 476,
417
+ 479, 482, 485, 488, 491, 494, 496, 498,
418
+ 500, 502, 504, 506, 508, 510, 512, 514,
419
+ 516, 518, 520, 522, 524, 526, 528, 530,
420
+ 532, 534, 543, 546, 549, 552, 555, 558,
421
+ 561, 564, 567, 570, 573, 576, 579, 582,
422
+ 585, 588, 591, 594, 597, 600, 603, 606,
423
+ 609, 612, 615, 618, 620, 622, 624, 626,
424
+ 628, 630, 632, 634, 636, 638, 640, 642,
425
+ 644, 646, 648, 650, 652, 656, 659, 661,
426
+ 663, 665, 667, 669, 671, 673, 675, 677,
427
+ 692, 695, 698, 701, 704, 707, 710, 713,
428
+ 716, 719, 722, 725, 728, 731, 734, 737,
429
+ 741, 744, 747, 750, 753, 756, 759, 762,
430
+ 765, 769, 772, 775, 778, 781, 784, 787,
431
+ 790, 793, 796, 799, 802, 805, 808, 811,
432
+ 814, 817, 820, 823, 826, 829, 832, 835,
433
+ 838, 841, 844, 847, 850, 853, 855, 857,
434
+ 859, 861, 863, 865, 867, 869, 884, 887,
435
+ 890, 893, 896, 899, 902, 905, 908, 911,
436
+ 914, 917, 920, 923, 926, 929, 933, 936,
437
+ 939, 942, 945, 948, 951, 954, 958, 961,
438
+ 964, 967, 970, 973, 976, 979, 982, 986,
439
+ 989, 992, 995, 998, 1001, 1004, 1007, 1010,
440
+ 1013, 1016, 1019, 1022, 1025, 1028, 1031, 1034,
441
+ 1037, 1040, 1043, 1046, 1049, 1052, 1055, 1058,
442
+ 1061, 1064, 1068, 1072, 1075, 1078, 1081, 1084,
443
+ 1087, 1090, 1093, 1096, 1099, 1102, 1105, 1108,
444
+ 1110, 1114, 1120, 1124, 1127, 1133, 1151, 1155,
445
+ 1158, 1161, 1164, 1167, 1170, 1173, 1176, 1179,
446
+ 1182, 1185, 1188, 1191, 1194, 1197, 1200, 1203,
447
+ 1206, 1209, 1212, 1215, 1218, 1221, 1224, 1227,
448
+ 1230, 1233, 1236, 1239, 1242, 1245, 1248, 1251,
449
+ 1254, 1257, 1260, 1263, 1266, 1269, 1274, 1278,
450
+ 1281, 1284, 1287, 1290, 1293, 1296, 1299, 1302,
451
+ 1305, 1308, 1311, 1313
381
452
  };
382
453
 
383
454
  static const short _lexer_trans_targs[] = {
384
455
  2, 4, 4, 5, 15, 17, 31, 34,
385
- 37, 39, 68, 86, 153, 157, 282, 282,
386
- 283, 4, 0, 3, 0, 4, 0, 4,
387
- 4, 5, 15, 17, 31, 34, 37, 39,
388
- 68, 86, 153, 157, 282, 282, 283, 4,
456
+ 37, 69, 159, 195, 201, 205, 359, 359,
457
+ 360, 4, 0, 3, 0, 4, 0, 4,
458
+ 4, 5, 15, 17, 31, 34, 37, 69,
459
+ 159, 195, 201, 205, 359, 359, 360, 4,
389
460
  0, 6, 0, 7, 0, 9, 8, 8,
390
461
  9, 8, 8, 10, 10, 11, 10, 10,
391
462
  10, 10, 11, 10, 10, 10, 10, 12,
@@ -394,123 +465,158 @@ static const short _lexer_trans_targs[] = {
394
465
  16, 15, 4, 0, 18, 0, 19, 0,
395
466
  20, 0, 21, 0, 22, 0, 23, 0,
396
467
  24, 0, 25, 0, 26, 0, 27, 0,
397
- 28, 0, 29, 0, 30, 0, 326, 0,
468
+ 28, 0, 29, 0, 30, 0, 419, 0,
398
469
  32, 0, 4, 16, 33, 4, 16, 33,
399
470
  0, 0, 0, 0, 35, 36, 4, 36,
400
471
  36, 34, 35, 35, 4, 36, 34, 36,
401
- 0, 38, 0, 31, 0, 40, 325, 0,
472
+ 0, 38, 418, 0, 39, 0, 40, 0,
402
473
  41, 0, 42, 0, 43, 0, 44, 0,
403
- 45, 0, 46, 0, 47, 0, 48, 0,
404
- 49, 0, 51, 50, 51, 50, 51, 51,
405
- 4, 52, 66, 4, 289, 291, 293, 300,
406
- 304, 324, 324, 51, 50, 51, 53, 50,
407
- 51, 54, 50, 51, 55, 50, 51, 56,
408
- 50, 51, 57, 50, 51, 58, 50, 51,
409
- 59, 50, 51, 60, 50, 51, 61, 50,
410
- 51, 62, 50, 51, 63, 50, 51, 64,
411
- 50, 51, 65, 50, 51, 4, 50, 51,
412
- 67, 50, 4, 4, 5, 15, 17, 31,
413
- 34, 37, 39, 68, 86, 153, 157, 282,
414
- 282, 283, 4, 0, 69, 0, 70, 0,
415
- 71, 0, 72, 0, 73, 0, 74, 0,
416
- 75, 0, 76, 0, 78, 77, 78, 77,
417
- 78, 78, 4, 79, 4, 78, 77, 78,
418
- 80, 77, 78, 81, 77, 78, 82, 77,
419
- 78, 83, 77, 78, 84, 77, 78, 85,
420
- 77, 78, 67, 77, 87, 0, 88, 0,
421
- 89, 0, 90, 0, 91, 0, 92, 0,
422
- 93, 0, 95, 94, 95, 94, 95, 95,
423
- 4, 96, 4, 110, 120, 127, 133, 95,
424
- 94, 95, 97, 94, 95, 98, 94, 95,
425
- 99, 94, 95, 100, 94, 95, 101, 94,
426
- 95, 102, 94, 95, 103, 94, 95, 104,
427
- 94, 95, 105, 94, 95, 106, 94, 95,
428
- 107, 94, 95, 108, 94, 95, 109, 94,
429
- 95, 4, 94, 95, 111, 94, 95, 112,
430
- 94, 95, 113, 94, 95, 114, 94, 95,
431
- 115, 94, 95, 116, 94, 95, 117, 94,
432
- 95, 118, 94, 95, 119, 94, 95, 67,
433
- 94, 95, 121, 94, 95, 122, 94, 95,
434
- 123, 94, 95, 124, 94, 95, 125, 94,
435
- 95, 126, 94, 95, 119, 94, 95, 128,
436
- 94, 95, 129, 94, 95, 130, 94, 95,
437
- 131, 94, 95, 132, 94, 95, 119, 94,
438
- 95, 134, 94, 95, 135, 94, 95, 136,
439
- 94, 95, 137, 94, 95, 138, 94, 95,
440
- 139, 94, 95, 140, 94, 95, 141, 67,
441
- 119, 94, 95, 142, 147, 94, 95, 143,
442
- 94, 95, 144, 94, 95, 145, 94, 95,
443
- 146, 94, 95, 132, 94, 95, 148, 94,
444
- 95, 149, 94, 95, 150, 94, 95, 151,
445
- 94, 95, 152, 94, 95, 132, 94, 154,
446
- 0, 155, 0, 156, 0, 31, 0, 158,
447
- 0, 159, 0, 160, 0, 161, 0, 162,
448
- 0, 163, 0, 164, 0, 165, 220, 75,
449
- 0, 166, 214, 0, 167, 0, 168, 0,
450
- 169, 0, 170, 0, 171, 0, 172, 0,
451
- 173, 0, 175, 174, 175, 174, 175, 175,
452
- 4, 176, 190, 4, 191, 193, 195, 202,
453
- 206, 213, 213, 175, 174, 175, 177, 174,
454
- 175, 178, 174, 175, 179, 174, 175, 180,
455
- 174, 175, 181, 174, 175, 182, 174, 175,
456
- 183, 174, 175, 184, 174, 175, 185, 174,
457
- 175, 186, 174, 175, 187, 174, 175, 188,
458
- 174, 175, 189, 174, 175, 4, 174, 175,
459
- 67, 174, 175, 192, 174, 175, 190, 174,
460
- 175, 194, 174, 175, 190, 174, 175, 196,
461
- 174, 175, 197, 174, 175, 198, 174, 175,
462
- 199, 174, 175, 200, 174, 175, 201, 174,
463
- 175, 67, 174, 175, 203, 174, 175, 204,
464
- 174, 175, 205, 174, 175, 190, 174, 175,
465
- 207, 174, 175, 208, 174, 175, 209, 174,
466
- 175, 210, 174, 175, 211, 174, 175, 212,
467
- 174, 175, 201, 174, 175, 204, 174, 215,
468
- 0, 216, 0, 217, 0, 218, 0, 219,
469
- 0, 171, 0, 222, 221, 222, 221, 222,
470
- 222, 4, 223, 237, 4, 238, 240, 251,
471
- 257, 261, 281, 281, 222, 221, 222, 224,
472
- 221, 222, 225, 221, 222, 226, 221, 222,
473
- 227, 221, 222, 228, 221, 222, 229, 221,
474
- 222, 230, 221, 222, 231, 221, 222, 232,
475
- 221, 222, 233, 221, 222, 234, 221, 222,
476
- 235, 221, 222, 236, 221, 222, 4, 221,
477
- 222, 67, 221, 222, 239, 221, 222, 237,
478
- 221, 222, 241, 250, 221, 222, 242, 221,
479
- 222, 243, 221, 222, 244, 221, 222, 245,
480
- 221, 222, 246, 221, 222, 247, 221, 222,
481
- 248, 221, 222, 249, 221, 222, 67, 221,
482
- 222, 237, 221, 222, 252, 221, 222, 253,
483
- 221, 222, 254, 221, 222, 255, 221, 222,
484
- 256, 221, 222, 249, 221, 222, 258, 221,
485
- 222, 259, 221, 222, 260, 221, 222, 237,
486
- 221, 222, 262, 221, 222, 263, 221, 222,
487
- 264, 221, 222, 265, 221, 222, 266, 221,
488
- 222, 267, 221, 222, 268, 221, 222, 269,
489
- 67, 221, 222, 270, 275, 221, 222, 271,
490
- 221, 222, 272, 221, 222, 273, 221, 222,
491
- 274, 221, 222, 256, 221, 222, 276, 221,
492
- 222, 277, 221, 222, 278, 221, 222, 279,
493
- 221, 222, 280, 221, 222, 256, 221, 222,
494
- 259, 221, 155, 0, 283, 284, 283, 0,
495
- 288, 287, 286, 284, 287, 285, 0, 286,
496
- 284, 285, 0, 286, 285, 288, 287, 286,
497
- 284, 287, 285, 288, 288, 5, 15, 17,
498
- 31, 34, 37, 39, 68, 86, 153, 157,
499
- 282, 282, 283, 288, 0, 51, 290, 50,
500
- 51, 66, 50, 51, 292, 50, 51, 66,
501
- 50, 51, 294, 50, 51, 295, 50, 51,
502
- 296, 50, 51, 297, 50, 51, 298, 50,
503
- 51, 299, 50, 51, 67, 50, 51, 301,
504
- 50, 51, 302, 50, 51, 303, 50, 51,
505
- 66, 50, 51, 305, 50, 51, 306, 50,
506
- 51, 307, 50, 51, 308, 50, 51, 309,
507
- 50, 51, 310, 50, 51, 311, 50, 51,
508
- 312, 67, 50, 51, 313, 318, 50, 51,
509
- 314, 50, 51, 315, 50, 51, 316, 50,
510
- 51, 317, 50, 51, 298, 50, 51, 319,
511
- 50, 51, 320, 50, 51, 321, 50, 51,
512
- 322, 50, 51, 323, 50, 51, 298, 50,
513
- 51, 302, 50, 31, 0, 0, 0
474
+ 46, 45, 46, 45, 46, 46, 4, 47,
475
+ 4, 61, 366, 385, 392, 398, 46, 45,
476
+ 46, 48, 45, 46, 49, 45, 46, 50,
477
+ 45, 46, 51, 45, 46, 52, 45, 46,
478
+ 53, 45, 46, 54, 45, 46, 55, 45,
479
+ 46, 56, 45, 46, 57, 45, 46, 58,
480
+ 45, 46, 59, 45, 46, 60, 45, 46,
481
+ 4, 45, 46, 62, 45, 46, 63, 45,
482
+ 46, 64, 45, 46, 65, 45, 46, 66,
483
+ 45, 46, 67, 45, 46, 68, 45, 4,
484
+ 4, 5, 15, 17, 31, 34, 37, 69,
485
+ 159, 195, 201, 205, 359, 359, 360, 4,
486
+ 0, 70, 148, 0, 71, 0, 72, 0,
487
+ 73, 0, 74, 0, 75, 0, 76, 0,
488
+ 77, 0, 78, 0, 79, 0, 81, 80,
489
+ 81, 80, 81, 81, 4, 82, 96, 4,
490
+ 97, 105, 117, 123, 127, 147, 147, 81,
491
+ 80, 81, 83, 80, 81, 84, 80, 81,
492
+ 85, 80, 81, 86, 80, 81, 87, 80,
493
+ 81, 88, 80, 81, 89, 80, 81, 90,
494
+ 80, 81, 91, 80, 81, 92, 80, 81,
495
+ 93, 80, 81, 94, 80, 81, 95, 80,
496
+ 81, 4, 80, 81, 68, 80, 81, 98,
497
+ 104, 80, 81, 99, 80, 81, 100, 80,
498
+ 81, 101, 80, 81, 102, 80, 81, 103,
499
+ 80, 81, 68, 80, 81, 96, 80, 81,
500
+ 106, 80, 81, 107, 96, 80, 81, 108,
501
+ 80, 81, 109, 80, 81, 110, 80, 81,
502
+ 111, 80, 81, 112, 80, 81, 113, 80,
503
+ 81, 114, 80, 81, 115, 80, 81, 116,
504
+ 80, 81, 103, 80, 81, 118, 80, 81,
505
+ 119, 80, 81, 120, 80, 81, 121, 80,
506
+ 81, 122, 80, 81, 103, 80, 81, 124,
507
+ 80, 81, 125, 80, 81, 126, 80, 81,
508
+ 96, 80, 81, 128, 80, 81, 129, 80,
509
+ 81, 130, 80, 81, 131, 80, 81, 132,
510
+ 80, 81, 133, 80, 81, 134, 80, 81,
511
+ 135, 68, 80, 81, 136, 141, 80, 81,
512
+ 137, 80, 81, 138, 80, 81, 139, 80,
513
+ 81, 140, 80, 81, 122, 80, 81, 142,
514
+ 80, 81, 143, 80, 81, 144, 80, 81,
515
+ 145, 80, 81, 146, 80, 81, 122, 80,
516
+ 81, 125, 80, 149, 31, 0, 150, 0,
517
+ 151, 0, 152, 0, 153, 0, 154, 0,
518
+ 155, 0, 156, 0, 157, 0, 158, 0,
519
+ 43, 0, 160, 0, 161, 0, 162, 0,
520
+ 163, 0, 164, 0, 165, 0, 166, 0,
521
+ 167, 0, 169, 168, 169, 168, 169, 169,
522
+ 4, 170, 177, 189, 4, 169, 168, 169,
523
+ 171, 168, 169, 172, 168, 169, 173, 168,
524
+ 169, 174, 168, 169, 175, 168, 169, 176,
525
+ 168, 169, 68, 168, 169, 178, 168, 169,
526
+ 179, 168, 169, 180, 168, 169, 181, 168,
527
+ 169, 182, 168, 169, 183, 168, 169, 184,
528
+ 168, 169, 185, 168, 169, 186, 168, 169,
529
+ 187, 168, 169, 188, 168, 169, 176, 168,
530
+ 169, 190, 168, 169, 191, 168, 169, 192,
531
+ 168, 169, 193, 168, 169, 194, 168, 169,
532
+ 176, 168, 196, 0, 197, 0, 198, 0,
533
+ 199, 0, 200, 0, 43, 0, 202, 0,
534
+ 203, 0, 204, 0, 31, 0, 206, 0,
535
+ 207, 0, 208, 0, 209, 0, 210, 0,
536
+ 211, 0, 212, 0, 213, 283, 166, 0,
537
+ 214, 277, 0, 215, 0, 216, 0, 217,
538
+ 0, 218, 0, 219, 0, 220, 0, 221,
539
+ 0, 223, 222, 223, 222, 223, 223, 4,
540
+ 224, 238, 4, 239, 247, 259, 265, 269,
541
+ 276, 276, 223, 222, 223, 225, 222, 223,
542
+ 226, 222, 223, 227, 222, 223, 228, 222,
543
+ 223, 229, 222, 223, 230, 222, 223, 231,
544
+ 222, 223, 232, 222, 223, 233, 222, 223,
545
+ 234, 222, 223, 235, 222, 223, 236, 222,
546
+ 223, 237, 222, 223, 4, 222, 223, 68,
547
+ 222, 223, 240, 246, 222, 223, 241, 222,
548
+ 223, 242, 222, 223, 243, 222, 223, 244,
549
+ 222, 223, 245, 222, 223, 68, 222, 223,
550
+ 238, 222, 223, 248, 222, 223, 249, 238,
551
+ 222, 223, 250, 222, 223, 251, 222, 223,
552
+ 252, 222, 223, 253, 222, 223, 254, 222,
553
+ 223, 255, 222, 223, 256, 222, 223, 257,
554
+ 222, 223, 258, 222, 223, 245, 222, 223,
555
+ 260, 222, 223, 261, 222, 223, 262, 222,
556
+ 223, 263, 222, 223, 264, 222, 223, 245,
557
+ 222, 223, 266, 222, 223, 267, 222, 223,
558
+ 268, 222, 223, 238, 222, 223, 270, 222,
559
+ 223, 271, 222, 223, 272, 222, 223, 273,
560
+ 222, 223, 274, 222, 223, 275, 222, 223,
561
+ 245, 222, 223, 267, 222, 278, 0, 279,
562
+ 0, 280, 0, 281, 0, 282, 0, 219,
563
+ 0, 285, 284, 285, 284, 285, 285, 4,
564
+ 286, 300, 4, 301, 309, 328, 334, 338,
565
+ 358, 358, 285, 284, 285, 287, 284, 285,
566
+ 288, 284, 285, 289, 284, 285, 290, 284,
567
+ 285, 291, 284, 285, 292, 284, 285, 293,
568
+ 284, 285, 294, 284, 285, 295, 284, 285,
569
+ 296, 284, 285, 297, 284, 285, 298, 284,
570
+ 285, 299, 284, 285, 4, 284, 285, 68,
571
+ 284, 285, 302, 308, 284, 285, 303, 284,
572
+ 285, 304, 284, 285, 305, 284, 285, 306,
573
+ 284, 285, 307, 284, 285, 68, 284, 285,
574
+ 300, 284, 285, 310, 318, 284, 285, 311,
575
+ 284, 285, 312, 284, 285, 313, 284, 285,
576
+ 314, 284, 285, 315, 284, 285, 316, 284,
577
+ 285, 317, 284, 285, 307, 284, 285, 319,
578
+ 300, 284, 285, 320, 284, 285, 321, 284,
579
+ 285, 322, 284, 285, 323, 284, 285, 324,
580
+ 284, 285, 325, 284, 285, 326, 284, 285,
581
+ 327, 284, 285, 317, 284, 285, 329, 284,
582
+ 285, 330, 284, 285, 331, 284, 285, 332,
583
+ 284, 285, 333, 284, 285, 307, 284, 285,
584
+ 335, 284, 285, 336, 284, 285, 337, 284,
585
+ 285, 300, 284, 285, 339, 284, 285, 340,
586
+ 284, 285, 341, 284, 285, 342, 284, 285,
587
+ 343, 284, 285, 344, 284, 285, 345, 284,
588
+ 285, 346, 68, 284, 285, 347, 352, 284,
589
+ 285, 348, 284, 285, 349, 284, 285, 350,
590
+ 284, 285, 351, 284, 285, 333, 284, 285,
591
+ 353, 284, 285, 354, 284, 285, 355, 284,
592
+ 285, 356, 284, 285, 357, 284, 285, 333,
593
+ 284, 285, 336, 284, 203, 0, 360, 361,
594
+ 360, 0, 365, 364, 363, 361, 364, 362,
595
+ 0, 363, 361, 362, 0, 363, 362, 365,
596
+ 364, 363, 361, 364, 362, 365, 365, 5,
597
+ 15, 17, 31, 34, 37, 69, 159, 195,
598
+ 201, 205, 359, 359, 360, 365, 0, 46,
599
+ 367, 375, 45, 46, 368, 45, 46, 369,
600
+ 45, 46, 370, 45, 46, 371, 45, 46,
601
+ 372, 45, 46, 373, 45, 46, 374, 45,
602
+ 46, 67, 45, 46, 376, 45, 46, 377,
603
+ 45, 46, 378, 45, 46, 379, 45, 46,
604
+ 380, 45, 46, 381, 45, 46, 382, 45,
605
+ 46, 383, 45, 46, 384, 45, 46, 374,
606
+ 45, 46, 386, 45, 46, 387, 45, 46,
607
+ 388, 45, 46, 389, 45, 46, 390, 45,
608
+ 46, 391, 45, 46, 67, 45, 46, 393,
609
+ 45, 46, 394, 45, 46, 395, 45, 46,
610
+ 396, 45, 46, 397, 45, 46, 67, 45,
611
+ 46, 399, 45, 46, 400, 45, 46, 401,
612
+ 45, 46, 402, 45, 46, 403, 45, 46,
613
+ 404, 45, 46, 405, 45, 46, 406, 68,
614
+ 67, 45, 46, 407, 412, 45, 46, 408,
615
+ 45, 46, 409, 45, 46, 410, 45, 46,
616
+ 411, 45, 46, 397, 45, 46, 413, 45,
617
+ 46, 414, 45, 46, 415, 45, 46, 416,
618
+ 45, 46, 417, 45, 46, 397, 45, 31,
619
+ 0, 0, 0
514
620
  };
515
621
 
516
622
  static const unsigned char _lexer_trans_actions[] = {
@@ -531,87 +637,113 @@ static const unsigned char _lexer_trans_actions[] = {
531
637
  0, 43, 149, 126, 57, 110, 23, 0,
532
638
  43, 43, 43, 43, 0, 27, 118, 27,
533
639
  27, 51, 27, 0, 54, 0, 1, 0,
534
- 43, 0, 43, 0, 43, 0, 0, 43,
535
- 0, 43, 0, 43, 0, 43, 0, 43,
640
+ 43, 0, 0, 43, 0, 43, 0, 43,
536
641
  0, 43, 0, 43, 0, 43, 0, 43,
537
- 0, 43, 144, 57, 54, 0, 54, 0,
538
- 72, 33, 84, 72, 84, 84, 84, 84,
539
- 84, 84, 84, 0, 0, 54, 0, 0,
642
+ 144, 57, 54, 0, 54, 0, 69, 33,
643
+ 69, 84, 84, 84, 84, 84, 0, 0,
540
644
  54, 0, 0, 54, 0, 0, 54, 0,
541
645
  0, 54, 0, 0, 54, 0, 0, 54,
542
646
  0, 0, 54, 0, 0, 54, 0, 0,
543
647
  54, 0, 0, 54, 0, 0, 54, 0,
544
- 0, 54, 0, 0, 54, 15, 0, 54,
545
- 15, 0, 130, 31, 60, 57, 31, 63,
546
- 57, 63, 63, 63, 63, 63, 63, 63,
547
- 63, 66, 31, 43, 0, 43, 0, 43,
648
+ 0, 54, 0, 0, 54, 0, 0, 54,
649
+ 13, 0, 54, 0, 0, 54, 0, 0,
650
+ 54, 0, 0, 54, 0, 0, 54, 0,
651
+ 0, 54, 0, 0, 54, 13, 0, 130,
652
+ 31, 60, 57, 31, 63, 57, 63, 63,
653
+ 63, 63, 63, 63, 63, 63, 66, 31,
654
+ 43, 0, 0, 43, 0, 43, 0, 43,
548
655
  0, 43, 0, 43, 0, 43, 0, 43,
549
- 0, 43, 0, 43, 144, 57, 54, 0,
550
- 54, 0, 81, 84, 81, 0, 0, 54,
656
+ 0, 43, 0, 43, 0, 43, 144, 57,
657
+ 54, 0, 54, 0, 72, 33, 84, 72,
658
+ 84, 84, 84, 84, 84, 84, 84, 0,
659
+ 0, 54, 0, 0, 54, 0, 0, 54,
551
660
  0, 0, 54, 0, 0, 54, 0, 0,
552
661
  54, 0, 0, 54, 0, 0, 54, 0,
553
- 0, 54, 21, 0, 0, 43, 0, 43,
554
- 0, 43, 0, 43, 0, 43, 0, 43,
555
- 0, 43, 144, 57, 54, 0, 54, 0,
556
- 69, 33, 69, 84, 84, 84, 84, 0,
557
662
  0, 54, 0, 0, 54, 0, 0, 54,
558
663
  0, 0, 54, 0, 0, 54, 0, 0,
664
+ 54, 15, 0, 54, 15, 0, 54, 0,
665
+ 0, 0, 54, 0, 0, 54, 0, 0,
559
666
  54, 0, 0, 54, 0, 0, 54, 0,
667
+ 0, 54, 15, 0, 54, 0, 0, 54,
668
+ 0, 0, 54, 0, 0, 0, 54, 0,
560
669
  0, 54, 0, 0, 54, 0, 0, 54,
561
670
  0, 0, 54, 0, 0, 54, 0, 0,
562
- 54, 13, 0, 54, 0, 0, 54, 0,
671
+ 54, 0, 0, 54, 0, 0, 54, 0,
563
672
  0, 54, 0, 0, 54, 0, 0, 54,
564
673
  0, 0, 54, 0, 0, 54, 0, 0,
565
- 54, 0, 0, 54, 0, 0, 54, 13,
674
+ 54, 0, 0, 54, 0, 0, 54, 0,
566
675
  0, 54, 0, 0, 54, 0, 0, 54,
567
676
  0, 0, 54, 0, 0, 54, 0, 0,
568
677
  54, 0, 0, 54, 0, 0, 54, 0,
569
678
  0, 54, 0, 0, 54, 0, 0, 54,
679
+ 0, 15, 0, 54, 0, 0, 0, 54,
570
680
  0, 0, 54, 0, 0, 54, 0, 0,
571
681
  54, 0, 0, 54, 0, 0, 54, 0,
572
682
  0, 54, 0, 0, 54, 0, 0, 54,
573
- 0, 0, 54, 0, 0, 54, 0, 13,
574
- 0, 0, 54, 0, 0, 0, 54, 0,
683
+ 0, 0, 54, 0, 0, 54, 0, 0,
684
+ 54, 0, 0, 0, 0, 43, 0, 43,
685
+ 0, 43, 0, 43, 0, 43, 0, 43,
686
+ 0, 43, 0, 43, 0, 43, 0, 43,
687
+ 0, 43, 0, 43, 0, 43, 0, 43,
688
+ 0, 43, 0, 43, 0, 43, 0, 43,
689
+ 0, 43, 144, 57, 54, 0, 54, 0,
690
+ 81, 84, 84, 84, 81, 0, 0, 54,
691
+ 0, 0, 54, 0, 0, 54, 0, 0,
692
+ 54, 0, 0, 54, 0, 0, 54, 0,
693
+ 0, 54, 21, 0, 54, 0, 0, 54,
694
+ 0, 0, 54, 0, 0, 54, 0, 0,
695
+ 54, 0, 0, 54, 0, 0, 54, 0,
575
696
  0, 54, 0, 0, 54, 0, 0, 54,
576
697
  0, 0, 54, 0, 0, 54, 0, 0,
577
698
  54, 0, 0, 54, 0, 0, 54, 0,
578
- 0, 54, 0, 0, 54, 0, 0, 0,
579
- 43, 0, 43, 0, 43, 0, 43, 0,
580
- 43, 0, 43, 0, 43, 0, 43, 0,
581
- 43, 0, 43, 0, 43, 0, 0, 0,
582
- 43, 0, 0, 43, 0, 43, 0, 43,
699
+ 0, 54, 0, 0, 54, 0, 0, 54,
700
+ 0, 0, 0, 43, 0, 43, 0, 43,
583
701
  0, 43, 0, 43, 0, 43, 0, 43,
584
- 0, 43, 144, 57, 54, 0, 54, 0,
585
- 78, 33, 84, 78, 84, 84, 84, 84,
586
- 84, 84, 84, 0, 0, 54, 0, 0,
702
+ 0, 43, 0, 43, 0, 43, 0, 43,
703
+ 0, 43, 0, 43, 0, 43, 0, 43,
704
+ 0, 43, 0, 43, 0, 0, 0, 43,
705
+ 0, 0, 43, 0, 43, 0, 43, 0,
706
+ 43, 0, 43, 0, 43, 0, 43, 0,
707
+ 43, 144, 57, 54, 0, 54, 0, 78,
708
+ 33, 84, 78, 84, 84, 84, 84, 84,
709
+ 84, 84, 0, 0, 54, 0, 0, 54,
710
+ 0, 0, 54, 0, 0, 54, 0, 0,
587
711
  54, 0, 0, 54, 0, 0, 54, 0,
588
712
  0, 54, 0, 0, 54, 0, 0, 54,
589
713
  0, 0, 54, 0, 0, 54, 0, 0,
714
+ 54, 0, 0, 54, 19, 0, 54, 19,
715
+ 0, 54, 0, 0, 0, 54, 0, 0,
590
716
  54, 0, 0, 54, 0, 0, 54, 0,
591
717
  0, 54, 0, 0, 54, 19, 0, 54,
592
- 19, 0, 54, 0, 0, 54, 0, 0,
718
+ 0, 0, 54, 0, 0, 54, 0, 0,
719
+ 0, 54, 0, 0, 54, 0, 0, 54,
720
+ 0, 0, 54, 0, 0, 54, 0, 0,
593
721
  54, 0, 0, 54, 0, 0, 54, 0,
594
722
  0, 54, 0, 0, 54, 0, 0, 54,
595
723
  0, 0, 54, 0, 0, 54, 0, 0,
596
- 54, 19, 0, 54, 0, 0, 54, 0,
724
+ 54, 0, 0, 54, 0, 0, 54, 0,
597
725
  0, 54, 0, 0, 54, 0, 0, 54,
598
726
  0, 0, 54, 0, 0, 54, 0, 0,
599
727
  54, 0, 0, 54, 0, 0, 54, 0,
600
- 0, 54, 0, 0, 54, 0, 0, 0,
601
- 43, 0, 43, 0, 43, 0, 43, 0,
602
- 43, 0, 43, 144, 57, 54, 0, 54,
603
- 0, 75, 33, 84, 75, 84, 84, 84,
604
- 84, 84, 84, 84, 0, 0, 54, 0,
605
728
  0, 54, 0, 0, 54, 0, 0, 54,
729
+ 0, 0, 54, 0, 0, 0, 43, 0,
730
+ 43, 0, 43, 0, 43, 0, 43, 0,
731
+ 43, 144, 57, 54, 0, 54, 0, 75,
732
+ 33, 84, 75, 84, 84, 84, 84, 84,
733
+ 84, 84, 0, 0, 54, 0, 0, 54,
606
734
  0, 0, 54, 0, 0, 54, 0, 0,
607
735
  54, 0, 0, 54, 0, 0, 54, 0,
608
736
  0, 54, 0, 0, 54, 0, 0, 54,
609
- 0, 0, 54, 0, 0, 54, 17, 0,
610
- 54, 17, 0, 54, 0, 0, 54, 0,
737
+ 0, 0, 54, 0, 0, 54, 0, 0,
738
+ 54, 0, 0, 54, 17, 0, 54, 17,
611
739
  0, 54, 0, 0, 0, 54, 0, 0,
612
740
  54, 0, 0, 54, 0, 0, 54, 0,
741
+ 0, 54, 0, 0, 54, 17, 0, 54,
742
+ 0, 0, 54, 0, 0, 0, 54, 0,
613
743
  0, 54, 0, 0, 54, 0, 0, 54,
614
- 0, 0, 54, 0, 0, 54, 17, 0,
744
+ 0, 0, 54, 0, 0, 54, 0, 0,
745
+ 54, 0, 0, 54, 0, 0, 54, 0,
746
+ 0, 0, 54, 0, 0, 54, 0, 0,
615
747
  54, 0, 0, 54, 0, 0, 54, 0,
616
748
  0, 54, 0, 0, 54, 0, 0, 54,
617
749
  0, 0, 54, 0, 0, 54, 0, 0,
@@ -619,31 +751,40 @@ static const unsigned char _lexer_trans_actions[] = {
619
751
  0, 54, 0, 0, 54, 0, 0, 54,
620
752
  0, 0, 54, 0, 0, 54, 0, 0,
621
753
  54, 0, 0, 54, 0, 0, 54, 0,
622
- 17, 0, 54, 0, 0, 0, 54, 0,
623
754
  0, 54, 0, 0, 54, 0, 0, 54,
624
755
  0, 0, 54, 0, 0, 54, 0, 0,
756
+ 54, 0, 17, 0, 54, 0, 0, 0,
625
757
  54, 0, 0, 54, 0, 0, 54, 0,
626
758
  0, 54, 0, 0, 54, 0, 0, 54,
627
- 0, 0, 0, 43, 0, 0, 0, 43,
628
- 54, 37, 37, 87, 37, 37, 43, 0,
629
- 39, 0, 43, 0, 0, 54, 0, 0,
630
- 39, 0, 0, 54, 0, 93, 90, 41,
631
- 96, 90, 96, 96, 96, 96, 96, 96,
632
- 96, 96, 99, 0, 43, 54, 0, 0,
759
+ 0, 0, 54, 0, 0, 54, 0, 0,
633
760
  54, 0, 0, 54, 0, 0, 54, 0,
761
+ 0, 54, 0, 0, 0, 43, 0, 0,
762
+ 0, 43, 54, 37, 37, 87, 37, 37,
763
+ 43, 0, 39, 0, 43, 0, 0, 54,
764
+ 0, 0, 39, 0, 0, 54, 0, 93,
765
+ 90, 41, 96, 90, 96, 96, 96, 96,
766
+ 96, 96, 96, 96, 99, 0, 43, 54,
767
+ 0, 0, 0, 54, 0, 0, 54, 0,
634
768
  0, 54, 0, 0, 54, 0, 0, 54,
635
769
  0, 0, 54, 0, 0, 54, 0, 0,
636
- 54, 0, 0, 54, 15, 0, 54, 0,
770
+ 54, 0, 0, 54, 0, 0, 54, 0,
771
+ 0, 54, 0, 0, 54, 0, 0, 54,
772
+ 0, 0, 54, 0, 0, 54, 0, 0,
773
+ 54, 0, 0, 54, 0, 0, 54, 0,
637
774
  0, 54, 0, 0, 54, 0, 0, 54,
638
775
  0, 0, 54, 0, 0, 54, 0, 0,
639
776
  54, 0, 0, 54, 0, 0, 54, 0,
640
777
  0, 54, 0, 0, 54, 0, 0, 54,
641
- 0, 15, 0, 54, 0, 0, 0, 54,
642
778
  0, 0, 54, 0, 0, 54, 0, 0,
643
779
  54, 0, 0, 54, 0, 0, 54, 0,
644
780
  0, 54, 0, 0, 54, 0, 0, 54,
781
+ 0, 0, 54, 0, 0, 54, 0, 13,
782
+ 0, 0, 54, 0, 0, 0, 54, 0,
783
+ 0, 54, 0, 0, 54, 0, 0, 54,
645
784
  0, 0, 54, 0, 0, 54, 0, 0,
646
- 54, 0, 0, 0, 43, 0, 0
785
+ 54, 0, 0, 54, 0, 0, 54, 0,
786
+ 0, 54, 0, 0, 54, 0, 0, 0,
787
+ 43, 0, 0
647
788
  };
648
789
 
649
790
  static const unsigned char _lexer_eof_actions[] = {
@@ -687,11 +828,23 @@ static const unsigned char _lexer_eof_actions[] = {
687
828
  43, 43, 43, 43, 43, 43, 43, 43,
688
829
  43, 43, 43, 43, 43, 43, 43, 43,
689
830
  43, 43, 43, 43, 43, 43, 43, 43,
690
- 43, 43, 43, 43, 43, 43, 43
831
+ 43, 43, 43, 43, 43, 43, 43, 43,
832
+ 43, 43, 43, 43, 43, 43, 43, 43,
833
+ 43, 43, 43, 43, 43, 43, 43, 43,
834
+ 43, 43, 43, 43, 43, 43, 43, 43,
835
+ 43, 43, 43, 43, 43, 43, 43, 43,
836
+ 43, 43, 43, 43, 43, 43, 43, 43,
837
+ 43, 43, 43, 43, 43, 43, 43, 43,
838
+ 43, 43, 43, 43, 43, 43, 43, 43,
839
+ 43, 43, 43, 43, 43, 43, 43, 43,
840
+ 43, 43, 43, 43, 43, 43, 43, 43,
841
+ 43, 43, 43, 43, 43, 43, 43, 43,
842
+ 43, 43, 43, 43, 43, 43, 43, 43,
843
+ 43, 43, 43, 43
691
844
  };
692
845
 
693
846
  static const int lexer_start = 1;
694
- static const int lexer_first_final = 326;
847
+ static const int lexer_first_final = 419;
695
848
  static const int lexer_error = 0;
696
849
 
697
850
  static const int lexer_en_main = 1;
@@ -865,14 +1018,14 @@ static VALUE CLexer_scan(VALUE self, VALUE input)
865
1018
  assert(*pe == '\0' && "pointer does not end on NULL");
866
1019
 
867
1020
 
868
- #line 869 "ext/gherkin_lexer_en/gherkin_lexer_en.c"
1021
+ #line 1022 "ext/gherkin_lexer_en/gherkin_lexer_en.c"
869
1022
  {
870
1023
  cs = lexer_start;
871
1024
  }
872
1025
 
873
1026
  #line 425 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/en.c.rl"
874
1027
 
875
- #line 876 "ext/gherkin_lexer_en/gherkin_lexer_en.c"
1028
+ #line 1029 "ext/gherkin_lexer_en/gherkin_lexer_en.c"
876
1029
  {
877
1030
  int _klen;
878
1031
  unsigned int _trans;
@@ -1162,7 +1315,7 @@ _match:
1162
1315
  }
1163
1316
  }
1164
1317
  break;
1165
- #line 1166 "ext/gherkin_lexer_en/gherkin_lexer_en.c"
1318
+ #line 1319 "ext/gherkin_lexer_en/gherkin_lexer_en.c"
1166
1319
  }
1167
1320
  }
1168
1321
 
@@ -1225,7 +1378,7 @@ _again:
1225
1378
  }
1226
1379
  }
1227
1380
  break;
1228
- #line 1229 "ext/gherkin_lexer_en/gherkin_lexer_en.c"
1381
+ #line 1382 "ext/gherkin_lexer_en/gherkin_lexer_en.c"
1229
1382
  }
1230
1383
  }
1231
1384
  }