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