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