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