gherkin 2.12.1 → 2.12.2

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.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/History.md +11 -0
  4. data/README.md +1 -1
  5. data/ext/gherkin_lexer_el/gherkin_lexer_el.c +642 -700
  6. data/ext/gherkin_lexer_kn/extconf.rb +6 -0
  7. data/ext/gherkin_lexer_kn/gherkin_lexer_kn.c +1965 -0
  8. data/gherkin.gemspec +5 -5
  9. data/lib/gherkin/formatter/filter_formatter.rb +5 -1
  10. data/lib/gherkin/formatter/pretty_formatter.rb +3 -2
  11. data/lib/gherkin/i18n.json +15 -1
  12. data/lib/gherkin/lexer/ar.rb +1074 -1071
  13. data/lib/gherkin/lexer/bg.rb +1286 -1283
  14. data/lib/gherkin/lexer/bm.rb +1154 -1151
  15. data/lib/gherkin/lexer/ca.rb +1214 -1211
  16. data/lib/gherkin/lexer/cs.rb +1150 -1147
  17. data/lib/gherkin/lexer/cy_gb.rb +936 -933
  18. data/lib/gherkin/lexer/da.rb +952 -949
  19. data/lib/gherkin/lexer/de.rb +1070 -1067
  20. data/lib/gherkin/lexer/el.rb +1532 -1581
  21. data/lib/gherkin/lexer/en.rb +1060 -1057
  22. data/lib/gherkin/lexer/en_au.rb +1390 -1387
  23. data/lib/gherkin/lexer/en_lol.rb +876 -873
  24. data/lib/gherkin/lexer/en_old.rb +941 -938
  25. data/lib/gherkin/lexer/en_pirate.rb +1114 -1111
  26. data/lib/gherkin/lexer/en_scouse.rb +1266 -1263
  27. data/lib/gherkin/lexer/en_tx.rb +958 -955
  28. data/lib/gherkin/lexer/eo.rb +937 -934
  29. data/lib/gherkin/lexer/es.rb +1044 -1041
  30. data/lib/gherkin/lexer/et.rb +932 -929
  31. data/lib/gherkin/lexer/fa.rb +1118 -1115
  32. data/lib/gherkin/lexer/fi.rb +911 -908
  33. data/lib/gherkin/lexer/fr.rb +1132 -1129
  34. data/lib/gherkin/lexer/gl.rb +1021 -1018
  35. data/lib/gherkin/lexer/he.rb +1022 -1019
  36. data/lib/gherkin/lexer/hi.rb +1463 -1460
  37. data/lib/gherkin/lexer/hr.rb +970 -967
  38. data/lib/gherkin/lexer/hu.rb +1022 -1019
  39. data/lib/gherkin/lexer/id.rb +905 -902
  40. data/lib/gherkin/lexer/is.rb +1024 -1021
  41. data/lib/gherkin/lexer/it.rb +990 -987
  42. data/lib/gherkin/lexer/ja.rb +1322 -1319
  43. data/lib/gherkin/lexer/kn.rb +1672 -0
  44. data/lib/gherkin/lexer/ko.rb +1006 -1003
  45. data/lib/gherkin/lexer/lt.rb +949 -946
  46. data/lib/gherkin/lexer/lu.rb +1036 -1033
  47. data/lib/gherkin/lexer/lv.rb +1070 -1067
  48. data/lib/gherkin/lexer/nl.rb +1019 -1016
  49. data/lib/gherkin/lexer/no.rb +964 -961
  50. data/lib/gherkin/lexer/pa.rb +1756 -1753
  51. data/lib/gherkin/lexer/pl.rb +1361 -1358
  52. data/lib/gherkin/lexer/pt.rb +1334 -1331
  53. data/lib/gherkin/lexer/ro.rb +1068 -1065
  54. data/lib/gherkin/lexer/ru.rb +1670 -1667
  55. data/lib/gherkin/lexer/sk.rb +1356 -1353
  56. data/lib/gherkin/lexer/sr_cyrl.rb +1707 -1704
  57. data/lib/gherkin/lexer/sr_latn.rb +1198 -1195
  58. data/lib/gherkin/lexer/sv.rb +974 -971
  59. data/lib/gherkin/lexer/th.rb +2396 -2393
  60. data/lib/gherkin/lexer/tl.rb +1630 -1627
  61. data/lib/gherkin/lexer/tr.rb +996 -993
  62. data/lib/gherkin/lexer/tt.rb +1547 -1544
  63. data/lib/gherkin/lexer/uk.rb +1550 -1547
  64. data/lib/gherkin/lexer/uz.rb +1280 -1277
  65. data/lib/gherkin/lexer/vi.rb +1102 -1099
  66. data/lib/gherkin/lexer/zh_cn.rb +962 -959
  67. data/lib/gherkin/lexer/zh_tw.rb +956 -953
  68. data/lib/gherkin/listener/formatter_listener.rb +13 -6
  69. data/lib/gherkin/platform.rb +2 -2
  70. data/lib/gherkin/tag_expression.rb +1 -0
  71. data/ragel/lexer.js.rl.erb +109 -14
  72. data/ragel/lexer.rb.rl.erb +3 -0
  73. data/spec/gherkin/i18n_spec.rb +1 -0
  74. data/spec/gherkin/json_parser_spec.rb +10 -22
  75. data/spec/gherkin/lexer/i18n_lexer_spec.rb +7 -3
  76. data/spec/gherkin/parser/parser_spec.rb +1 -1
  77. data/spec/gherkin/rubify_spec.rb +1 -1
  78. data/spec/gherkin/shared/doc_string_group.rb +0 -2
  79. data/spec/gherkin/shared/encoding_group.rb +0 -2
  80. data/spec/gherkin/shared/lexer_group.rb +0 -2
  81. data/spec/gherkin/shared/row_group.rb +0 -2
  82. data/spec/gherkin/shared/tags_group.rb +0 -2
  83. data/spec/spec_helper.rb +21 -7
  84. data/tasks/ikvm.rake +2 -2
  85. data/tasks/ragel_task.rb +8 -0
  86. data/tasks/rspec.rake +1 -1
  87. metadata +25 -21
@@ -7,974 +7,977 @@ module Gherkin
7
7
  class En_tx #:nodoc:
8
8
  native_impl('gherkin')
9
9
 
10
-
11
- # line 125 "ragel/i18n/en_tx.rb.rl"
12
10
 
13
-
11
+ # line 125 "ragel/i18n/en_tx.rb.rl"
12
+
13
+
14
14
  def initialize(listener)
15
15
  @listener = listener
16
-
17
- # line 18 "lib/gherkin/lexer/en_tx.rb"
18
- class << self
19
- attr_accessor :_lexer_actions
20
- private :_lexer_actions, :_lexer_actions=
21
- end
22
- self._lexer_actions = [
23
- 0, 1, 0, 1, 1, 1, 2, 1,
24
- 3, 1, 4, 1, 5, 1, 6, 1,
25
- 7, 1, 8, 1, 9, 1, 10, 1,
26
- 11, 1, 12, 1, 13, 1, 16, 1,
27
- 17, 1, 18, 1, 19, 1, 20, 1,
28
- 21, 1, 22, 1, 23, 2, 2, 18,
29
- 2, 3, 4, 2, 13, 0, 2, 14,
30
- 15, 2, 17, 0, 2, 17, 1, 2,
31
- 17, 16, 2, 17, 19, 2, 18, 6,
32
- 2, 18, 7, 2, 18, 8, 2, 18,
33
- 9, 2, 18, 10, 2, 18, 16, 2,
34
- 20, 21, 2, 22, 0, 2, 22, 1,
35
- 2, 22, 16, 2, 22, 19, 3, 4,
36
- 14, 15, 3, 5, 14, 15, 3, 11,
37
- 14, 15, 3, 12, 14, 15, 3, 13,
38
- 14, 15, 3, 14, 15, 18, 3, 17,
39
- 0, 11, 3, 17, 14, 15, 4, 2,
40
- 14, 15, 18, 4, 3, 4, 14, 15,
41
- 4, 17, 0, 14, 15, 5, 17, 0,
42
- 11, 14, 15
43
- ]
44
-
45
- class << self
46
- attr_accessor :_lexer_key_offsets
47
- private :_lexer_key_offsets, :_lexer_key_offsets=
48
- end
49
- self._lexer_key_offsets = [
50
- 0, 0, 19, 20, 21, 39, 40, 41,
51
- 43, 45, 50, 55, 60, 65, 69, 73,
52
- 75, 76, 77, 78, 79, 80, 81, 82,
53
- 83, 84, 85, 86, 87, 88, 89, 90,
54
- 91, 93, 95, 100, 107, 112, 114, 115,
55
- 116, 117, 118, 119, 120, 121, 122, 123,
56
- 124, 139, 141, 143, 145, 147, 149, 151,
57
- 153, 155, 157, 159, 161, 163, 165, 167,
58
- 169, 187, 189, 190, 191, 192, 193, 194,
59
- 195, 196, 197, 198, 199, 200, 215, 217,
60
- 219, 221, 223, 225, 227, 229, 231, 233,
61
- 235, 237, 239, 241, 243, 245, 248, 250,
62
- 252, 254, 256, 258, 260, 262, 264, 266,
63
- 268, 270, 272, 274, 276, 278, 280, 282,
64
- 284, 286, 288, 290, 292, 294, 296, 298,
65
- 300, 302, 304, 306, 308, 310, 312, 314,
66
- 316, 318, 319, 320, 321, 322, 323, 324,
67
- 325, 326, 327, 328, 329, 330, 331, 332,
68
- 333, 334, 335, 342, 344, 346, 348, 350,
69
- 352, 354, 356, 357, 358, 359, 360, 361,
70
- 362, 363, 364, 365, 377, 379, 381, 383,
71
- 385, 387, 389, 391, 393, 395, 397, 399,
72
- 401, 403, 405, 407, 409, 411, 413, 415,
73
- 417, 419, 421, 423, 425, 427, 429, 431,
74
- 433, 435, 437, 439, 441, 443, 445, 447,
75
- 449, 451, 453, 455, 457, 459, 461, 463,
76
- 465, 467, 469, 471, 473, 475, 477, 479,
77
- 481, 482, 483, 484, 485, 486, 487, 488,
78
- 489, 490, 491, 492, 493, 494, 495, 510,
79
- 512, 514, 516, 518, 520, 522, 524, 526,
80
- 528, 530, 532, 534, 536, 538, 540, 543,
81
- 545, 547, 549, 551, 553, 555, 557, 559,
82
- 561, 563, 565, 567, 569, 571, 573, 576,
83
- 578, 580, 582, 584, 586, 588, 590, 592,
84
- 594, 596, 598, 600, 602, 604, 606, 608,
85
- 610, 612, 614, 616, 618, 620, 622, 624,
86
- 626, 628, 630, 631, 635, 641, 644, 646,
87
- 652, 670, 672, 674, 676, 678, 680, 682,
88
- 684, 686, 688, 690, 692, 694, 696, 698,
89
- 700, 702, 704, 706, 708, 710, 712, 714,
90
- 716, 718, 720, 722, 724, 726, 728, 729
91
- ]
92
-
93
- class << self
94
- attr_accessor :_lexer_trans_keys
95
- private :_lexer_trans_keys, :_lexer_trans_keys=
96
- end
97
- self._lexer_trans_keys = [
98
- -17, 10, 32, 34, 35, 37, 42, 64,
99
- 65, 66, 69, 70, 71, 83, 84, 87,
100
- 124, 9, 13, -69, -65, 10, 32, 34,
101
- 35, 37, 42, 64, 65, 66, 69, 70,
102
- 71, 83, 84, 87, 124, 9, 13, 34,
103
- 34, 10, 13, 10, 13, 10, 32, 34,
104
- 9, 13, 10, 32, 34, 9, 13, 10,
105
- 32, 34, 9, 13, 10, 32, 34, 9,
106
- 13, 10, 32, 9, 13, 10, 32, 9,
107
- 13, 10, 13, 10, 95, 70, 69, 65,
108
- 84, 85, 82, 69, 95, 69, 78, 68,
109
- 95, 37, 32, 10, 13, 10, 13, 13,
110
- 32, 64, 9, 10, 9, 10, 13, 32,
111
- 64, 11, 12, 10, 32, 64, 9, 13,
112
- 108, 110, 108, 32, 121, 39, 97, 108,
113
- 108, 58, 10, 10, 10, 32, 35, 37,
114
- 42, 64, 65, 66, 70, 71, 83, 84,
115
- 87, 9, 13, 10, 95, 10, 70, 10,
116
- 69, 10, 65, 10, 84, 10, 85, 10,
117
- 82, 10, 69, 10, 95, 10, 69, 10,
118
- 78, 10, 68, 10, 95, 10, 37, 10,
119
- 32, 10, 32, 34, 35, 37, 42, 64,
120
- 65, 66, 69, 70, 71, 83, 84, 87,
121
- 124, 9, 13, 97, 117, 99, 107, 103,
122
- 114, 111, 117, 110, 100, 58, 10, 10,
123
- 10, 32, 35, 37, 42, 64, 65, 66,
124
- 70, 71, 83, 84, 87, 9, 13, 10,
125
- 95, 10, 70, 10, 69, 10, 65, 10,
126
- 84, 10, 85, 10, 82, 10, 69, 10,
127
- 95, 10, 69, 10, 78, 10, 68, 10,
128
- 95, 10, 37, 10, 32, 10, 108, 110,
129
- 10, 108, 10, 32, 10, 121, 10, 39,
130
- 10, 97, 10, 108, 10, 108, 10, 58,
131
- 10, 100, 10, 32, 10, 121, 10, 39,
132
- 10, 97, 10, 108, 10, 108, 10, 117,
133
- 10, 116, 10, 101, 10, 97, 10, 116,
134
- 10, 117, 10, 114, 10, 101, 10, 105,
135
- 10, 118, 10, 101, 10, 110, 10, 99,
136
- 10, 101, 10, 110, 10, 97, 10, 114,
137
- 10, 105, 10, 111, 10, 104, 116, 32,
138
- 121, 39, 97, 108, 108, 120, 97, 109,
139
- 112, 108, 101, 115, 58, 10, 10, 10,
140
- 32, 35, 70, 124, 9, 13, 10, 101,
141
- 10, 97, 10, 116, 10, 117, 10, 114,
142
- 10, 101, 10, 58, 101, 97, 116, 117,
143
- 114, 101, 58, 10, 10, 10, 32, 35,
144
- 37, 64, 65, 66, 69, 70, 83, 9,
145
- 13, 10, 95, 10, 70, 10, 69, 10,
146
- 65, 10, 84, 10, 85, 10, 82, 10,
147
- 69, 10, 95, 10, 69, 10, 78, 10,
148
- 68, 10, 95, 10, 37, 10, 108, 10,
149
- 108, 10, 32, 10, 121, 10, 39, 10,
150
- 97, 10, 108, 10, 108, 10, 58, 10,
151
- 97, 10, 99, 10, 107, 10, 103, 10,
152
- 114, 10, 111, 10, 117, 10, 110, 10,
153
- 100, 10, 120, 10, 97, 10, 109, 10,
154
- 112, 10, 108, 10, 101, 10, 115, 10,
155
- 101, 10, 97, 10, 116, 10, 117, 10,
156
- 114, 10, 101, 10, 99, 10, 101, 10,
157
- 110, 10, 97, 10, 114, 10, 105, 10,
158
- 111, 105, 118, 101, 110, 99, 101, 110,
159
- 97, 114, 105, 111, 58, 10, 10, 10,
160
- 32, 35, 37, 42, 64, 65, 66, 70,
161
- 71, 83, 84, 87, 9, 13, 10, 95,
162
- 10, 70, 10, 69, 10, 65, 10, 84,
163
- 10, 85, 10, 82, 10, 69, 10, 95,
164
- 10, 69, 10, 78, 10, 68, 10, 95,
165
- 10, 37, 10, 32, 10, 108, 110, 10,
166
- 108, 10, 32, 10, 121, 10, 39, 10,
167
- 97, 10, 108, 10, 108, 10, 58, 10,
168
- 100, 10, 32, 10, 121, 10, 39, 10,
169
- 97, 10, 108, 10, 108, 10, 97, 117,
170
- 10, 99, 10, 107, 10, 103, 10, 114,
171
- 10, 111, 10, 117, 10, 110, 10, 100,
172
- 10, 116, 10, 101, 10, 97, 10, 116,
173
- 10, 117, 10, 114, 10, 101, 10, 105,
174
- 10, 118, 10, 101, 10, 110, 10, 99,
175
- 10, 101, 10, 110, 10, 97, 10, 114,
176
- 10, 105, 10, 111, 10, 104, 104, 32,
177
- 124, 9, 13, 10, 32, 92, 124, 9,
178
- 13, 10, 92, 124, 10, 92, 10, 32,
179
- 92, 124, 9, 13, 10, 32, 34, 35,
180
- 37, 42, 64, 65, 66, 69, 70, 71,
181
- 83, 84, 87, 124, 9, 13, 10, 110,
182
- 10, 100, 10, 32, 10, 121, 10, 39,
183
- 10, 97, 10, 108, 10, 108, 10, 117,
184
- 10, 116, 10, 101, 10, 97, 10, 116,
185
- 10, 117, 10, 114, 10, 101, 10, 58,
186
- 10, 105, 10, 118, 10, 101, 10, 110,
187
- 10, 99, 10, 101, 10, 110, 10, 97,
188
- 10, 114, 10, 105, 10, 111, 10, 104,
189
- 100, 0
190
- ]
191
-
192
- class << self
193
- attr_accessor :_lexer_single_lengths
194
- private :_lexer_single_lengths, :_lexer_single_lengths=
195
- end
196
- self._lexer_single_lengths = [
197
- 0, 17, 1, 1, 16, 1, 1, 2,
198
- 2, 3, 3, 3, 3, 2, 2, 2,
199
- 1, 1, 1, 1, 1, 1, 1, 1,
200
- 1, 1, 1, 1, 1, 1, 1, 1,
201
- 2, 2, 3, 5, 3, 2, 1, 1,
202
- 1, 1, 1, 1, 1, 1, 1, 1,
203
- 13, 2, 2, 2, 2, 2, 2, 2,
204
- 2, 2, 2, 2, 2, 2, 2, 2,
205
- 16, 2, 1, 1, 1, 1, 1, 1,
206
- 1, 1, 1, 1, 1, 13, 2, 2,
207
- 2, 2, 2, 2, 2, 2, 2, 2,
208
- 2, 2, 2, 2, 2, 3, 2, 2,
209
- 2, 2, 2, 2, 2, 2, 2, 2,
210
- 2, 2, 2, 2, 2, 2, 2, 2,
211
- 2, 2, 2, 2, 2, 2, 2, 2,
212
- 2, 2, 2, 2, 2, 2, 2, 2,
213
- 2, 1, 1, 1, 1, 1, 1, 1,
214
- 1, 1, 1, 1, 1, 1, 1, 1,
215
- 1, 1, 5, 2, 2, 2, 2, 2,
216
- 2, 2, 1, 1, 1, 1, 1, 1,
217
- 1, 1, 1, 10, 2, 2, 2, 2,
218
- 2, 2, 2, 2, 2, 2, 2, 2,
219
- 2, 2, 2, 2, 2, 2, 2, 2,
220
- 2, 2, 2, 2, 2, 2, 2, 2,
221
- 2, 2, 2, 2, 2, 2, 2, 2,
222
- 2, 2, 2, 2, 2, 2, 2, 2,
223
- 2, 2, 2, 2, 2, 2, 2, 2,
224
- 1, 1, 1, 1, 1, 1, 1, 1,
225
- 1, 1, 1, 1, 1, 1, 13, 2,
226
- 2, 2, 2, 2, 2, 2, 2, 2,
227
- 2, 2, 2, 2, 2, 2, 3, 2,
228
- 2, 2, 2, 2, 2, 2, 2, 2,
229
- 2, 2, 2, 2, 2, 2, 3, 2,
230
- 2, 2, 2, 2, 2, 2, 2, 2,
231
- 2, 2, 2, 2, 2, 2, 2, 2,
232
- 2, 2, 2, 2, 2, 2, 2, 2,
233
- 2, 2, 1, 2, 4, 3, 2, 4,
234
- 16, 2, 2, 2, 2, 2, 2, 2,
235
- 2, 2, 2, 2, 2, 2, 2, 2,
236
- 2, 2, 2, 2, 2, 2, 2, 2,
237
- 2, 2, 2, 2, 2, 2, 1, 0
238
- ]
239
-
240
- class << self
241
- attr_accessor :_lexer_range_lengths
242
- private :_lexer_range_lengths, :_lexer_range_lengths=
243
- end
244
- self._lexer_range_lengths = [
245
- 0, 1, 0, 0, 1, 0, 0, 0,
246
- 0, 1, 1, 1, 1, 1, 1, 0,
247
- 0, 0, 0, 0, 0, 0, 0, 0,
248
- 0, 0, 0, 0, 0, 0, 0, 0,
249
- 0, 0, 1, 1, 1, 0, 0, 0,
250
- 0, 0, 0, 0, 0, 0, 0, 0,
251
- 1, 0, 0, 0, 0, 0, 0, 0,
252
- 0, 0, 0, 0, 0, 0, 0, 0,
253
- 1, 0, 0, 0, 0, 0, 0, 0,
254
- 0, 0, 0, 0, 0, 1, 0, 0,
255
- 0, 0, 0, 0, 0, 0, 0, 0,
256
- 0, 0, 0, 0, 0, 0, 0, 0,
257
- 0, 0, 0, 0, 0, 0, 0, 0,
258
- 0, 0, 0, 0, 0, 0, 0, 0,
259
- 0, 0, 0, 0, 0, 0, 0, 0,
260
- 0, 0, 0, 0, 0, 0, 0, 0,
261
- 0, 0, 0, 0, 0, 0, 0, 0,
262
- 0, 0, 0, 0, 0, 0, 0, 0,
263
- 0, 0, 1, 0, 0, 0, 0, 0,
264
- 0, 0, 0, 0, 0, 0, 0, 0,
265
- 0, 0, 0, 1, 0, 0, 0, 0,
266
- 0, 0, 0, 0, 0, 0, 0, 0,
267
- 0, 0, 0, 0, 0, 0, 0, 0,
268
- 0, 0, 0, 0, 0, 0, 0, 0,
269
- 0, 0, 0, 0, 0, 0, 0, 0,
270
- 0, 0, 0, 0, 0, 0, 0, 0,
271
- 0, 0, 0, 0, 0, 0, 0, 0,
272
- 0, 0, 0, 0, 0, 0, 0, 0,
273
- 0, 0, 0, 0, 0, 0, 1, 0,
274
- 0, 0, 0, 0, 0, 0, 0, 0,
275
- 0, 0, 0, 0, 0, 0, 0, 0,
276
- 0, 0, 0, 0, 0, 0, 0, 0,
277
- 0, 0, 0, 0, 0, 0, 0, 0,
278
- 0, 0, 0, 0, 0, 0, 0, 0,
279
- 0, 0, 0, 0, 0, 0, 0, 0,
280
- 0, 0, 0, 0, 0, 0, 0, 0,
281
- 0, 0, 0, 1, 1, 0, 0, 1,
282
- 1, 0, 0, 0, 0, 0, 0, 0,
283
- 0, 0, 0, 0, 0, 0, 0, 0,
284
- 0, 0, 0, 0, 0, 0, 0, 0,
285
- 0, 0, 0, 0, 0, 0, 0, 0
286
- ]
287
-
288
- class << self
289
- attr_accessor :_lexer_index_offsets
290
- private :_lexer_index_offsets, :_lexer_index_offsets=
291
- end
292
- self._lexer_index_offsets = [
293
- 0, 0, 19, 21, 23, 41, 43, 45,
294
- 48, 51, 56, 61, 66, 71, 75, 79,
295
- 82, 84, 86, 88, 90, 92, 94, 96,
296
- 98, 100, 102, 104, 106, 108, 110, 112,
297
- 114, 117, 120, 125, 132, 137, 140, 142,
298
- 144, 146, 148, 150, 152, 154, 156, 158,
299
- 160, 175, 178, 181, 184, 187, 190, 193,
300
- 196, 199, 202, 205, 208, 211, 214, 217,
301
- 220, 238, 241, 243, 245, 247, 249, 251,
302
- 253, 255, 257, 259, 261, 263, 278, 281,
303
- 284, 287, 290, 293, 296, 299, 302, 305,
304
- 308, 311, 314, 317, 320, 323, 327, 330,
305
- 333, 336, 339, 342, 345, 348, 351, 354,
306
- 357, 360, 363, 366, 369, 372, 375, 378,
307
- 381, 384, 387, 390, 393, 396, 399, 402,
308
- 405, 408, 411, 414, 417, 420, 423, 426,
309
- 429, 432, 434, 436, 438, 440, 442, 444,
310
- 446, 448, 450, 452, 454, 456, 458, 460,
311
- 462, 464, 466, 473, 476, 479, 482, 485,
312
- 488, 491, 494, 496, 498, 500, 502, 504,
313
- 506, 508, 510, 512, 524, 527, 530, 533,
314
- 536, 539, 542, 545, 548, 551, 554, 557,
315
- 560, 563, 566, 569, 572, 575, 578, 581,
316
- 584, 587, 590, 593, 596, 599, 602, 605,
317
- 608, 611, 614, 617, 620, 623, 626, 629,
318
- 632, 635, 638, 641, 644, 647, 650, 653,
319
- 656, 659, 662, 665, 668, 671, 674, 677,
320
- 680, 682, 684, 686, 688, 690, 692, 694,
321
- 696, 698, 700, 702, 704, 706, 708, 723,
322
- 726, 729, 732, 735, 738, 741, 744, 747,
323
- 750, 753, 756, 759, 762, 765, 768, 772,
324
- 775, 778, 781, 784, 787, 790, 793, 796,
325
- 799, 802, 805, 808, 811, 814, 817, 821,
326
- 824, 827, 830, 833, 836, 839, 842, 845,
327
- 848, 851, 854, 857, 860, 863, 866, 869,
328
- 872, 875, 878, 881, 884, 887, 890, 893,
329
- 896, 899, 902, 904, 908, 914, 918, 921,
330
- 927, 945, 948, 951, 954, 957, 960, 963,
331
- 966, 969, 972, 975, 978, 981, 984, 987,
332
- 990, 993, 996, 999, 1002, 1005, 1008, 1011,
333
- 1014, 1017, 1020, 1023, 1026, 1029, 1032, 1034
334
- ]
335
-
336
- class << self
337
- attr_accessor :_lexer_indicies
338
- private :_lexer_indicies, :_lexer_indicies=
339
- end
340
- self._lexer_indicies = [
341
- 1, 3, 2, 4, 5, 6, 7, 8,
342
- 9, 10, 11, 12, 13, 14, 15, 15,
343
- 16, 2, 0, 17, 0, 2, 0, 3,
344
- 2, 4, 5, 6, 7, 8, 9, 10,
345
- 11, 12, 13, 14, 15, 15, 16, 2,
346
- 0, 18, 0, 19, 0, 21, 22, 20,
347
- 24, 25, 23, 28, 27, 29, 27, 26,
348
- 32, 31, 33, 31, 30, 32, 31, 34,
349
- 31, 30, 32, 31, 35, 31, 30, 37,
350
- 36, 36, 0, 3, 38, 38, 0, 40,
351
- 41, 39, 3, 0, 42, 0, 43, 0,
352
- 44, 0, 45, 0, 46, 0, 47, 0,
353
- 48, 0, 49, 0, 50, 0, 51, 0,
354
- 52, 0, 53, 0, 54, 0, 55, 0,
355
- 56, 0, 58, 59, 57, 61, 62, 60,
356
- 0, 0, 0, 0, 63, 64, 65, 64,
357
- 64, 67, 66, 63, 3, 68, 8, 68,
358
- 0, 69, 70, 0, 71, 0, 72, 0,
359
- 73, 0, 74, 0, 75, 0, 76, 0,
360
- 77, 0, 78, 0, 80, 79, 82, 81,
361
- 82, 83, 84, 85, 86, 84, 87, 88,
362
- 89, 90, 91, 92, 92, 83, 81, 82,
363
- 93, 81, 82, 94, 81, 82, 95, 81,
364
- 82, 96, 81, 82, 97, 81, 82, 98,
365
- 81, 82, 99, 81, 82, 100, 81, 82,
366
- 101, 81, 82, 102, 81, 82, 103, 81,
367
- 82, 104, 81, 82, 105, 81, 82, 106,
368
- 81, 82, 107, 81, 109, 108, 110, 111,
369
- 112, 113, 114, 115, 116, 117, 118, 119,
370
- 120, 121, 121, 122, 108, 0, 123, 124,
371
- 0, 125, 0, 126, 0, 127, 0, 128,
372
- 0, 129, 0, 130, 0, 131, 0, 132,
373
- 0, 133, 0, 135, 134, 137, 136, 137,
374
- 138, 139, 140, 141, 139, 142, 143, 144,
375
- 145, 146, 147, 147, 138, 136, 137, 148,
376
- 136, 137, 149, 136, 137, 150, 136, 137,
377
- 151, 136, 137, 152, 136, 137, 153, 136,
378
- 137, 154, 136, 137, 155, 136, 137, 156,
379
- 136, 137, 157, 136, 137, 158, 136, 137,
380
- 159, 136, 137, 160, 136, 137, 161, 136,
381
- 137, 162, 136, 137, 163, 164, 136, 137,
382
- 165, 136, 137, 166, 136, 137, 167, 136,
383
- 137, 168, 136, 137, 169, 136, 137, 170,
384
- 136, 137, 171, 136, 137, 162, 136, 137,
385
- 172, 136, 137, 173, 136, 137, 174, 136,
386
- 137, 175, 136, 137, 176, 136, 137, 177,
387
- 136, 137, 178, 136, 137, 179, 136, 137,
388
- 172, 136, 137, 180, 136, 137, 181, 136,
389
- 137, 182, 136, 137, 183, 136, 137, 184,
390
- 136, 137, 171, 136, 137, 185, 136, 137,
391
- 186, 136, 137, 187, 136, 137, 172, 136,
392
- 137, 188, 136, 137, 189, 136, 137, 190,
393
- 136, 137, 191, 136, 137, 192, 136, 137,
394
- 193, 136, 137, 171, 136, 137, 186, 136,
395
- 194, 0, 195, 0, 196, 0, 197, 0,
396
- 198, 0, 199, 0, 200, 0, 201, 0,
397
- 202, 0, 203, 0, 204, 0, 205, 0,
398
- 206, 0, 207, 0, 208, 0, 210, 209,
399
- 212, 211, 212, 213, 214, 215, 214, 213,
400
- 211, 212, 216, 211, 212, 217, 211, 212,
401
- 218, 211, 212, 219, 211, 212, 220, 211,
402
- 212, 221, 211, 212, 222, 211, 223, 0,
403
- 224, 0, 225, 0, 226, 0, 227, 0,
404
- 228, 0, 229, 0, 231, 230, 233, 232,
405
- 233, 234, 235, 236, 235, 237, 238, 239,
406
- 240, 241, 234, 232, 233, 242, 232, 233,
407
- 243, 232, 233, 244, 232, 233, 245, 232,
408
- 233, 246, 232, 233, 247, 232, 233, 248,
409
- 232, 233, 249, 232, 233, 250, 232, 233,
410
- 251, 232, 233, 252, 232, 233, 253, 232,
411
- 233, 254, 232, 233, 255, 232, 233, 256,
412
- 232, 233, 257, 232, 233, 258, 232, 233,
413
- 259, 232, 233, 260, 232, 233, 261, 232,
414
- 233, 262, 232, 233, 263, 232, 233, 264,
415
- 232, 233, 265, 232, 233, 266, 232, 233,
416
- 267, 232, 233, 268, 232, 233, 269, 232,
417
- 233, 270, 232, 233, 271, 232, 233, 272,
418
- 232, 233, 263, 232, 233, 273, 232, 233,
419
- 274, 232, 233, 275, 232, 233, 276, 232,
420
- 233, 277, 232, 233, 278, 232, 233, 263,
421
- 232, 233, 279, 232, 233, 280, 232, 233,
422
- 281, 232, 233, 282, 232, 233, 283, 232,
423
- 233, 263, 232, 233, 284, 232, 233, 285,
424
- 232, 233, 286, 232, 233, 287, 232, 233,
425
- 288, 232, 233, 289, 232, 233, 263, 232,
426
- 290, 0, 291, 0, 292, 0, 194, 0,
427
- 293, 0, 294, 0, 295, 0, 296, 0,
428
- 297, 0, 298, 0, 299, 0, 300, 0,
429
- 302, 301, 304, 303, 304, 305, 306, 307,
430
- 308, 306, 309, 310, 311, 312, 313, 314,
431
- 314, 305, 303, 304, 315, 303, 304, 316,
432
- 303, 304, 317, 303, 304, 318, 303, 304,
433
- 319, 303, 304, 320, 303, 304, 321, 303,
434
- 304, 322, 303, 304, 323, 303, 304, 324,
435
- 303, 304, 325, 303, 304, 326, 303, 304,
436
- 327, 303, 304, 328, 303, 304, 329, 303,
437
- 304, 330, 331, 303, 304, 332, 303, 304,
438
- 333, 303, 304, 334, 303, 304, 335, 303,
439
- 304, 336, 303, 304, 337, 303, 304, 338,
440
- 303, 304, 329, 303, 304, 339, 303, 304,
441
- 340, 303, 304, 341, 303, 304, 342, 303,
442
- 304, 343, 303, 304, 344, 303, 304, 345,
443
- 303, 304, 346, 347, 303, 304, 348, 303,
444
- 304, 349, 303, 304, 350, 303, 304, 351,
445
- 303, 304, 352, 303, 304, 353, 303, 304,
446
- 354, 303, 304, 338, 303, 304, 339, 303,
447
- 304, 355, 303, 304, 356, 303, 304, 357,
448
- 303, 304, 358, 303, 304, 359, 303, 304,
449
- 338, 303, 304, 360, 303, 304, 361, 303,
450
- 304, 362, 303, 304, 339, 303, 304, 363,
451
- 303, 304, 364, 303, 304, 365, 303, 304,
452
- 366, 303, 304, 367, 303, 304, 368, 303,
453
- 304, 338, 303, 304, 361, 303, 291, 0,
454
- 369, 370, 369, 0, 373, 372, 374, 375,
455
- 372, 371, 0, 377, 378, 376, 0, 377,
456
- 376, 373, 379, 377, 378, 379, 376, 373,
457
- 380, 381, 382, 383, 384, 385, 386, 387,
458
- 388, 389, 390, 391, 392, 392, 393, 380,
459
- 0, 82, 394, 81, 82, 395, 81, 82,
460
- 396, 81, 82, 397, 81, 82, 398, 81,
461
- 82, 399, 81, 82, 400, 81, 82, 401,
462
- 81, 82, 402, 81, 82, 395, 81, 82,
463
- 403, 81, 82, 404, 81, 82, 405, 81,
464
- 82, 406, 81, 82, 407, 81, 82, 408,
465
- 81, 82, 107, 81, 82, 409, 81, 82,
466
- 410, 81, 82, 411, 81, 82, 395, 81,
467
- 82, 412, 81, 82, 413, 81, 82, 414,
468
- 81, 82, 415, 81, 82, 416, 81, 82,
469
- 417, 81, 82, 408, 81, 82, 410, 81,
470
- 194, 0, 418, 0
471
- ]
472
-
473
- class << self
474
- attr_accessor :_lexer_trans_targs
475
- private :_lexer_trans_targs, :_lexer_trans_targs=
476
- end
477
- self._lexer_trans_targs = [
478
- 0, 2, 4, 4, 5, 15, 17, 31,
479
- 34, 37, 65, 136, 154, 216, 220, 290,
480
- 291, 3, 6, 7, 8, 9, 8, 8,
481
- 9, 8, 10, 10, 10, 11, 10, 10,
482
- 10, 11, 12, 13, 14, 4, 14, 15,
483
- 4, 16, 18, 19, 20, 21, 22, 23,
484
- 24, 25, 26, 27, 28, 29, 30, 327,
485
- 32, 33, 4, 16, 33, 4, 16, 35,
486
- 36, 4, 35, 34, 36, 38, 326, 39,
487
- 40, 41, 42, 43, 44, 45, 46, 47,
488
- 48, 47, 48, 48, 4, 49, 63, 297,
489
- 305, 307, 314, 318, 325, 50, 51, 52,
490
- 53, 54, 55, 56, 57, 58, 59, 60,
491
- 61, 62, 4, 64, 4, 4, 5, 15,
492
- 17, 31, 34, 37, 65, 136, 154, 216,
493
- 220, 290, 291, 66, 129, 67, 68, 69,
494
- 70, 71, 72, 73, 74, 75, 76, 77,
495
- 76, 77, 77, 4, 78, 92, 93, 109,
496
- 111, 117, 121, 128, 79, 80, 81, 82,
497
- 83, 84, 85, 86, 87, 88, 89, 90,
498
- 91, 4, 64, 94, 102, 95, 96, 97,
499
- 98, 99, 100, 101, 103, 104, 105, 106,
500
- 107, 108, 92, 110, 112, 113, 114, 115,
501
- 116, 118, 119, 120, 122, 123, 124, 125,
502
- 126, 127, 130, 131, 132, 133, 134, 135,
503
- 31, 137, 138, 139, 140, 141, 142, 143,
504
- 144, 145, 146, 145, 146, 146, 4, 147,
505
- 148, 149, 150, 151, 152, 153, 64, 155,
506
- 156, 157, 158, 159, 160, 161, 162, 163,
507
- 162, 163, 163, 4, 164, 178, 187, 196,
508
- 203, 209, 165, 166, 167, 168, 169, 170,
509
- 171, 172, 173, 174, 175, 176, 177, 4,
510
- 179, 180, 181, 182, 183, 184, 185, 186,
511
- 64, 188, 189, 190, 191, 192, 193, 194,
512
- 195, 197, 198, 199, 200, 201, 202, 204,
513
- 205, 206, 207, 208, 210, 211, 212, 213,
514
- 214, 215, 217, 218, 219, 221, 222, 223,
515
- 224, 225, 226, 227, 228, 229, 230, 229,
516
- 230, 230, 4, 231, 245, 246, 262, 272,
517
- 278, 282, 289, 232, 233, 234, 235, 236,
518
- 237, 238, 239, 240, 241, 242, 243, 244,
519
- 4, 64, 247, 255, 248, 249, 250, 251,
520
- 252, 253, 254, 256, 257, 258, 259, 260,
521
- 261, 245, 263, 271, 264, 265, 266, 267,
522
- 268, 269, 270, 273, 274, 275, 276, 277,
523
- 279, 280, 281, 283, 284, 285, 286, 287,
524
- 288, 291, 292, 293, 295, 296, 294, 292,
525
- 293, 294, 292, 295, 296, 5, 15, 17,
526
- 31, 34, 37, 65, 136, 154, 216, 220,
527
- 290, 291, 298, 299, 300, 301, 302, 303,
528
- 304, 63, 306, 308, 309, 310, 311, 312,
529
- 313, 315, 316, 317, 319, 320, 321, 322,
530
- 323, 324, 0
531
- ]
532
-
533
- class << self
534
- attr_accessor :_lexer_trans_actions
535
- private :_lexer_trans_actions, :_lexer_trans_actions=
536
- end
537
- self._lexer_trans_actions = [
538
- 43, 0, 0, 54, 3, 1, 0, 29,
539
- 1, 29, 29, 29, 29, 29, 29, 29,
540
- 35, 0, 0, 0, 7, 139, 48, 0,
541
- 102, 9, 5, 45, 134, 45, 0, 33,
542
- 122, 33, 33, 0, 11, 106, 0, 0,
543
- 114, 25, 0, 0, 0, 0, 0, 0,
544
- 0, 0, 0, 0, 0, 0, 0, 0,
545
- 0, 57, 149, 126, 0, 110, 23, 0,
546
- 27, 118, 27, 51, 0, 0, 0, 0,
547
- 0, 0, 0, 0, 0, 0, 0, 57,
548
- 144, 0, 54, 0, 78, 33, 84, 84,
549
- 84, 84, 84, 84, 84, 0, 0, 0,
550
- 0, 0, 0, 0, 0, 0, 0, 0,
551
- 0, 0, 19, 19, 31, 130, 60, 57,
552
- 31, 63, 57, 63, 63, 63, 63, 63,
553
- 63, 63, 66, 0, 0, 0, 0, 0,
554
- 0, 0, 0, 0, 0, 0, 57, 144,
555
- 0, 54, 0, 72, 33, 84, 84, 84,
556
- 84, 84, 84, 84, 0, 0, 0, 0,
557
- 0, 0, 0, 0, 0, 0, 0, 0,
558
- 0, 15, 15, 0, 0, 0, 0, 0,
559
- 0, 0, 0, 0, 0, 0, 0, 0,
560
- 0, 0, 0, 0, 0, 0, 0, 0,
561
- 0, 0, 0, 0, 0, 0, 0, 0,
562
- 0, 0, 0, 0, 0, 0, 0, 0,
563
- 0, 0, 0, 0, 0, 0, 0, 0,
564
- 0, 57, 144, 0, 54, 0, 81, 84,
565
- 0, 0, 0, 0, 0, 0, 21, 0,
566
- 0, 0, 0, 0, 0, 0, 57, 144,
567
- 0, 54, 0, 69, 33, 84, 84, 84,
568
- 84, 84, 0, 0, 0, 0, 0, 0,
569
- 0, 0, 0, 0, 0, 0, 0, 13,
570
- 0, 0, 0, 0, 0, 0, 0, 0,
571
- 13, 0, 0, 0, 0, 0, 0, 0,
572
- 0, 0, 0, 0, 0, 0, 0, 0,
573
- 0, 0, 0, 0, 0, 0, 0, 0,
574
- 0, 0, 0, 0, 0, 0, 0, 0,
575
- 0, 0, 0, 0, 0, 57, 144, 0,
576
- 54, 0, 75, 33, 84, 84, 84, 84,
577
- 84, 84, 84, 0, 0, 0, 0, 0,
578
- 0, 0, 0, 0, 0, 0, 0, 0,
579
- 17, 17, 0, 0, 0, 0, 0, 0,
580
- 0, 0, 0, 0, 0, 0, 0, 0,
581
- 0, 0, 0, 0, 0, 0, 0, 0,
582
- 0, 0, 0, 0, 0, 0, 0, 0,
583
- 0, 0, 0, 0, 0, 0, 0, 0,
584
- 0, 0, 0, 37, 37, 54, 37, 87,
585
- 0, 0, 39, 0, 0, 93, 90, 41,
586
- 96, 90, 96, 96, 96, 96, 96, 96,
587
- 96, 99, 0, 0, 0, 0, 0, 0,
588
- 0, 0, 0, 0, 0, 0, 0, 0,
589
- 0, 0, 0, 0, 0, 0, 0, 0,
590
- 0, 0, 0
591
- ]
592
-
593
- class << self
594
- attr_accessor :_lexer_eof_actions
595
- private :_lexer_eof_actions, :_lexer_eof_actions=
596
- end
597
- self._lexer_eof_actions = [
598
- 0, 43, 43, 43, 43, 43, 43, 43,
599
- 43, 43, 43, 43, 43, 43, 43, 43,
600
- 43, 43, 43, 43, 43, 43, 43, 43,
601
- 43, 43, 43, 43, 43, 43, 43, 43,
602
- 43, 43, 43, 43, 43, 43, 43, 43,
603
- 43, 43, 43, 43, 43, 43, 43, 43,
604
- 43, 43, 43, 43, 43, 43, 43, 43,
605
- 43, 43, 43, 43, 43, 43, 43, 43,
606
- 43, 43, 43, 43, 43, 43, 43, 43,
607
- 43, 43, 43, 43, 43, 43, 43, 43,
608
- 43, 43, 43, 43, 43, 43, 43, 43,
609
- 43, 43, 43, 43, 43, 43, 43, 43,
610
- 43, 43, 43, 43, 43, 43, 43, 43,
611
- 43, 43, 43, 43, 43, 43, 43, 43,
612
- 43, 43, 43, 43, 43, 43, 43, 43,
613
- 43, 43, 43, 43, 43, 43, 43, 43,
614
- 43, 43, 43, 43, 43, 43, 43, 43,
615
- 43, 43, 43, 43, 43, 43, 43, 43,
616
- 43, 43, 43, 43, 43, 43, 43, 43,
617
- 43, 43, 43, 43, 43, 43, 43, 43,
618
- 43, 43, 43, 43, 43, 43, 43, 43,
619
- 43, 43, 43, 43, 43, 43, 43, 43,
620
- 43, 43, 43, 43, 43, 43, 43, 43,
621
- 43, 43, 43, 43, 43, 43, 43, 43,
622
- 43, 43, 43, 43, 43, 43, 43, 43,
623
- 43, 43, 43, 43, 43, 43, 43, 43,
624
- 43, 43, 43, 43, 43, 43, 43, 43,
625
- 43, 43, 43, 43, 43, 43, 43, 43,
626
- 43, 43, 43, 43, 43, 43, 43, 43,
627
- 43, 43, 43, 43, 43, 43, 43, 43,
628
- 43, 43, 43, 43, 43, 43, 43, 43,
629
- 43, 43, 43, 43, 43, 43, 43, 43,
630
- 43, 43, 43, 43, 43, 43, 43, 43,
631
- 43, 43, 43, 43, 43, 43, 43, 43,
632
- 43, 43, 43, 43, 43, 43, 43, 43,
633
- 43, 43, 43, 43, 43, 43, 43, 43,
634
- 43, 43, 43, 43, 43, 43, 43, 43,
635
- 43, 43, 43, 43, 43, 43, 43, 43,
636
- 43, 43, 43, 43, 43, 43, 43, 43,
637
- 43, 43, 43, 43, 43, 43, 43, 43,
638
- 43, 43, 43, 43, 43, 43, 43, 43
639
- ]
640
-
641
- class << self
642
- attr_accessor :lexer_start
643
- end
644
- self.lexer_start = 1;
645
- class << self
646
- attr_accessor :lexer_first_final
647
- end
648
- self.lexer_first_final = 327;
649
- class << self
650
- attr_accessor :lexer_error
651
- end
652
- self.lexer_error = 0;
653
16
 
654
- class << self
655
- attr_accessor :lexer_en_main
656
- end
657
- self.lexer_en_main = 1;
17
+ # Initialize ivars to avoid warnings
18
+ @keyword = nil
658
19
 
20
+ # line 21 "lib/gherkin/lexer/en_tx.rb"
21
+ class << self
22
+ attr_accessor :_lexer_actions
23
+ private :_lexer_actions, :_lexer_actions=
24
+ end
25
+ self._lexer_actions = [
26
+ 0, 1, 0, 1, 1, 1, 2, 1,
27
+ 3, 1, 4, 1, 5, 1, 6, 1,
28
+ 7, 1, 8, 1, 9, 1, 10, 1,
29
+ 11, 1, 12, 1, 13, 1, 16, 1,
30
+ 17, 1, 18, 1, 19, 1, 20, 1,
31
+ 21, 1, 22, 1, 23, 2, 2, 18,
32
+ 2, 3, 4, 2, 13, 0, 2, 14,
33
+ 15, 2, 17, 0, 2, 17, 1, 2,
34
+ 17, 16, 2, 17, 19, 2, 18, 6,
35
+ 2, 18, 7, 2, 18, 8, 2, 18,
36
+ 9, 2, 18, 10, 2, 18, 16, 2,
37
+ 20, 21, 2, 22, 0, 2, 22, 1,
38
+ 2, 22, 16, 2, 22, 19, 3, 4,
39
+ 14, 15, 3, 5, 14, 15, 3, 11,
40
+ 14, 15, 3, 12, 14, 15, 3, 13,
41
+ 14, 15, 3, 14, 15, 18, 3, 17,
42
+ 0, 11, 3, 17, 14, 15, 4, 2,
43
+ 14, 15, 18, 4, 3, 4, 14, 15,
44
+ 4, 17, 0, 14, 15, 5, 17, 0,
45
+ 11, 14, 15
46
+ ]
47
+
48
+ class << self
49
+ attr_accessor :_lexer_key_offsets
50
+ private :_lexer_key_offsets, :_lexer_key_offsets=
51
+ end
52
+ self._lexer_key_offsets = [
53
+ 0, 0, 19, 20, 21, 39, 40, 41,
54
+ 43, 45, 50, 55, 60, 65, 69, 73,
55
+ 75, 76, 77, 78, 79, 80, 81, 82,
56
+ 83, 84, 85, 86, 87, 88, 89, 90,
57
+ 91, 93, 95, 100, 107, 112, 114, 115,
58
+ 116, 117, 118, 119, 120, 121, 122, 123,
59
+ 124, 139, 141, 143, 145, 147, 149, 151,
60
+ 153, 155, 157, 159, 161, 163, 165, 167,
61
+ 169, 187, 189, 190, 191, 192, 193, 194,
62
+ 195, 196, 197, 198, 199, 200, 215, 217,
63
+ 219, 221, 223, 225, 227, 229, 231, 233,
64
+ 235, 237, 239, 241, 243, 245, 248, 250,
65
+ 252, 254, 256, 258, 260, 262, 264, 266,
66
+ 268, 270, 272, 274, 276, 278, 280, 282,
67
+ 284, 286, 288, 290, 292, 294, 296, 298,
68
+ 300, 302, 304, 306, 308, 310, 312, 314,
69
+ 316, 318, 319, 320, 321, 322, 323, 324,
70
+ 325, 326, 327, 328, 329, 330, 331, 332,
71
+ 333, 334, 335, 342, 344, 346, 348, 350,
72
+ 352, 354, 356, 357, 358, 359, 360, 361,
73
+ 362, 363, 364, 365, 377, 379, 381, 383,
74
+ 385, 387, 389, 391, 393, 395, 397, 399,
75
+ 401, 403, 405, 407, 409, 411, 413, 415,
76
+ 417, 419, 421, 423, 425, 427, 429, 431,
77
+ 433, 435, 437, 439, 441, 443, 445, 447,
78
+ 449, 451, 453, 455, 457, 459, 461, 463,
79
+ 465, 467, 469, 471, 473, 475, 477, 479,
80
+ 481, 482, 483, 484, 485, 486, 487, 488,
81
+ 489, 490, 491, 492, 493, 494, 495, 510,
82
+ 512, 514, 516, 518, 520, 522, 524, 526,
83
+ 528, 530, 532, 534, 536, 538, 540, 543,
84
+ 545, 547, 549, 551, 553, 555, 557, 559,
85
+ 561, 563, 565, 567, 569, 571, 573, 576,
86
+ 578, 580, 582, 584, 586, 588, 590, 592,
87
+ 594, 596, 598, 600, 602, 604, 606, 608,
88
+ 610, 612, 614, 616, 618, 620, 622, 624,
89
+ 626, 628, 630, 631, 635, 641, 644, 646,
90
+ 652, 670, 672, 674, 676, 678, 680, 682,
91
+ 684, 686, 688, 690, 692, 694, 696, 698,
92
+ 700, 702, 704, 706, 708, 710, 712, 714,
93
+ 716, 718, 720, 722, 724, 726, 728, 729
94
+ ]
95
+
96
+ class << self
97
+ attr_accessor :_lexer_trans_keys
98
+ private :_lexer_trans_keys, :_lexer_trans_keys=
99
+ end
100
+ self._lexer_trans_keys = [
101
+ -17, 10, 32, 34, 35, 37, 42, 64,
102
+ 65, 66, 69, 70, 71, 83, 84, 87,
103
+ 124, 9, 13, -69, -65, 10, 32, 34,
104
+ 35, 37, 42, 64, 65, 66, 69, 70,
105
+ 71, 83, 84, 87, 124, 9, 13, 34,
106
+ 34, 10, 13, 10, 13, 10, 32, 34,
107
+ 9, 13, 10, 32, 34, 9, 13, 10,
108
+ 32, 34, 9, 13, 10, 32, 34, 9,
109
+ 13, 10, 32, 9, 13, 10, 32, 9,
110
+ 13, 10, 13, 10, 95, 70, 69, 65,
111
+ 84, 85, 82, 69, 95, 69, 78, 68,
112
+ 95, 37, 32, 10, 13, 10, 13, 13,
113
+ 32, 64, 9, 10, 9, 10, 13, 32,
114
+ 64, 11, 12, 10, 32, 64, 9, 13,
115
+ 108, 110, 108, 32, 121, 39, 97, 108,
116
+ 108, 58, 10, 10, 10, 32, 35, 37,
117
+ 42, 64, 65, 66, 70, 71, 83, 84,
118
+ 87, 9, 13, 10, 95, 10, 70, 10,
119
+ 69, 10, 65, 10, 84, 10, 85, 10,
120
+ 82, 10, 69, 10, 95, 10, 69, 10,
121
+ 78, 10, 68, 10, 95, 10, 37, 10,
122
+ 32, 10, 32, 34, 35, 37, 42, 64,
123
+ 65, 66, 69, 70, 71, 83, 84, 87,
124
+ 124, 9, 13, 97, 117, 99, 107, 103,
125
+ 114, 111, 117, 110, 100, 58, 10, 10,
126
+ 10, 32, 35, 37, 42, 64, 65, 66,
127
+ 70, 71, 83, 84, 87, 9, 13, 10,
128
+ 95, 10, 70, 10, 69, 10, 65, 10,
129
+ 84, 10, 85, 10, 82, 10, 69, 10,
130
+ 95, 10, 69, 10, 78, 10, 68, 10,
131
+ 95, 10, 37, 10, 32, 10, 108, 110,
132
+ 10, 108, 10, 32, 10, 121, 10, 39,
133
+ 10, 97, 10, 108, 10, 108, 10, 58,
134
+ 10, 100, 10, 32, 10, 121, 10, 39,
135
+ 10, 97, 10, 108, 10, 108, 10, 117,
136
+ 10, 116, 10, 101, 10, 97, 10, 116,
137
+ 10, 117, 10, 114, 10, 101, 10, 105,
138
+ 10, 118, 10, 101, 10, 110, 10, 99,
139
+ 10, 101, 10, 110, 10, 97, 10, 114,
140
+ 10, 105, 10, 111, 10, 104, 116, 32,
141
+ 121, 39, 97, 108, 108, 120, 97, 109,
142
+ 112, 108, 101, 115, 58, 10, 10, 10,
143
+ 32, 35, 70, 124, 9, 13, 10, 101,
144
+ 10, 97, 10, 116, 10, 117, 10, 114,
145
+ 10, 101, 10, 58, 101, 97, 116, 117,
146
+ 114, 101, 58, 10, 10, 10, 32, 35,
147
+ 37, 64, 65, 66, 69, 70, 83, 9,
148
+ 13, 10, 95, 10, 70, 10, 69, 10,
149
+ 65, 10, 84, 10, 85, 10, 82, 10,
150
+ 69, 10, 95, 10, 69, 10, 78, 10,
151
+ 68, 10, 95, 10, 37, 10, 108, 10,
152
+ 108, 10, 32, 10, 121, 10, 39, 10,
153
+ 97, 10, 108, 10, 108, 10, 58, 10,
154
+ 97, 10, 99, 10, 107, 10, 103, 10,
155
+ 114, 10, 111, 10, 117, 10, 110, 10,
156
+ 100, 10, 120, 10, 97, 10, 109, 10,
157
+ 112, 10, 108, 10, 101, 10, 115, 10,
158
+ 101, 10, 97, 10, 116, 10, 117, 10,
159
+ 114, 10, 101, 10, 99, 10, 101, 10,
160
+ 110, 10, 97, 10, 114, 10, 105, 10,
161
+ 111, 105, 118, 101, 110, 99, 101, 110,
162
+ 97, 114, 105, 111, 58, 10, 10, 10,
163
+ 32, 35, 37, 42, 64, 65, 66, 70,
164
+ 71, 83, 84, 87, 9, 13, 10, 95,
165
+ 10, 70, 10, 69, 10, 65, 10, 84,
166
+ 10, 85, 10, 82, 10, 69, 10, 95,
167
+ 10, 69, 10, 78, 10, 68, 10, 95,
168
+ 10, 37, 10, 32, 10, 108, 110, 10,
169
+ 108, 10, 32, 10, 121, 10, 39, 10,
170
+ 97, 10, 108, 10, 108, 10, 58, 10,
171
+ 100, 10, 32, 10, 121, 10, 39, 10,
172
+ 97, 10, 108, 10, 108, 10, 97, 117,
173
+ 10, 99, 10, 107, 10, 103, 10, 114,
174
+ 10, 111, 10, 117, 10, 110, 10, 100,
175
+ 10, 116, 10, 101, 10, 97, 10, 116,
176
+ 10, 117, 10, 114, 10, 101, 10, 105,
177
+ 10, 118, 10, 101, 10, 110, 10, 99,
178
+ 10, 101, 10, 110, 10, 97, 10, 114,
179
+ 10, 105, 10, 111, 10, 104, 104, 32,
180
+ 124, 9, 13, 10, 32, 92, 124, 9,
181
+ 13, 10, 92, 124, 10, 92, 10, 32,
182
+ 92, 124, 9, 13, 10, 32, 34, 35,
183
+ 37, 42, 64, 65, 66, 69, 70, 71,
184
+ 83, 84, 87, 124, 9, 13, 10, 110,
185
+ 10, 100, 10, 32, 10, 121, 10, 39,
186
+ 10, 97, 10, 108, 10, 108, 10, 117,
187
+ 10, 116, 10, 101, 10, 97, 10, 116,
188
+ 10, 117, 10, 114, 10, 101, 10, 58,
189
+ 10, 105, 10, 118, 10, 101, 10, 110,
190
+ 10, 99, 10, 101, 10, 110, 10, 97,
191
+ 10, 114, 10, 105, 10, 111, 10, 104,
192
+ 100, 0
193
+ ]
194
+
195
+ class << self
196
+ attr_accessor :_lexer_single_lengths
197
+ private :_lexer_single_lengths, :_lexer_single_lengths=
198
+ end
199
+ self._lexer_single_lengths = [
200
+ 0, 17, 1, 1, 16, 1, 1, 2,
201
+ 2, 3, 3, 3, 3, 2, 2, 2,
202
+ 1, 1, 1, 1, 1, 1, 1, 1,
203
+ 1, 1, 1, 1, 1, 1, 1, 1,
204
+ 2, 2, 3, 5, 3, 2, 1, 1,
205
+ 1, 1, 1, 1, 1, 1, 1, 1,
206
+ 13, 2, 2, 2, 2, 2, 2, 2,
207
+ 2, 2, 2, 2, 2, 2, 2, 2,
208
+ 16, 2, 1, 1, 1, 1, 1, 1,
209
+ 1, 1, 1, 1, 1, 13, 2, 2,
210
+ 2, 2, 2, 2, 2, 2, 2, 2,
211
+ 2, 2, 2, 2, 2, 3, 2, 2,
212
+ 2, 2, 2, 2, 2, 2, 2, 2,
213
+ 2, 2, 2, 2, 2, 2, 2, 2,
214
+ 2, 2, 2, 2, 2, 2, 2, 2,
215
+ 2, 2, 2, 2, 2, 2, 2, 2,
216
+ 2, 1, 1, 1, 1, 1, 1, 1,
217
+ 1, 1, 1, 1, 1, 1, 1, 1,
218
+ 1, 1, 5, 2, 2, 2, 2, 2,
219
+ 2, 2, 1, 1, 1, 1, 1, 1,
220
+ 1, 1, 1, 10, 2, 2, 2, 2,
221
+ 2, 2, 2, 2, 2, 2, 2, 2,
222
+ 2, 2, 2, 2, 2, 2, 2, 2,
223
+ 2, 2, 2, 2, 2, 2, 2, 2,
224
+ 2, 2, 2, 2, 2, 2, 2, 2,
225
+ 2, 2, 2, 2, 2, 2, 2, 2,
226
+ 2, 2, 2, 2, 2, 2, 2, 2,
227
+ 1, 1, 1, 1, 1, 1, 1, 1,
228
+ 1, 1, 1, 1, 1, 1, 13, 2,
229
+ 2, 2, 2, 2, 2, 2, 2, 2,
230
+ 2, 2, 2, 2, 2, 2, 3, 2,
231
+ 2, 2, 2, 2, 2, 2, 2, 2,
232
+ 2, 2, 2, 2, 2, 2, 3, 2,
233
+ 2, 2, 2, 2, 2, 2, 2, 2,
234
+ 2, 2, 2, 2, 2, 2, 2, 2,
235
+ 2, 2, 2, 2, 2, 2, 2, 2,
236
+ 2, 2, 1, 2, 4, 3, 2, 4,
237
+ 16, 2, 2, 2, 2, 2, 2, 2,
238
+ 2, 2, 2, 2, 2, 2, 2, 2,
239
+ 2, 2, 2, 2, 2, 2, 2, 2,
240
+ 2, 2, 2, 2, 2, 2, 1, 0
241
+ ]
242
+
243
+ class << self
244
+ attr_accessor :_lexer_range_lengths
245
+ private :_lexer_range_lengths, :_lexer_range_lengths=
246
+ end
247
+ self._lexer_range_lengths = [
248
+ 0, 1, 0, 0, 1, 0, 0, 0,
249
+ 0, 1, 1, 1, 1, 1, 1, 0,
250
+ 0, 0, 0, 0, 0, 0, 0, 0,
251
+ 0, 0, 0, 0, 0, 0, 0, 0,
252
+ 0, 0, 1, 1, 1, 0, 0, 0,
253
+ 0, 0, 0, 0, 0, 0, 0, 0,
254
+ 1, 0, 0, 0, 0, 0, 0, 0,
255
+ 0, 0, 0, 0, 0, 0, 0, 0,
256
+ 1, 0, 0, 0, 0, 0, 0, 0,
257
+ 0, 0, 0, 0, 0, 1, 0, 0,
258
+ 0, 0, 0, 0, 0, 0, 0, 0,
259
+ 0, 0, 0, 0, 0, 0, 0, 0,
260
+ 0, 0, 0, 0, 0, 0, 0, 0,
261
+ 0, 0, 0, 0, 0, 0, 0, 0,
262
+ 0, 0, 0, 0, 0, 0, 0, 0,
263
+ 0, 0, 0, 0, 0, 0, 0, 0,
264
+ 0, 0, 0, 0, 0, 0, 0, 0,
265
+ 0, 0, 0, 0, 0, 0, 0, 0,
266
+ 0, 0, 1, 0, 0, 0, 0, 0,
267
+ 0, 0, 0, 0, 0, 0, 0, 0,
268
+ 0, 0, 0, 1, 0, 0, 0, 0,
269
+ 0, 0, 0, 0, 0, 0, 0, 0,
270
+ 0, 0, 0, 0, 0, 0, 0, 0,
271
+ 0, 0, 0, 0, 0, 0, 0, 0,
272
+ 0, 0, 0, 0, 0, 0, 0, 0,
273
+ 0, 0, 0, 0, 0, 0, 0, 0,
274
+ 0, 0, 0, 0, 0, 0, 0, 0,
275
+ 0, 0, 0, 0, 0, 0, 0, 0,
276
+ 0, 0, 0, 0, 0, 0, 1, 0,
277
+ 0, 0, 0, 0, 0, 0, 0, 0,
278
+ 0, 0, 0, 0, 0, 0, 0, 0,
279
+ 0, 0, 0, 0, 0, 0, 0, 0,
280
+ 0, 0, 0, 0, 0, 0, 0, 0,
281
+ 0, 0, 0, 0, 0, 0, 0, 0,
282
+ 0, 0, 0, 0, 0, 0, 0, 0,
283
+ 0, 0, 0, 0, 0, 0, 0, 0,
284
+ 0, 0, 0, 1, 1, 0, 0, 1,
285
+ 1, 0, 0, 0, 0, 0, 0, 0,
286
+ 0, 0, 0, 0, 0, 0, 0, 0,
287
+ 0, 0, 0, 0, 0, 0, 0, 0,
288
+ 0, 0, 0, 0, 0, 0, 0, 0
289
+ ]
290
+
291
+ class << self
292
+ attr_accessor :_lexer_index_offsets
293
+ private :_lexer_index_offsets, :_lexer_index_offsets=
294
+ end
295
+ self._lexer_index_offsets = [
296
+ 0, 0, 19, 21, 23, 41, 43, 45,
297
+ 48, 51, 56, 61, 66, 71, 75, 79,
298
+ 82, 84, 86, 88, 90, 92, 94, 96,
299
+ 98, 100, 102, 104, 106, 108, 110, 112,
300
+ 114, 117, 120, 125, 132, 137, 140, 142,
301
+ 144, 146, 148, 150, 152, 154, 156, 158,
302
+ 160, 175, 178, 181, 184, 187, 190, 193,
303
+ 196, 199, 202, 205, 208, 211, 214, 217,
304
+ 220, 238, 241, 243, 245, 247, 249, 251,
305
+ 253, 255, 257, 259, 261, 263, 278, 281,
306
+ 284, 287, 290, 293, 296, 299, 302, 305,
307
+ 308, 311, 314, 317, 320, 323, 327, 330,
308
+ 333, 336, 339, 342, 345, 348, 351, 354,
309
+ 357, 360, 363, 366, 369, 372, 375, 378,
310
+ 381, 384, 387, 390, 393, 396, 399, 402,
311
+ 405, 408, 411, 414, 417, 420, 423, 426,
312
+ 429, 432, 434, 436, 438, 440, 442, 444,
313
+ 446, 448, 450, 452, 454, 456, 458, 460,
314
+ 462, 464, 466, 473, 476, 479, 482, 485,
315
+ 488, 491, 494, 496, 498, 500, 502, 504,
316
+ 506, 508, 510, 512, 524, 527, 530, 533,
317
+ 536, 539, 542, 545, 548, 551, 554, 557,
318
+ 560, 563, 566, 569, 572, 575, 578, 581,
319
+ 584, 587, 590, 593, 596, 599, 602, 605,
320
+ 608, 611, 614, 617, 620, 623, 626, 629,
321
+ 632, 635, 638, 641, 644, 647, 650, 653,
322
+ 656, 659, 662, 665, 668, 671, 674, 677,
323
+ 680, 682, 684, 686, 688, 690, 692, 694,
324
+ 696, 698, 700, 702, 704, 706, 708, 723,
325
+ 726, 729, 732, 735, 738, 741, 744, 747,
326
+ 750, 753, 756, 759, 762, 765, 768, 772,
327
+ 775, 778, 781, 784, 787, 790, 793, 796,
328
+ 799, 802, 805, 808, 811, 814, 817, 821,
329
+ 824, 827, 830, 833, 836, 839, 842, 845,
330
+ 848, 851, 854, 857, 860, 863, 866, 869,
331
+ 872, 875, 878, 881, 884, 887, 890, 893,
332
+ 896, 899, 902, 904, 908, 914, 918, 921,
333
+ 927, 945, 948, 951, 954, 957, 960, 963,
334
+ 966, 969, 972, 975, 978, 981, 984, 987,
335
+ 990, 993, 996, 999, 1002, 1005, 1008, 1011,
336
+ 1014, 1017, 1020, 1023, 1026, 1029, 1032, 1034
337
+ ]
338
+
339
+ class << self
340
+ attr_accessor :_lexer_indicies
341
+ private :_lexer_indicies, :_lexer_indicies=
342
+ end
343
+ self._lexer_indicies = [
344
+ 1, 3, 2, 4, 5, 6, 7, 8,
345
+ 9, 10, 11, 12, 13, 14, 15, 15,
346
+ 16, 2, 0, 17, 0, 2, 0, 3,
347
+ 2, 4, 5, 6, 7, 8, 9, 10,
348
+ 11, 12, 13, 14, 15, 15, 16, 2,
349
+ 0, 18, 0, 19, 0, 21, 22, 20,
350
+ 24, 25, 23, 28, 27, 29, 27, 26,
351
+ 32, 31, 33, 31, 30, 32, 31, 34,
352
+ 31, 30, 32, 31, 35, 31, 30, 37,
353
+ 36, 36, 0, 3, 38, 38, 0, 40,
354
+ 41, 39, 3, 0, 42, 0, 43, 0,
355
+ 44, 0, 45, 0, 46, 0, 47, 0,
356
+ 48, 0, 49, 0, 50, 0, 51, 0,
357
+ 52, 0, 53, 0, 54, 0, 55, 0,
358
+ 56, 0, 58, 59, 57, 61, 62, 60,
359
+ 0, 0, 0, 0, 63, 64, 65, 64,
360
+ 64, 67, 66, 63, 3, 68, 8, 68,
361
+ 0, 69, 70, 0, 71, 0, 72, 0,
362
+ 73, 0, 74, 0, 75, 0, 76, 0,
363
+ 77, 0, 78, 0, 80, 79, 82, 81,
364
+ 82, 83, 84, 85, 86, 84, 87, 88,
365
+ 89, 90, 91, 92, 92, 83, 81, 82,
366
+ 93, 81, 82, 94, 81, 82, 95, 81,
367
+ 82, 96, 81, 82, 97, 81, 82, 98,
368
+ 81, 82, 99, 81, 82, 100, 81, 82,
369
+ 101, 81, 82, 102, 81, 82, 103, 81,
370
+ 82, 104, 81, 82, 105, 81, 82, 106,
371
+ 81, 82, 107, 81, 109, 108, 110, 111,
372
+ 112, 113, 114, 115, 116, 117, 118, 119,
373
+ 120, 121, 121, 122, 108, 0, 123, 124,
374
+ 0, 125, 0, 126, 0, 127, 0, 128,
375
+ 0, 129, 0, 130, 0, 131, 0, 132,
376
+ 0, 133, 0, 135, 134, 137, 136, 137,
377
+ 138, 139, 140, 141, 139, 142, 143, 144,
378
+ 145, 146, 147, 147, 138, 136, 137, 148,
379
+ 136, 137, 149, 136, 137, 150, 136, 137,
380
+ 151, 136, 137, 152, 136, 137, 153, 136,
381
+ 137, 154, 136, 137, 155, 136, 137, 156,
382
+ 136, 137, 157, 136, 137, 158, 136, 137,
383
+ 159, 136, 137, 160, 136, 137, 161, 136,
384
+ 137, 162, 136, 137, 163, 164, 136, 137,
385
+ 165, 136, 137, 166, 136, 137, 167, 136,
386
+ 137, 168, 136, 137, 169, 136, 137, 170,
387
+ 136, 137, 171, 136, 137, 162, 136, 137,
388
+ 172, 136, 137, 173, 136, 137, 174, 136,
389
+ 137, 175, 136, 137, 176, 136, 137, 177,
390
+ 136, 137, 178, 136, 137, 179, 136, 137,
391
+ 172, 136, 137, 180, 136, 137, 181, 136,
392
+ 137, 182, 136, 137, 183, 136, 137, 184,
393
+ 136, 137, 171, 136, 137, 185, 136, 137,
394
+ 186, 136, 137, 187, 136, 137, 172, 136,
395
+ 137, 188, 136, 137, 189, 136, 137, 190,
396
+ 136, 137, 191, 136, 137, 192, 136, 137,
397
+ 193, 136, 137, 171, 136, 137, 186, 136,
398
+ 194, 0, 195, 0, 196, 0, 197, 0,
399
+ 198, 0, 199, 0, 200, 0, 201, 0,
400
+ 202, 0, 203, 0, 204, 0, 205, 0,
401
+ 206, 0, 207, 0, 208, 0, 210, 209,
402
+ 212, 211, 212, 213, 214, 215, 214, 213,
403
+ 211, 212, 216, 211, 212, 217, 211, 212,
404
+ 218, 211, 212, 219, 211, 212, 220, 211,
405
+ 212, 221, 211, 212, 222, 211, 223, 0,
406
+ 224, 0, 225, 0, 226, 0, 227, 0,
407
+ 228, 0, 229, 0, 231, 230, 233, 232,
408
+ 233, 234, 235, 236, 235, 237, 238, 239,
409
+ 240, 241, 234, 232, 233, 242, 232, 233,
410
+ 243, 232, 233, 244, 232, 233, 245, 232,
411
+ 233, 246, 232, 233, 247, 232, 233, 248,
412
+ 232, 233, 249, 232, 233, 250, 232, 233,
413
+ 251, 232, 233, 252, 232, 233, 253, 232,
414
+ 233, 254, 232, 233, 255, 232, 233, 256,
415
+ 232, 233, 257, 232, 233, 258, 232, 233,
416
+ 259, 232, 233, 260, 232, 233, 261, 232,
417
+ 233, 262, 232, 233, 263, 232, 233, 264,
418
+ 232, 233, 265, 232, 233, 266, 232, 233,
419
+ 267, 232, 233, 268, 232, 233, 269, 232,
420
+ 233, 270, 232, 233, 271, 232, 233, 272,
421
+ 232, 233, 263, 232, 233, 273, 232, 233,
422
+ 274, 232, 233, 275, 232, 233, 276, 232,
423
+ 233, 277, 232, 233, 278, 232, 233, 263,
424
+ 232, 233, 279, 232, 233, 280, 232, 233,
425
+ 281, 232, 233, 282, 232, 233, 283, 232,
426
+ 233, 263, 232, 233, 284, 232, 233, 285,
427
+ 232, 233, 286, 232, 233, 287, 232, 233,
428
+ 288, 232, 233, 289, 232, 233, 263, 232,
429
+ 290, 0, 291, 0, 292, 0, 194, 0,
430
+ 293, 0, 294, 0, 295, 0, 296, 0,
431
+ 297, 0, 298, 0, 299, 0, 300, 0,
432
+ 302, 301, 304, 303, 304, 305, 306, 307,
433
+ 308, 306, 309, 310, 311, 312, 313, 314,
434
+ 314, 305, 303, 304, 315, 303, 304, 316,
435
+ 303, 304, 317, 303, 304, 318, 303, 304,
436
+ 319, 303, 304, 320, 303, 304, 321, 303,
437
+ 304, 322, 303, 304, 323, 303, 304, 324,
438
+ 303, 304, 325, 303, 304, 326, 303, 304,
439
+ 327, 303, 304, 328, 303, 304, 329, 303,
440
+ 304, 330, 331, 303, 304, 332, 303, 304,
441
+ 333, 303, 304, 334, 303, 304, 335, 303,
442
+ 304, 336, 303, 304, 337, 303, 304, 338,
443
+ 303, 304, 329, 303, 304, 339, 303, 304,
444
+ 340, 303, 304, 341, 303, 304, 342, 303,
445
+ 304, 343, 303, 304, 344, 303, 304, 345,
446
+ 303, 304, 346, 347, 303, 304, 348, 303,
447
+ 304, 349, 303, 304, 350, 303, 304, 351,
448
+ 303, 304, 352, 303, 304, 353, 303, 304,
449
+ 354, 303, 304, 338, 303, 304, 339, 303,
450
+ 304, 355, 303, 304, 356, 303, 304, 357,
451
+ 303, 304, 358, 303, 304, 359, 303, 304,
452
+ 338, 303, 304, 360, 303, 304, 361, 303,
453
+ 304, 362, 303, 304, 339, 303, 304, 363,
454
+ 303, 304, 364, 303, 304, 365, 303, 304,
455
+ 366, 303, 304, 367, 303, 304, 368, 303,
456
+ 304, 338, 303, 304, 361, 303, 291, 0,
457
+ 369, 370, 369, 0, 373, 372, 374, 375,
458
+ 372, 371, 0, 377, 378, 376, 0, 377,
459
+ 376, 373, 379, 377, 378, 379, 376, 373,
460
+ 380, 381, 382, 383, 384, 385, 386, 387,
461
+ 388, 389, 390, 391, 392, 392, 393, 380,
462
+ 0, 82, 394, 81, 82, 395, 81, 82,
463
+ 396, 81, 82, 397, 81, 82, 398, 81,
464
+ 82, 399, 81, 82, 400, 81, 82, 401,
465
+ 81, 82, 402, 81, 82, 395, 81, 82,
466
+ 403, 81, 82, 404, 81, 82, 405, 81,
467
+ 82, 406, 81, 82, 407, 81, 82, 408,
468
+ 81, 82, 107, 81, 82, 409, 81, 82,
469
+ 410, 81, 82, 411, 81, 82, 395, 81,
470
+ 82, 412, 81, 82, 413, 81, 82, 414,
471
+ 81, 82, 415, 81, 82, 416, 81, 82,
472
+ 417, 81, 82, 408, 81, 82, 410, 81,
473
+ 194, 0, 418, 0
474
+ ]
475
+
476
+ class << self
477
+ attr_accessor :_lexer_trans_targs
478
+ private :_lexer_trans_targs, :_lexer_trans_targs=
479
+ end
480
+ self._lexer_trans_targs = [
481
+ 0, 2, 4, 4, 5, 15, 17, 31,
482
+ 34, 37, 65, 136, 154, 216, 220, 290,
483
+ 291, 3, 6, 7, 8, 9, 8, 8,
484
+ 9, 8, 10, 10, 10, 11, 10, 10,
485
+ 10, 11, 12, 13, 14, 4, 14, 15,
486
+ 4, 16, 18, 19, 20, 21, 22, 23,
487
+ 24, 25, 26, 27, 28, 29, 30, 327,
488
+ 32, 33, 4, 16, 33, 4, 16, 35,
489
+ 36, 4, 35, 34, 36, 38, 326, 39,
490
+ 40, 41, 42, 43, 44, 45, 46, 47,
491
+ 48, 47, 48, 48, 4, 49, 63, 297,
492
+ 305, 307, 314, 318, 325, 50, 51, 52,
493
+ 53, 54, 55, 56, 57, 58, 59, 60,
494
+ 61, 62, 4, 64, 4, 4, 5, 15,
495
+ 17, 31, 34, 37, 65, 136, 154, 216,
496
+ 220, 290, 291, 66, 129, 67, 68, 69,
497
+ 70, 71, 72, 73, 74, 75, 76, 77,
498
+ 76, 77, 77, 4, 78, 92, 93, 109,
499
+ 111, 117, 121, 128, 79, 80, 81, 82,
500
+ 83, 84, 85, 86, 87, 88, 89, 90,
501
+ 91, 4, 64, 94, 102, 95, 96, 97,
502
+ 98, 99, 100, 101, 103, 104, 105, 106,
503
+ 107, 108, 92, 110, 112, 113, 114, 115,
504
+ 116, 118, 119, 120, 122, 123, 124, 125,
505
+ 126, 127, 130, 131, 132, 133, 134, 135,
506
+ 31, 137, 138, 139, 140, 141, 142, 143,
507
+ 144, 145, 146, 145, 146, 146, 4, 147,
508
+ 148, 149, 150, 151, 152, 153, 64, 155,
509
+ 156, 157, 158, 159, 160, 161, 162, 163,
510
+ 162, 163, 163, 4, 164, 178, 187, 196,
511
+ 203, 209, 165, 166, 167, 168, 169, 170,
512
+ 171, 172, 173, 174, 175, 176, 177, 4,
513
+ 179, 180, 181, 182, 183, 184, 185, 186,
514
+ 64, 188, 189, 190, 191, 192, 193, 194,
515
+ 195, 197, 198, 199, 200, 201, 202, 204,
516
+ 205, 206, 207, 208, 210, 211, 212, 213,
517
+ 214, 215, 217, 218, 219, 221, 222, 223,
518
+ 224, 225, 226, 227, 228, 229, 230, 229,
519
+ 230, 230, 4, 231, 245, 246, 262, 272,
520
+ 278, 282, 289, 232, 233, 234, 235, 236,
521
+ 237, 238, 239, 240, 241, 242, 243, 244,
522
+ 4, 64, 247, 255, 248, 249, 250, 251,
523
+ 252, 253, 254, 256, 257, 258, 259, 260,
524
+ 261, 245, 263, 271, 264, 265, 266, 267,
525
+ 268, 269, 270, 273, 274, 275, 276, 277,
526
+ 279, 280, 281, 283, 284, 285, 286, 287,
527
+ 288, 291, 292, 293, 295, 296, 294, 292,
528
+ 293, 294, 292, 295, 296, 5, 15, 17,
529
+ 31, 34, 37, 65, 136, 154, 216, 220,
530
+ 290, 291, 298, 299, 300, 301, 302, 303,
531
+ 304, 63, 306, 308, 309, 310, 311, 312,
532
+ 313, 315, 316, 317, 319, 320, 321, 322,
533
+ 323, 324, 0
534
+ ]
535
+
536
+ class << self
537
+ attr_accessor :_lexer_trans_actions
538
+ private :_lexer_trans_actions, :_lexer_trans_actions=
539
+ end
540
+ self._lexer_trans_actions = [
541
+ 43, 0, 0, 54, 3, 1, 0, 29,
542
+ 1, 29, 29, 29, 29, 29, 29, 29,
543
+ 35, 0, 0, 0, 7, 139, 48, 0,
544
+ 102, 9, 5, 45, 134, 45, 0, 33,
545
+ 122, 33, 33, 0, 11, 106, 0, 0,
546
+ 114, 25, 0, 0, 0, 0, 0, 0,
547
+ 0, 0, 0, 0, 0, 0, 0, 0,
548
+ 0, 57, 149, 126, 0, 110, 23, 0,
549
+ 27, 118, 27, 51, 0, 0, 0, 0,
550
+ 0, 0, 0, 0, 0, 0, 0, 57,
551
+ 144, 0, 54, 0, 78, 33, 84, 84,
552
+ 84, 84, 84, 84, 84, 0, 0, 0,
553
+ 0, 0, 0, 0, 0, 0, 0, 0,
554
+ 0, 0, 19, 19, 31, 130, 60, 57,
555
+ 31, 63, 57, 63, 63, 63, 63, 63,
556
+ 63, 63, 66, 0, 0, 0, 0, 0,
557
+ 0, 0, 0, 0, 0, 0, 57, 144,
558
+ 0, 54, 0, 72, 33, 84, 84, 84,
559
+ 84, 84, 84, 84, 0, 0, 0, 0,
560
+ 0, 0, 0, 0, 0, 0, 0, 0,
561
+ 0, 15, 15, 0, 0, 0, 0, 0,
562
+ 0, 0, 0, 0, 0, 0, 0, 0,
563
+ 0, 0, 0, 0, 0, 0, 0, 0,
564
+ 0, 0, 0, 0, 0, 0, 0, 0,
565
+ 0, 0, 0, 0, 0, 0, 0, 0,
566
+ 0, 0, 0, 0, 0, 0, 0, 0,
567
+ 0, 57, 144, 0, 54, 0, 81, 84,
568
+ 0, 0, 0, 0, 0, 0, 21, 0,
569
+ 0, 0, 0, 0, 0, 0, 57, 144,
570
+ 0, 54, 0, 69, 33, 84, 84, 84,
571
+ 84, 84, 0, 0, 0, 0, 0, 0,
572
+ 0, 0, 0, 0, 0, 0, 0, 13,
573
+ 0, 0, 0, 0, 0, 0, 0, 0,
574
+ 13, 0, 0, 0, 0, 0, 0, 0,
575
+ 0, 0, 0, 0, 0, 0, 0, 0,
576
+ 0, 0, 0, 0, 0, 0, 0, 0,
577
+ 0, 0, 0, 0, 0, 0, 0, 0,
578
+ 0, 0, 0, 0, 0, 57, 144, 0,
579
+ 54, 0, 75, 33, 84, 84, 84, 84,
580
+ 84, 84, 84, 0, 0, 0, 0, 0,
581
+ 0, 0, 0, 0, 0, 0, 0, 0,
582
+ 17, 17, 0, 0, 0, 0, 0, 0,
583
+ 0, 0, 0, 0, 0, 0, 0, 0,
584
+ 0, 0, 0, 0, 0, 0, 0, 0,
585
+ 0, 0, 0, 0, 0, 0, 0, 0,
586
+ 0, 0, 0, 0, 0, 0, 0, 0,
587
+ 0, 0, 0, 37, 37, 54, 37, 87,
588
+ 0, 0, 39, 0, 0, 93, 90, 41,
589
+ 96, 90, 96, 96, 96, 96, 96, 96,
590
+ 96, 99, 0, 0, 0, 0, 0, 0,
591
+ 0, 0, 0, 0, 0, 0, 0, 0,
592
+ 0, 0, 0, 0, 0, 0, 0, 0,
593
+ 0, 0, 0
594
+ ]
595
+
596
+ class << self
597
+ attr_accessor :_lexer_eof_actions
598
+ private :_lexer_eof_actions, :_lexer_eof_actions=
599
+ end
600
+ self._lexer_eof_actions = [
601
+ 0, 43, 43, 43, 43, 43, 43, 43,
602
+ 43, 43, 43, 43, 43, 43, 43, 43,
603
+ 43, 43, 43, 43, 43, 43, 43, 43,
604
+ 43, 43, 43, 43, 43, 43, 43, 43,
605
+ 43, 43, 43, 43, 43, 43, 43, 43,
606
+ 43, 43, 43, 43, 43, 43, 43, 43,
607
+ 43, 43, 43, 43, 43, 43, 43, 43,
608
+ 43, 43, 43, 43, 43, 43, 43, 43,
609
+ 43, 43, 43, 43, 43, 43, 43, 43,
610
+ 43, 43, 43, 43, 43, 43, 43, 43,
611
+ 43, 43, 43, 43, 43, 43, 43, 43,
612
+ 43, 43, 43, 43, 43, 43, 43, 43,
613
+ 43, 43, 43, 43, 43, 43, 43, 43,
614
+ 43, 43, 43, 43, 43, 43, 43, 43,
615
+ 43, 43, 43, 43, 43, 43, 43, 43,
616
+ 43, 43, 43, 43, 43, 43, 43, 43,
617
+ 43, 43, 43, 43, 43, 43, 43, 43,
618
+ 43, 43, 43, 43, 43, 43, 43, 43,
619
+ 43, 43, 43, 43, 43, 43, 43, 43,
620
+ 43, 43, 43, 43, 43, 43, 43, 43,
621
+ 43, 43, 43, 43, 43, 43, 43, 43,
622
+ 43, 43, 43, 43, 43, 43, 43, 43,
623
+ 43, 43, 43, 43, 43, 43, 43, 43,
624
+ 43, 43, 43, 43, 43, 43, 43, 43,
625
+ 43, 43, 43, 43, 43, 43, 43, 43,
626
+ 43, 43, 43, 43, 43, 43, 43, 43,
627
+ 43, 43, 43, 43, 43, 43, 43, 43,
628
+ 43, 43, 43, 43, 43, 43, 43, 43,
629
+ 43, 43, 43, 43, 43, 43, 43, 43,
630
+ 43, 43, 43, 43, 43, 43, 43, 43,
631
+ 43, 43, 43, 43, 43, 43, 43, 43,
632
+ 43, 43, 43, 43, 43, 43, 43, 43,
633
+ 43, 43, 43, 43, 43, 43, 43, 43,
634
+ 43, 43, 43, 43, 43, 43, 43, 43,
635
+ 43, 43, 43, 43, 43, 43, 43, 43,
636
+ 43, 43, 43, 43, 43, 43, 43, 43,
637
+ 43, 43, 43, 43, 43, 43, 43, 43,
638
+ 43, 43, 43, 43, 43, 43, 43, 43,
639
+ 43, 43, 43, 43, 43, 43, 43, 43,
640
+ 43, 43, 43, 43, 43, 43, 43, 43,
641
+ 43, 43, 43, 43, 43, 43, 43, 43
642
+ ]
643
+
644
+ class << self
645
+ attr_accessor :lexer_start
646
+ end
647
+ self.lexer_start = 1;
648
+ class << self
649
+ attr_accessor :lexer_first_final
650
+ end
651
+ self.lexer_first_final = 327;
652
+ class << self
653
+ attr_accessor :lexer_error
654
+ end
655
+ self.lexer_error = 0;
656
+
657
+ class << self
658
+ attr_accessor :lexer_en_main
659
+ end
660
+ self.lexer_en_main = 1;
659
661
 
660
- # line 130 "ragel/i18n/en_tx.rb.rl"
662
+
663
+ # line 133 "ragel/i18n/en_tx.rb.rl"
661
664
  end
662
-
665
+
663
666
  def scan(data)
664
667
  data = (data + "\n%_FEATURE_END_%").unpack("c*") # Explicit EOF simplifies things considerably
665
668
  eof = pe = data.length
666
-
669
+
667
670
  @line_number = 1
668
671
  @last_newline = 0
669
-
670
-
671
- # line 672 "lib/gherkin/lexer/en_tx.rb"
672
- begin
673
- p ||= 0
674
- pe ||= data.length
675
- cs = lexer_start
676
- end
677
672
 
678
- # line 140 "ragel/i18n/en_tx.rb.rl"
679
-
680
- # line 681 "lib/gherkin/lexer/en_tx.rb"
681
- begin
682
- _klen, _trans, _keys, _acts, _nacts = nil
683
- _goto_level = 0
684
- _resume = 10
685
- _eof_trans = 15
686
- _again = 20
687
- _test_eof = 30
688
- _out = 40
689
- while true
690
- _trigger_goto = false
691
- if _goto_level <= 0
692
- if p == pe
693
- _goto_level = _test_eof
694
- next
695
- end
696
- if cs == 0
697
- _goto_level = _out
698
- next
699
- end
700
- end
701
- if _goto_level <= _resume
702
- _keys = _lexer_key_offsets[cs]
703
- _trans = _lexer_index_offsets[cs]
704
- _klen = _lexer_single_lengths[cs]
705
- _break_match = false
706
-
707
- begin
708
- if _klen > 0
709
- _lower = _keys
710
- _upper = _keys + _klen - 1
711
-
712
- loop do
713
- break if _upper < _lower
714
- _mid = _lower + ( (_upper - _lower) >> 1 )
715
-
716
- if data[p].ord < _lexer_trans_keys[_mid]
717
- _upper = _mid - 1
718
- elsif data[p].ord > _lexer_trans_keys[_mid]
719
- _lower = _mid + 1
720
- else
721
- _trans += (_mid - _keys)
722
- _break_match = true
723
- break
724
- end
725
- end # loop
726
- break if _break_match
727
- _keys += _klen
728
- _trans += _klen
729
- end
730
- _klen = _lexer_range_lengths[cs]
731
- if _klen > 0
732
- _lower = _keys
733
- _upper = _keys + (_klen << 1) - 2
734
- loop do
735
- break if _upper < _lower
736
- _mid = _lower + (((_upper-_lower) >> 1) & ~1)
737
- if data[p].ord < _lexer_trans_keys[_mid]
738
- _upper = _mid - 2
739
- elsif data[p].ord > _lexer_trans_keys[_mid+1]
740
- _lower = _mid + 2
741
- else
742
- _trans += ((_mid - _keys) >> 1)
743
- _break_match = true
744
- break
745
- end
746
- end # loop
747
- break if _break_match
748
- _trans += _klen
749
- end
750
- end while false
751
- _trans = _lexer_indicies[_trans]
752
- cs = _lexer_trans_targs[_trans]
753
- if _lexer_trans_actions[_trans] != 0
754
- _acts = _lexer_trans_actions[_trans]
755
- _nacts = _lexer_actions[_acts]
756
- _acts += 1
757
- while _nacts > 0
758
- _nacts -= 1
759
- _acts += 1
760
- case _lexer_actions[_acts - 1]
761
- when 0 then
762
- # line 11 "ragel/i18n/en_tx.rb.rl"
763
- begin
764
-
765
- @content_start = p
766
- @current_line = @line_number
767
- @start_col = p - @last_newline - "#{@keyword}:".length
768
- end
769
- when 1 then
770
- # line 17 "ragel/i18n/en_tx.rb.rl"
771
- begin
772
-
773
- @current_line = @line_number
774
- @start_col = p - @last_newline
775
- end
776
- when 2 then
777
- # line 22 "ragel/i18n/en_tx.rb.rl"
778
- begin
779
-
780
- @content_start = p
781
- end
782
- when 3 then
783
- # line 26 "ragel/i18n/en_tx.rb.rl"
784
- begin
785
-
786
- @docstring_content_type_start = p
787
- end
788
- when 4 then
789
- # line 29 "ragel/i18n/en_tx.rb.rl"
790
- begin
791
-
792
- @docstring_content_type_end = p
793
- end
794
- when 5 then
795
- # line 33 "ragel/i18n/en_tx.rb.rl"
796
- begin
797
-
798
- con = unindent(@start_col, utf8_pack(data[@content_start...@next_keyword_start-1]).sub(/(\r?\n)?([\t ])*\Z/, '').gsub(/\\"\\"\\"/, '"""'))
799
- con_type = utf8_pack(data[@docstring_content_type_start...@docstring_content_type_end]).strip
800
- @listener.doc_string(con_type, con, @current_line)
801
- end
802
- when 6 then
803
- # line 38 "ragel/i18n/en_tx.rb.rl"
804
- begin
805
-
806
- p = store_keyword_content(:feature, data, p, eof)
807
- end
808
- when 7 then
809
- # line 42 "ragel/i18n/en_tx.rb.rl"
810
- begin
811
-
812
- p = store_keyword_content(:background, data, p, eof)
813
- end
814
- when 8 then
815
- # line 46 "ragel/i18n/en_tx.rb.rl"
816
- begin
817
-
818
- p = store_keyword_content(:scenario, data, p, eof)
819
- end
820
- when 9 then
821
- # line 50 "ragel/i18n/en_tx.rb.rl"
822
- begin
823
-
824
- p = store_keyword_content(:scenario_outline, data, p, eof)
825
- end
826
- when 10 then
827
- # line 54 "ragel/i18n/en_tx.rb.rl"
828
- begin
829
-
830
- p = store_keyword_content(:examples, data, p, eof)
831
- end
832
- when 11 then
833
- # line 58 "ragel/i18n/en_tx.rb.rl"
834
- begin
835
-
836
- con = utf8_pack(data[@content_start...p]).strip
837
- @listener.step(@keyword, con, @current_line)
838
- end
839
- when 12 then
840
- # line 63 "ragel/i18n/en_tx.rb.rl"
841
- begin
842
-
843
- con = utf8_pack(data[@content_start...p]).strip
844
- @listener.comment(con, @line_number)
845
- @keyword_start = nil
846
- end
847
- when 13 then
848
- # line 69 "ragel/i18n/en_tx.rb.rl"
849
- begin
850
-
851
- con = utf8_pack(data[@content_start...p]).strip
852
- @listener.tag(con, @current_line)
853
- @keyword_start = nil
854
- end
855
- when 14 then
856
- # line 75 "ragel/i18n/en_tx.rb.rl"
857
- begin
858
-
859
- @line_number += 1
860
- end
861
- when 15 then
862
- # line 79 "ragel/i18n/en_tx.rb.rl"
863
- begin
864
-
865
- @last_newline = p + 1
866
- end
867
- when 16 then
868
- # line 83 "ragel/i18n/en_tx.rb.rl"
869
- begin
870
-
871
- @keyword_start ||= p
872
- end
873
- when 17 then
874
- # line 87 "ragel/i18n/en_tx.rb.rl"
875
- begin
876
-
877
- @keyword = utf8_pack(data[@keyword_start...p]).sub(/:$/,'')
878
- @keyword_start = nil
879
- end
880
- when 18 then
881
- # line 92 "ragel/i18n/en_tx.rb.rl"
882
- begin
883
-
884
- @next_keyword_start = p
885
- end
886
- when 19 then
887
- # line 96 "ragel/i18n/en_tx.rb.rl"
888
- begin
889
-
890
- p = p - 1
891
- current_row = []
892
- @current_line = @line_number
893
- end
894
- when 20 then
895
- # line 102 "ragel/i18n/en_tx.rb.rl"
896
- begin
897
-
898
- @content_start = p
899
- end
900
- when 21 then
901
- # line 106 "ragel/i18n/en_tx.rb.rl"
902
- begin
903
-
904
- con = utf8_pack(data[@content_start...p]).strip
905
- current_row << con.gsub(/\\\|/, "|").gsub(/\\n/, "\n").gsub(/\\\\/, "\\")
906
- end
907
- when 22 then
908
- # line 111 "ragel/i18n/en_tx.rb.rl"
909
- begin
910
-
911
- @listener.row(current_row, @current_line)
912
- end
913
- when 23 then
914
- # line 115 "ragel/i18n/en_tx.rb.rl"
915
- begin
916
-
917
- if cs < lexer_first_final
918
- content = current_line_content(data, p)
919
- raise Gherkin::Lexer::LexingError.new("Lexing error on line %d: '%s'. See http://wiki.github.com/cucumber/gherkin/lexingerror for more information." % [@line_number, content])
920
- else
921
- @listener.eof
922
- end
923
- end
924
- # line 925 "lib/gherkin/lexer/en_tx.rb"
925
- end # action switch
926
- end
927
- end
928
- if _trigger_goto
929
- next
930
- end
931
- end
932
- if _goto_level <= _again
933
- if cs == 0
934
- _goto_level = _out
935
- next
936
- end
937
- p += 1
938
- if p != pe
939
- _goto_level = _resume
940
- next
941
- end
942
- end
943
- if _goto_level <= _test_eof
944
- if p == eof
945
- __acts = _lexer_eof_actions[cs]
946
- __nacts = _lexer_actions[__acts]
947
- __acts += 1
948
- while __nacts > 0
949
- __nacts -= 1
950
- __acts += 1
951
- case _lexer_actions[__acts - 1]
952
- when 23 then
953
- # line 115 "ragel/i18n/en_tx.rb.rl"
954
- begin
955
-
956
- if cs < lexer_first_final
957
- content = current_line_content(data, p)
958
- raise Gherkin::Lexer::LexingError.new("Lexing error on line %d: '%s'. See http://wiki.github.com/cucumber/gherkin/lexingerror for more information." % [@line_number, content])
959
- else
960
- @listener.eof
673
+
674
+ # line 675 "lib/gherkin/lexer/en_tx.rb"
675
+ begin
676
+ p ||= 0
677
+ pe ||= data.length
678
+ cs = lexer_start
679
+ end
680
+
681
+ # line 143 "ragel/i18n/en_tx.rb.rl"
682
+
683
+ # line 684 "lib/gherkin/lexer/en_tx.rb"
684
+ begin
685
+ _klen, _trans, _keys, _acts, _nacts = nil
686
+ _goto_level = 0
687
+ _resume = 10
688
+ _eof_trans = 15
689
+ _again = 20
690
+ _test_eof = 30
691
+ _out = 40
692
+ while true
693
+ _trigger_goto = false
694
+ if _goto_level <= 0
695
+ if p == pe
696
+ _goto_level = _test_eof
697
+ next
698
+ end
699
+ if cs == 0
700
+ _goto_level = _out
701
+ next
702
+ end
703
+ end
704
+ if _goto_level <= _resume
705
+ _keys = _lexer_key_offsets[cs]
706
+ _trans = _lexer_index_offsets[cs]
707
+ _klen = _lexer_single_lengths[cs]
708
+ _break_match = false
709
+
710
+ begin
711
+ if _klen > 0
712
+ _lower = _keys
713
+ _upper = _keys + _klen - 1
714
+
715
+ loop do
716
+ break if _upper < _lower
717
+ _mid = _lower + ( (_upper - _lower) >> 1 )
718
+
719
+ if data[p].ord < _lexer_trans_keys[_mid]
720
+ _upper = _mid - 1
721
+ elsif data[p].ord > _lexer_trans_keys[_mid]
722
+ _lower = _mid + 1
723
+ else
724
+ _trans += (_mid - _keys)
725
+ _break_match = true
726
+ break
727
+ end
728
+ end # loop
729
+ break if _break_match
730
+ _keys += _klen
731
+ _trans += _klen
732
+ end
733
+ _klen = _lexer_range_lengths[cs]
734
+ if _klen > 0
735
+ _lower = _keys
736
+ _upper = _keys + (_klen << 1) - 2
737
+ loop do
738
+ break if _upper < _lower
739
+ _mid = _lower + (((_upper-_lower) >> 1) & ~1)
740
+ if data[p].ord < _lexer_trans_keys[_mid]
741
+ _upper = _mid - 2
742
+ elsif data[p].ord > _lexer_trans_keys[_mid+1]
743
+ _lower = _mid + 2
744
+ else
745
+ _trans += ((_mid - _keys) >> 1)
746
+ _break_match = true
747
+ break
748
+ end
749
+ end # loop
750
+ break if _break_match
751
+ _trans += _klen
752
+ end
753
+ end while false
754
+ _trans = _lexer_indicies[_trans]
755
+ cs = _lexer_trans_targs[_trans]
756
+ if _lexer_trans_actions[_trans] != 0
757
+ _acts = _lexer_trans_actions[_trans]
758
+ _nacts = _lexer_actions[_acts]
759
+ _acts += 1
760
+ while _nacts > 0
761
+ _nacts -= 1
762
+ _acts += 1
763
+ case _lexer_actions[_acts - 1]
764
+ when 0 then
765
+ # line 11 "ragel/i18n/en_tx.rb.rl"
766
+ begin
767
+
768
+ @content_start = p
769
+ @current_line = @line_number
770
+ @start_col = p - @last_newline - "#{@keyword}:".length
771
+ end
772
+ when 1 then
773
+ # line 17 "ragel/i18n/en_tx.rb.rl"
774
+ begin
775
+
776
+ @current_line = @line_number
777
+ @start_col = p - @last_newline
778
+ end
779
+ when 2 then
780
+ # line 22 "ragel/i18n/en_tx.rb.rl"
781
+ begin
782
+
783
+ @content_start = p
784
+ end
785
+ when 3 then
786
+ # line 26 "ragel/i18n/en_tx.rb.rl"
787
+ begin
788
+
789
+ @docstring_content_type_start = p
790
+ end
791
+ when 4 then
792
+ # line 29 "ragel/i18n/en_tx.rb.rl"
793
+ begin
794
+
795
+ @docstring_content_type_end = p
796
+ end
797
+ when 5 then
798
+ # line 33 "ragel/i18n/en_tx.rb.rl"
799
+ begin
800
+
801
+ con = unindent(@start_col, utf8_pack(data[@content_start...@next_keyword_start-1]).sub(/(\r?\n)?([\t ])*\Z/, '').gsub(/\\"\\"\\"/, '"""'))
802
+ con_type = utf8_pack(data[@docstring_content_type_start...@docstring_content_type_end]).strip
803
+ @listener.doc_string(con_type, con, @current_line)
804
+ end
805
+ when 6 then
806
+ # line 38 "ragel/i18n/en_tx.rb.rl"
807
+ begin
808
+
809
+ p = store_keyword_content(:feature, data, p, eof)
810
+ end
811
+ when 7 then
812
+ # line 42 "ragel/i18n/en_tx.rb.rl"
813
+ begin
814
+
815
+ p = store_keyword_content(:background, data, p, eof)
816
+ end
817
+ when 8 then
818
+ # line 46 "ragel/i18n/en_tx.rb.rl"
819
+ begin
820
+
821
+ p = store_keyword_content(:scenario, data, p, eof)
822
+ end
823
+ when 9 then
824
+ # line 50 "ragel/i18n/en_tx.rb.rl"
825
+ begin
826
+
827
+ p = store_keyword_content(:scenario_outline, data, p, eof)
828
+ end
829
+ when 10 then
830
+ # line 54 "ragel/i18n/en_tx.rb.rl"
831
+ begin
832
+
833
+ p = store_keyword_content(:examples, data, p, eof)
834
+ end
835
+ when 11 then
836
+ # line 58 "ragel/i18n/en_tx.rb.rl"
837
+ begin
838
+
839
+ con = utf8_pack(data[@content_start...p]).strip
840
+ @listener.step(@keyword, con, @current_line)
841
+ end
842
+ when 12 then
843
+ # line 63 "ragel/i18n/en_tx.rb.rl"
844
+ begin
845
+
846
+ con = utf8_pack(data[@content_start...p]).strip
847
+ @listener.comment(con, @line_number)
848
+ @keyword_start = nil
849
+ end
850
+ when 13 then
851
+ # line 69 "ragel/i18n/en_tx.rb.rl"
852
+ begin
853
+
854
+ con = utf8_pack(data[@content_start...p]).strip
855
+ @listener.tag(con, @current_line)
856
+ @keyword_start = nil
857
+ end
858
+ when 14 then
859
+ # line 75 "ragel/i18n/en_tx.rb.rl"
860
+ begin
861
+
862
+ @line_number += 1
863
+ end
864
+ when 15 then
865
+ # line 79 "ragel/i18n/en_tx.rb.rl"
866
+ begin
867
+
868
+ @last_newline = p + 1
869
+ end
870
+ when 16 then
871
+ # line 83 "ragel/i18n/en_tx.rb.rl"
872
+ begin
873
+
874
+ @keyword_start ||= p
875
+ end
876
+ when 17 then
877
+ # line 87 "ragel/i18n/en_tx.rb.rl"
878
+ begin
879
+
880
+ @keyword = utf8_pack(data[@keyword_start...p]).sub(/:$/,'')
881
+ @keyword_start = nil
882
+ end
883
+ when 18 then
884
+ # line 92 "ragel/i18n/en_tx.rb.rl"
885
+ begin
886
+
887
+ @next_keyword_start = p
888
+ end
889
+ when 19 then
890
+ # line 96 "ragel/i18n/en_tx.rb.rl"
891
+ begin
892
+
893
+ p = p - 1
894
+ current_row = []
895
+ @current_line = @line_number
896
+ end
897
+ when 20 then
898
+ # line 102 "ragel/i18n/en_tx.rb.rl"
899
+ begin
900
+
901
+ @content_start = p
902
+ end
903
+ when 21 then
904
+ # line 106 "ragel/i18n/en_tx.rb.rl"
905
+ begin
906
+
907
+ con = utf8_pack(data[@content_start...p]).strip
908
+ current_row << con.gsub(/\\\|/, "|").gsub(/\\n/, "\n").gsub(/\\\\/, "\\")
909
+ end
910
+ when 22 then
911
+ # line 111 "ragel/i18n/en_tx.rb.rl"
912
+ begin
913
+
914
+ @listener.row(current_row, @current_line)
915
+ end
916
+ when 23 then
917
+ # line 115 "ragel/i18n/en_tx.rb.rl"
918
+ begin
919
+
920
+ if cs < lexer_first_final
921
+ content = current_line_content(data, p)
922
+ raise Gherkin::Lexer::LexingError.new("Lexing error on line %d: '%s'. See http://wiki.github.com/cucumber/gherkin/lexingerror for more information." % [@line_number, content])
923
+ else
924
+ @listener.eof
925
+ end
926
+ end
927
+ # line 928 "lib/gherkin/lexer/en_tx.rb"
928
+ end # action switch
929
+ end
930
+ end
931
+ if _trigger_goto
932
+ next
933
+ end
934
+ end
935
+ if _goto_level <= _again
936
+ if cs == 0
937
+ _goto_level = _out
938
+ next
939
+ end
940
+ p += 1
941
+ if p != pe
942
+ _goto_level = _resume
943
+ next
944
+ end
945
+ end
946
+ if _goto_level <= _test_eof
947
+ if p == eof
948
+ __acts = _lexer_eof_actions[cs]
949
+ __nacts = _lexer_actions[__acts]
950
+ __acts += 1
951
+ while __nacts > 0
952
+ __nacts -= 1
953
+ __acts += 1
954
+ case _lexer_actions[__acts - 1]
955
+ when 23 then
956
+ # line 115 "ragel/i18n/en_tx.rb.rl"
957
+ begin
958
+
959
+ if cs < lexer_first_final
960
+ content = current_line_content(data, p)
961
+ raise Gherkin::Lexer::LexingError.new("Lexing error on line %d: '%s'. See http://wiki.github.com/cucumber/gherkin/lexingerror for more information." % [@line_number, content])
962
+ else
963
+ @listener.eof
964
+ end
965
+ end
966
+ # line 967 "lib/gherkin/lexer/en_tx.rb"
967
+ end # eof action switch
968
+ end
969
+ if _trigger_goto
970
+ next
971
+ end
972
+ end
973
+ end
974
+ if _goto_level <= _out
975
+ break
976
+ end
961
977
  end
962
- end
963
- # line 964 "lib/gherkin/lexer/en_tx.rb"
964
- end # eof action switch
965
- end
966
- if _trigger_goto
967
- next
968
- end
969
- end
970
- end
971
- if _goto_level <= _out
972
- break
973
- end
974
- end
975
- end
976
-
977
- # line 141 "ragel/i18n/en_tx.rb.rl"
978
+ end
979
+
980
+ # line 144 "ragel/i18n/en_tx.rb.rl"
978
981
  end
979
982
 
980
983
  def unindent(startcol, text)
@@ -993,7 +996,7 @@ end
993
996
  ensure
994
997
  @next_keyword_start = nil
995
998
  end
996
-
999
+
997
1000
  def current_line_content(data, p)
998
1001
  rest = data[@last_newline..-1]
999
1002
  utf8_pack(rest[0..rest.index(10)||-1]).strip # 10 is \n