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