gherkin 2.12.2 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (333) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -15
  3. data/CONTRIBUTING.md +23 -0
  4. data/Gemfile +0 -3
  5. data/LICENSE +18 -17
  6. data/Makefile +65 -0
  7. data/README.md +9 -268
  8. data/Rakefile +17 -19
  9. data/bin/gherkin-generate-ast +21 -0
  10. data/bin/gherkin-generate-pickles +25 -0
  11. data/bin/gherkin-generate-tokens +12 -0
  12. data/gherkin-ruby.razor +218 -0
  13. data/gherkin.gemspec +22 -76
  14. data/lib/gherkin/ast_builder.rb +243 -0
  15. data/lib/gherkin/ast_node.rb +30 -0
  16. data/lib/gherkin/dialect.rb +58 -0
  17. data/lib/gherkin/errors.rb +45 -0
  18. data/lib/gherkin/gherkin-languages.json +2968 -0
  19. data/lib/gherkin/gherkin_line.rb +95 -0
  20. data/lib/gherkin/parser.rb +1910 -0
  21. data/lib/gherkin/pickles/compiler.rb +164 -0
  22. data/lib/gherkin/token.rb +18 -0
  23. data/lib/gherkin/token_formatter_builder.rb +39 -0
  24. data/lib/gherkin/token_matcher.rb +169 -0
  25. data/lib/gherkin/token_scanner.rb +40 -0
  26. data/spec/capture_warnings.rb +68 -0
  27. data/spec/coverage.rb +10 -0
  28. data/spec/gherkin/parser_spec.rb +146 -0
  29. metadata +60 -567
  30. data/.gitattributes +0 -2
  31. data/.mailmap +0 -2
  32. data/.rbenv-gemsets +0 -1
  33. data/.rspec +0 -1
  34. data/.ruby-gemset +0 -1
  35. data/.ruby-version +0 -1
  36. data/.yardopts +0 -5
  37. data/History.md +0 -881
  38. data/build_native_gems.sh +0 -7
  39. data/cucumber.yml +0 -5
  40. data/examples/parse_and_output_json.rb +0 -19
  41. data/ext/gherkin_lexer_ar/extconf.rb +0 -6
  42. data/ext/gherkin_lexer_ar/gherkin_lexer_ar.c +0 -1432
  43. data/ext/gherkin_lexer_bg/extconf.rb +0 -6
  44. data/ext/gherkin_lexer_bg/gherkin_lexer_bg.c +0 -1655
  45. data/ext/gherkin_lexer_bm/extconf.rb +0 -6
  46. data/ext/gherkin_lexer_bm/gherkin_lexer_bm.c +0 -1516
  47. data/ext/gherkin_lexer_ca/extconf.rb +0 -6
  48. data/ext/gherkin_lexer_ca/gherkin_lexer_ca.c +0 -1581
  49. data/ext/gherkin_lexer_cs/extconf.rb +0 -6
  50. data/ext/gherkin_lexer_cs/gherkin_lexer_cs.c +0 -1515
  51. data/ext/gherkin_lexer_cy_gb/extconf.rb +0 -6
  52. data/ext/gherkin_lexer_cy_gb/gherkin_lexer_cy_gb.c +0 -1282
  53. data/ext/gherkin_lexer_da/extconf.rb +0 -6
  54. data/ext/gherkin_lexer_da/gherkin_lexer_da.c +0 -1298
  55. data/ext/gherkin_lexer_de/extconf.rb +0 -6
  56. data/ext/gherkin_lexer_de/gherkin_lexer_de.c +0 -1425
  57. data/ext/gherkin_lexer_el/extconf.rb +0 -6
  58. data/ext/gherkin_lexer_el/gherkin_lexer_el.c +0 -1919
  59. data/ext/gherkin_lexer_en/extconf.rb +0 -6
  60. data/ext/gherkin_lexer_en/gherkin_lexer_en.c +0 -1418
  61. data/ext/gherkin_lexer_en_au/extconf.rb +0 -6
  62. data/ext/gherkin_lexer_en_au/gherkin_lexer_en_au.c +0 -1765
  63. data/ext/gherkin_lexer_en_lol/extconf.rb +0 -6
  64. data/ext/gherkin_lexer_en_lol/gherkin_lexer_en_lol.c +0 -1177
  65. data/ext/gherkin_lexer_en_old/extconf.rb +0 -6
  66. data/ext/gherkin_lexer_en_old/gherkin_lexer_en_old.c +0 -1309
  67. data/ext/gherkin_lexer_en_pirate/extconf.rb +0 -6
  68. data/ext/gherkin_lexer_en_pirate/gherkin_lexer_en_pirate.c +0 -1471
  69. data/ext/gherkin_lexer_en_scouse/extconf.rb +0 -6
  70. data/ext/gherkin_lexer_en_scouse/gherkin_lexer_en_scouse.c +0 -1634
  71. data/ext/gherkin_lexer_en_tx/extconf.rb +0 -6
  72. data/ext/gherkin_lexer_en_tx/gherkin_lexer_en_tx.c +0 -1265
  73. data/ext/gherkin_lexer_eo/extconf.rb +0 -6
  74. data/ext/gherkin_lexer_eo/gherkin_lexer_eo.c +0 -1241
  75. data/ext/gherkin_lexer_es/extconf.rb +0 -6
  76. data/ext/gherkin_lexer_es/gherkin_lexer_es.c +0 -1399
  77. data/ext/gherkin_lexer_et/extconf.rb +0 -6
  78. data/ext/gherkin_lexer_et/gherkin_lexer_et.c +0 -1236
  79. data/ext/gherkin_lexer_fa/extconf.rb +0 -6
  80. data/ext/gherkin_lexer_fa/gherkin_lexer_fa.c +0 -1475
  81. data/ext/gherkin_lexer_fi/extconf.rb +0 -6
  82. data/ext/gherkin_lexer_fi/gherkin_lexer_fi.c +0 -1215
  83. data/ext/gherkin_lexer_fr/extconf.rb +0 -6
  84. data/ext/gherkin_lexer_fr/gherkin_lexer_fr.c +0 -1493
  85. data/ext/gherkin_lexer_gl/extconf.rb +0 -6
  86. data/ext/gherkin_lexer_gl/gherkin_lexer_gl.c +0 -1374
  87. data/ext/gherkin_lexer_he/extconf.rb +0 -6
  88. data/ext/gherkin_lexer_he/gherkin_lexer_he.c +0 -1374
  89. data/ext/gherkin_lexer_hi/extconf.rb +0 -6
  90. data/ext/gherkin_lexer_hi/gherkin_lexer_hi.c +0 -1848
  91. data/ext/gherkin_lexer_hr/extconf.rb +0 -6
  92. data/ext/gherkin_lexer_hr/gherkin_lexer_hr.c +0 -1323
  93. data/ext/gherkin_lexer_hu/extconf.rb +0 -6
  94. data/ext/gherkin_lexer_hu/gherkin_lexer_hu.c +0 -1376
  95. data/ext/gherkin_lexer_id/extconf.rb +0 -6
  96. data/ext/gherkin_lexer_id/gherkin_lexer_id.c +0 -1208
  97. data/ext/gherkin_lexer_is/extconf.rb +0 -6
  98. data/ext/gherkin_lexer_is/gherkin_lexer_is.c +0 -1376
  99. data/ext/gherkin_lexer_it/extconf.rb +0 -6
  100. data/ext/gherkin_lexer_it/gherkin_lexer_it.c +0 -1340
  101. data/ext/gherkin_lexer_ja/extconf.rb +0 -6
  102. data/ext/gherkin_lexer_ja/gherkin_lexer_ja.c +0 -1699
  103. data/ext/gherkin_lexer_kn/extconf.rb +0 -6
  104. data/ext/gherkin_lexer_kn/gherkin_lexer_kn.c +0 -1965
  105. data/ext/gherkin_lexer_ko/extconf.rb +0 -6
  106. data/ext/gherkin_lexer_ko/gherkin_lexer_ko.c +0 -1360
  107. data/ext/gherkin_lexer_lt/extconf.rb +0 -6
  108. data/ext/gherkin_lexer_lt/gherkin_lexer_lt.c +0 -1296
  109. data/ext/gherkin_lexer_lu/extconf.rb +0 -6
  110. data/ext/gherkin_lexer_lu/gherkin_lexer_lu.c +0 -1389
  111. data/ext/gherkin_lexer_lv/extconf.rb +0 -6
  112. data/ext/gherkin_lexer_lv/gherkin_lexer_lv.c +0 -1425
  113. data/ext/gherkin_lexer_nl/extconf.rb +0 -6
  114. data/ext/gherkin_lexer_nl/gherkin_lexer_nl.c +0 -1368
  115. data/ext/gherkin_lexer_no/extconf.rb +0 -6
  116. data/ext/gherkin_lexer_no/gherkin_lexer_no.c +0 -1311
  117. data/ext/gherkin_lexer_pa/extconf.rb +0 -6
  118. data/ext/gherkin_lexer_pa/gherkin_lexer_pa.c +0 -2160
  119. data/ext/gherkin_lexer_pl/extconf.rb +0 -6
  120. data/ext/gherkin_lexer_pl/gherkin_lexer_pl.c +0 -1738
  121. data/ext/gherkin_lexer_pt/extconf.rb +0 -6
  122. data/ext/gherkin_lexer_pt/gherkin_lexer_pt.c +0 -1711
  123. data/ext/gherkin_lexer_ro/extconf.rb +0 -6
  124. data/ext/gherkin_lexer_ro/gherkin_lexer_ro.c +0 -1427
  125. data/ext/gherkin_lexer_ru/extconf.rb +0 -6
  126. data/ext/gherkin_lexer_ru/gherkin_lexer_ru.c +0 -2071
  127. data/ext/gherkin_lexer_sk/extconf.rb +0 -6
  128. data/ext/gherkin_lexer_sk/gherkin_lexer_sk.c +0 -1739
  129. data/ext/gherkin_lexer_sr_cyrl/extconf.rb +0 -6
  130. data/ext/gherkin_lexer_sr_cyrl/gherkin_lexer_sr_cyrl.c +0 -2112
  131. data/ext/gherkin_lexer_sr_latn/extconf.rb +0 -6
  132. data/ext/gherkin_lexer_sr_latn/gherkin_lexer_sr_latn.c +0 -1567
  133. data/ext/gherkin_lexer_sv/extconf.rb +0 -6
  134. data/ext/gherkin_lexer_sv/gherkin_lexer_sv.c +0 -1324
  135. data/ext/gherkin_lexer_th/extconf.rb +0 -6
  136. data/ext/gherkin_lexer_th/gherkin_lexer_th.c +0 -2840
  137. data/ext/gherkin_lexer_tl/extconf.rb +0 -6
  138. data/ext/gherkin_lexer_tl/gherkin_lexer_tl.c +0 -2021
  139. data/ext/gherkin_lexer_tr/extconf.rb +0 -6
  140. data/ext/gherkin_lexer_tr/gherkin_lexer_tr.c +0 -1347
  141. data/ext/gherkin_lexer_tt/extconf.rb +0 -6
  142. data/ext/gherkin_lexer_tt/gherkin_lexer_tt.c +0 -1936
  143. data/ext/gherkin_lexer_uk/extconf.rb +0 -6
  144. data/ext/gherkin_lexer_uk/gherkin_lexer_uk.c +0 -1941
  145. data/ext/gherkin_lexer_uz/extconf.rb +0 -6
  146. data/ext/gherkin_lexer_uz/gherkin_lexer_uz.c +0 -1651
  147. data/ext/gherkin_lexer_vi/extconf.rb +0 -6
  148. data/ext/gherkin_lexer_vi/gherkin_lexer_vi.c +0 -1458
  149. data/ext/gherkin_lexer_zh_cn/extconf.rb +0 -6
  150. data/ext/gherkin_lexer_zh_cn/gherkin_lexer_zh_cn.c +0 -1314
  151. data/ext/gherkin_lexer_zh_tw/extconf.rb +0 -6
  152. data/ext/gherkin_lexer_zh_tw/gherkin_lexer_zh_tw.c +0 -1307
  153. data/features/.cucumber/stepdefs.json +0 -244
  154. data/features/escaped_pipes.feature +0 -8
  155. data/features/feature_parser.feature +0 -237
  156. data/features/json_formatter.feature +0 -498
  157. data/features/json_parser.feature +0 -331
  158. data/features/native_lexer.feature +0 -19
  159. data/features/parser_with_native_lexer.feature +0 -205
  160. data/features/pretty_formatter.feature +0 -17
  161. data/features/step_definitions/eyeball_steps.rb +0 -3
  162. data/features/step_definitions/gherkin_steps.rb +0 -29
  163. data/features/step_definitions/json_formatter_steps.rb +0 -30
  164. data/features/step_definitions/json_parser_steps.rb +0 -21
  165. data/features/step_definitions/pretty_formatter_steps.rb +0 -85
  166. data/features/steps_parser.feature +0 -46
  167. data/features/support/env.rb +0 -41
  168. data/install_mingw_os_x.sh +0 -5
  169. data/js/.npmignore +0 -1
  170. data/js/lib/gherkin/lexer/.npmignore +0 -0
  171. data/lib/gherkin.rb +0 -2
  172. data/lib/gherkin/README.md +0 -7
  173. data/lib/gherkin/c_lexer.rb +0 -17
  174. data/lib/gherkin/formatter/ansi_escapes.rb +0 -97
  175. data/lib/gherkin/formatter/argument.rb +0 -16
  176. data/lib/gherkin/formatter/escaping.rb +0 -15
  177. data/lib/gherkin/formatter/filter_formatter.rb +0 -150
  178. data/lib/gherkin/formatter/hashable.rb +0 -25
  179. data/lib/gherkin/formatter/json_formatter.rb +0 -133
  180. data/lib/gherkin/formatter/line_filter.rb +0 -26
  181. data/lib/gherkin/formatter/model.rb +0 -281
  182. data/lib/gherkin/formatter/pretty_formatter.rb +0 -245
  183. data/lib/gherkin/formatter/regexp_filter.rb +0 -21
  184. data/lib/gherkin/formatter/step_printer.rb +0 -21
  185. data/lib/gherkin/formatter/tag_count_formatter.rb +0 -47
  186. data/lib/gherkin/formatter/tag_filter.rb +0 -19
  187. data/lib/gherkin/i18n.json +0 -786
  188. data/lib/gherkin/i18n.rb +0 -176
  189. data/lib/gherkin/json_parser.rb +0 -177
  190. data/lib/gherkin/lexer/ar.rb +0 -1170
  191. data/lib/gherkin/lexer/bg.rb +0 -1382
  192. data/lib/gherkin/lexer/bm.rb +0 -1250
  193. data/lib/gherkin/lexer/ca.rb +0 -1310
  194. data/lib/gherkin/lexer/cs.rb +0 -1246
  195. data/lib/gherkin/lexer/cy_gb.rb +0 -1032
  196. data/lib/gherkin/lexer/da.rb +0 -1048
  197. data/lib/gherkin/lexer/de.rb +0 -1166
  198. data/lib/gherkin/lexer/el.rb +0 -1628
  199. data/lib/gherkin/lexer/en.rb +0 -1156
  200. data/lib/gherkin/lexer/en_au.rb +0 -1486
  201. data/lib/gherkin/lexer/en_lol.rb +0 -934
  202. data/lib/gherkin/lexer/en_old.rb +0 -1037
  203. data/lib/gherkin/lexer/en_pirate.rb +0 -1210
  204. data/lib/gherkin/lexer/en_scouse.rb +0 -1362
  205. data/lib/gherkin/lexer/en_tx.rb +0 -1016
  206. data/lib/gherkin/lexer/encoding.rb +0 -41
  207. data/lib/gherkin/lexer/eo.rb +0 -995
  208. data/lib/gherkin/lexer/es.rb +0 -1140
  209. data/lib/gherkin/lexer/et.rb +0 -990
  210. data/lib/gherkin/lexer/fa.rb +0 -1214
  211. data/lib/gherkin/lexer/fi.rb +0 -969
  212. data/lib/gherkin/lexer/fr.rb +0 -1228
  213. data/lib/gherkin/lexer/gl.rb +0 -1117
  214. data/lib/gherkin/lexer/he.rb +0 -1118
  215. data/lib/gherkin/lexer/hi.rb +0 -1559
  216. data/lib/gherkin/lexer/hr.rb +0 -1066
  217. data/lib/gherkin/lexer/hu.rb +0 -1118
  218. data/lib/gherkin/lexer/i18n_lexer.rb +0 -48
  219. data/lib/gherkin/lexer/id.rb +0 -963
  220. data/lib/gherkin/lexer/is.rb +0 -1120
  221. data/lib/gherkin/lexer/it.rb +0 -1086
  222. data/lib/gherkin/lexer/ja.rb +0 -1418
  223. data/lib/gherkin/lexer/kn.rb +0 -1672
  224. data/lib/gherkin/lexer/ko.rb +0 -1102
  225. data/lib/gherkin/lexer/lt.rb +0 -1045
  226. data/lib/gherkin/lexer/lu.rb +0 -1132
  227. data/lib/gherkin/lexer/lv.rb +0 -1166
  228. data/lib/gherkin/lexer/nl.rb +0 -1115
  229. data/lib/gherkin/lexer/no.rb +0 -1060
  230. data/lib/gherkin/lexer/pa.rb +0 -1852
  231. data/lib/gherkin/lexer/pl.rb +0 -1457
  232. data/lib/gherkin/lexer/pt.rb +0 -1430
  233. data/lib/gherkin/lexer/ro.rb +0 -1164
  234. data/lib/gherkin/lexer/ru.rb +0 -1766
  235. data/lib/gherkin/lexer/sk.rb +0 -1452
  236. data/lib/gherkin/lexer/sr_cyrl.rb +0 -1803
  237. data/lib/gherkin/lexer/sr_latn.rb +0 -1294
  238. data/lib/gherkin/lexer/sv.rb +0 -1070
  239. data/lib/gherkin/lexer/th.rb +0 -2492
  240. data/lib/gherkin/lexer/tl.rb +0 -1726
  241. data/lib/gherkin/lexer/tr.rb +0 -1092
  242. data/lib/gherkin/lexer/tt.rb +0 -1643
  243. data/lib/gherkin/lexer/uk.rb +0 -1646
  244. data/lib/gherkin/lexer/uz.rb +0 -1376
  245. data/lib/gherkin/lexer/vi.rb +0 -1198
  246. data/lib/gherkin/lexer/zh_cn.rb +0 -1058
  247. data/lib/gherkin/lexer/zh_tw.rb +0 -1052
  248. data/lib/gherkin/listener/event.rb +0 -45
  249. data/lib/gherkin/listener/formatter_listener.rb +0 -150
  250. data/lib/gherkin/native.rb +0 -7
  251. data/lib/gherkin/native/java.rb +0 -72
  252. data/lib/gherkin/native/null.rb +0 -5
  253. data/lib/gherkin/native/therubyracer.rb +0 -41
  254. data/lib/gherkin/parser/meta.txt +0 -5
  255. data/lib/gherkin/parser/parser.rb +0 -166
  256. data/lib/gherkin/parser/root.txt +0 -11
  257. data/lib/gherkin/parser/steps.txt +0 -4
  258. data/lib/gherkin/platform.rb +0 -13
  259. data/lib/gherkin/rubify.rb +0 -31
  260. data/lib/gherkin/tag_expression.rb +0 -63
  261. data/ragel/lexer.c.rl.erb +0 -454
  262. data/ragel/lexer.java.rl.erb +0 -219
  263. data/ragel/lexer.js.rl.erb +0 -322
  264. data/ragel/lexer.rb.rl.erb +0 -179
  265. data/ragel/lexer_common.rl.erb +0 -50
  266. data/spec/gherkin/c_lexer_spec.rb +0 -22
  267. data/spec/gherkin/fixtures/1.feature +0 -8
  268. data/spec/gherkin/fixtures/comments_in_table.feature +0 -9
  269. data/spec/gherkin/fixtures/complex.feature +0 -45
  270. data/spec/gherkin/fixtures/complex.json +0 -139
  271. data/spec/gherkin/fixtures/complex_for_filtering.feature +0 -60
  272. data/spec/gherkin/fixtures/complex_with_tags.feature +0 -61
  273. data/spec/gherkin/fixtures/dos_line_endings.feature +0 -45
  274. data/spec/gherkin/fixtures/examples_with_only_header.feature +0 -14
  275. data/spec/gherkin/fixtures/hantu_pisang.feature +0 -35
  276. data/spec/gherkin/fixtures/i18n_fr.feature +0 -14
  277. data/spec/gherkin/fixtures/i18n_fr2.feature +0 -8
  278. data/spec/gherkin/fixtures/i18n_no.feature +0 -7
  279. data/spec/gherkin/fixtures/i18n_pt1.feature +0 -44
  280. data/spec/gherkin/fixtures/i18n_pt2.feature +0 -4
  281. data/spec/gherkin/fixtures/i18n_pt3.feature +0 -4
  282. data/spec/gherkin/fixtures/i18n_pt4.feature +0 -4
  283. data/spec/gherkin/fixtures/i18n_zh-CN.feature +0 -9
  284. data/spec/gherkin/fixtures/iso-8859-1.feature +0 -6
  285. data/spec/gherkin/fixtures/issue_145.feature +0 -22
  286. data/spec/gherkin/fixtures/scenario_outline_with_tags.feature +0 -13
  287. data/spec/gherkin/fixtures/scenario_without_steps.feature +0 -5
  288. data/spec/gherkin/fixtures/simple_with_comments.feature +0 -7
  289. data/spec/gherkin/fixtures/simple_with_tags.feature +0 -11
  290. data/spec/gherkin/fixtures/with_bom.feature +0 -3
  291. data/spec/gherkin/fixtures/with_bom_and_language_spec.feature +0 -4
  292. data/spec/gherkin/formatter/ansi_escapes_spec.rb +0 -32
  293. data/spec/gherkin/formatter/filter_formatter_spec.rb +0 -204
  294. data/spec/gherkin/formatter/json_formatter_spec.rb +0 -179
  295. data/spec/gherkin/formatter/model_spec.rb +0 -28
  296. data/spec/gherkin/formatter/pretty_formatter_spec.rb +0 -184
  297. data/spec/gherkin/formatter/spaces.feature +0 -9
  298. data/spec/gherkin/formatter/step_printer_spec.rb +0 -55
  299. data/spec/gherkin/formatter/tabs.feature +0 -9
  300. data/spec/gherkin/formatter/tag_count_formatter_spec.rb +0 -30
  301. data/spec/gherkin/i18n_spec.rb +0 -256
  302. data/spec/gherkin/java_lexer_spec.rb +0 -20
  303. data/spec/gherkin/json_parser_spec.rb +0 -165
  304. data/spec/gherkin/lexer/i18n_lexer_spec.rb +0 -65
  305. data/spec/gherkin/native_lexer_spec.rb +0 -29
  306. data/spec/gherkin/parser/parser_spec.rb +0 -16
  307. data/spec/gherkin/rubify_spec.rb +0 -23
  308. data/spec/gherkin/sexp_recorder.rb +0 -59
  309. data/spec/gherkin/shared/doc_string_group.rb +0 -161
  310. data/spec/gherkin/shared/encoding_group.rb +0 -48
  311. data/spec/gherkin/shared/lexer_group.rb +0 -589
  312. data/spec/gherkin/shared/row_group.rb +0 -123
  313. data/spec/gherkin/shared/tags_group.rb +0 -52
  314. data/spec/gherkin/tag_expression_spec.rb +0 -146
  315. data/spec/spec_helper.rb +0 -94
  316. data/tasks/apidoc.rake +0 -32
  317. data/tasks/bench.rake +0 -184
  318. data/tasks/bench/feature_builder.rb +0 -49
  319. data/tasks/bench/null_listener.rb +0 -4
  320. data/tasks/compile.rake +0 -83
  321. data/tasks/cucumber.rake +0 -23
  322. data/tasks/gems.rake +0 -46
  323. data/tasks/ikvm.rake +0 -126
  324. data/tasks/ragel_task.rb +0 -124
  325. data/tasks/release.rake +0 -34
  326. data/tasks/rspec.rake +0 -6
  327. data/tasks/yard/default/layout/html/bubble_32x32.png +0 -0
  328. data/tasks/yard/default/layout/html/bubble_48x48.png +0 -0
  329. data/tasks/yard/default/layout/html/footer.erb +0 -5
  330. data/tasks/yard/default/layout/html/index.erb +0 -1
  331. data/tasks/yard/default/layout/html/layout.erb +0 -25
  332. data/tasks/yard/default/layout/html/logo.erb +0 -1
  333. data/tasks/yard/default/layout/html/setup.rb +0 -4
@@ -1,1382 +0,0 @@
1
-
2
- # line 1 "ragel/i18n/bg.rb.rl"
3
- require 'gherkin/native'
4
-
5
- module Gherkin
6
- module Lexer
7
- class Bg #:nodoc:
8
- native_impl('gherkin')
9
-
10
-
11
- # line 125 "ragel/i18n/bg.rb.rl"
12
-
13
-
14
- def initialize(listener)
15
- @listener = listener
16
-
17
- # Initialize ivars to avoid warnings
18
- @keyword = nil
19
-
20
- # line 21 "lib/gherkin/lexer/bg.rb"
21
- class << self
22
- attr_accessor :_lexer_actions
23
- private :_lexer_actions, :_lexer_actions=
24
- end
25
- self._lexer_actions = [
26
- 0, 1, 0, 1, 1, 1, 2, 1,
27
- 3, 1, 4, 1, 5, 1, 6, 1,
28
- 7, 1, 8, 1, 9, 1, 10, 1,
29
- 11, 1, 12, 1, 13, 1, 16, 1,
30
- 17, 1, 18, 1, 19, 1, 20, 1,
31
- 21, 1, 22, 1, 23, 2, 2, 18,
32
- 2, 3, 4, 2, 13, 0, 2, 14,
33
- 15, 2, 17, 0, 2, 17, 1, 2,
34
- 17, 16, 2, 17, 19, 2, 18, 6,
35
- 2, 18, 7, 2, 18, 8, 2, 18,
36
- 9, 2, 18, 10, 2, 18, 16, 2,
37
- 20, 21, 2, 22, 0, 2, 22, 1,
38
- 2, 22, 16, 2, 22, 19, 3, 4,
39
- 14, 15, 3, 5, 14, 15, 3, 11,
40
- 14, 15, 3, 12, 14, 15, 3, 13,
41
- 14, 15, 3, 14, 15, 18, 3, 17,
42
- 0, 11, 3, 17, 14, 15, 4, 2,
43
- 14, 15, 18, 4, 3, 4, 14, 15,
44
- 4, 17, 0, 14, 15, 5, 17, 0,
45
- 11, 14, 15
46
- ]
47
-
48
- class << self
49
- attr_accessor :_lexer_key_offsets
50
- private :_lexer_key_offsets, :_lexer_key_offsets=
51
- end
52
- self._lexer_key_offsets = [
53
- 0, 0, 12, 21, 22, 23, 24, 25,
54
- 26, 27, 28, 29, 30, 31, 32, 34,
55
- 36, 47, 48, 49, 51, 53, 58, 63,
56
- 68, 73, 77, 81, 83, 84, 85, 86,
57
- 87, 88, 89, 90, 91, 92, 93, 94,
58
- 95, 96, 97, 98, 103, 110, 115, 119,
59
- 125, 128, 130, 136, 147, 148, 149, 150,
60
- 151, 152, 153, 154, 155, 156, 157, 158,
61
- 160, 161, 162, 163, 164, 165, 166, 167,
62
- 168, 169, 170, 171, 172, 173, 174, 175,
63
- 176, 177, 178, 179, 188, 197, 199, 201,
64
- 203, 205, 207, 209, 211, 213, 215, 217,
65
- 219, 230, 232, 234, 236, 238, 240, 242,
66
- 244, 246, 248, 250, 252, 254, 256, 258,
67
- 260, 262, 264, 266, 268, 270, 272, 274,
68
- 276, 278, 280, 282, 284, 286, 288, 290,
69
- 292, 294, 296, 298, 300, 302, 304, 306,
70
- 308, 310, 312, 314, 316, 318, 320, 322,
71
- 324, 326, 328, 330, 332, 334, 336, 338,
72
- 340, 342, 344, 346, 348, 350, 352, 354,
73
- 356, 358, 360, 362, 364, 366, 368, 370,
74
- 372, 374, 376, 378, 380, 382, 384, 386,
75
- 388, 389, 390, 391, 392, 393, 394, 395,
76
- 396, 397, 398, 399, 406, 408, 410, 412,
77
- 414, 416, 418, 420, 422, 424, 426, 428,
78
- 430, 432, 434, 436, 438, 440, 442, 444,
79
- 446, 448, 450, 452, 454, 456, 458, 460,
80
- 462, 463, 464, 465, 466, 467, 468, 469,
81
- 470, 471, 472, 473, 474, 475, 476, 477,
82
- 478, 479, 480, 481, 482, 483, 484, 485,
83
- 486, 487, 488, 489, 490, 491, 492, 493,
84
- 494, 495, 504, 512, 514, 516, 518, 520,
85
- 522, 524, 526, 528, 530, 532, 534, 536,
86
- 538, 540, 542, 544, 546, 548, 550, 552,
87
- 554, 556, 558, 560, 562, 564, 566, 568,
88
- 570, 572, 574, 576, 578, 580, 582, 584,
89
- 586, 588, 590, 592, 594, 596, 598, 600,
90
- 602, 604, 606, 608, 610, 612, 614, 616,
91
- 618, 620, 622, 624, 626, 628, 630, 632,
92
- 634, 636, 638, 640, 642, 644, 646, 648,
93
- 650, 652, 654, 656, 658, 660, 661, 662,
94
- 663, 664, 665, 666, 667, 668, 669, 670,
95
- 671, 672, 673, 674, 675, 676, 677, 686,
96
- 696, 698, 700, 702, 704, 706, 708, 710,
97
- 712, 714, 716, 718, 720, 722, 724, 726,
98
- 728, 730, 732, 734, 736, 738, 740, 742,
99
- 744, 746, 748, 750, 752, 754, 756, 758,
100
- 760, 762, 764, 766, 768, 770, 772, 774,
101
- 776, 778, 780, 782, 784, 786, 788, 790,
102
- 792, 794, 796, 798, 800, 802, 804, 806,
103
- 808, 810, 812, 814, 816, 818, 820, 822,
104
- 824, 826, 828, 830, 832, 834, 836, 838,
105
- 840, 842, 844, 846, 848, 850, 852, 854,
106
- 856, 858, 860, 862, 864, 866, 868, 870,
107
- 872, 874, 876, 878, 880, 882, 884, 886,
108
- 888, 890, 892, 894, 896, 898, 900, 902,
109
- 904, 906, 908, 910, 912, 914, 916, 917,
110
- 918, 919, 920, 921, 922, 923, 924, 925,
111
- 926, 927, 928, 929, 930, 931, 932, 933,
112
- 934, 935, 936, 937, 938, 939, 940, 941,
113
- 942, 943, 944, 945, 953, 958, 960, 962,
114
- 964, 967, 969, 971, 973, 975, 977, 979,
115
- 981, 983, 985, 987, 989, 991, 993, 995,
116
- 997, 999, 1001, 1003, 1005, 1007, 1009, 1011,
117
- 1013, 1015, 1017, 1019, 1021, 1023, 1025, 1027,
118
- 1029, 1031, 1033, 1035, 1037, 1039, 1041, 1043,
119
- 1045, 1047, 1049, 1051, 1053, 1055, 1057, 1059,
120
- 1061, 1063, 1065, 1067, 1069, 1071, 1073, 1075,
121
- 1077, 1079, 1081, 1083, 1085, 1087, 1089, 1091,
122
- 1093, 1095, 1097, 1099, 1101, 1103, 1105, 1107,
123
- 1109, 1111, 1113, 1115, 1117, 1119, 1121, 1123,
124
- 1125, 1127, 1129, 1131, 1133, 1135, 1137, 1139,
125
- 1141, 1143, 1145, 1147, 1149, 1151, 1153, 1155,
126
- 1157, 1158, 1159
127
- ]
128
-
129
- class << self
130
- attr_accessor :_lexer_trans_keys
131
- private :_lexer_trans_keys, :_lexer_trans_keys=
132
- end
133
- self._lexer_trans_keys = [
134
- -48, -17, 10, 32, 34, 35, 37, 42,
135
- 64, 124, 9, 13, -108, -104, -102, -99,
136
- -97, -96, -95, -94, -92, -48, -80, -48,
137
- -76, -48, -75, -48, -67, -48, -66, 32,
138
- 10, 13, 10, 13, -48, 10, 32, 34,
139
- 35, 37, 42, 64, 124, 9, 13, 34,
140
- 34, 10, 13, 10, 13, 10, 32, 34,
141
- 9, 13, 10, 32, 34, 9, 13, 10,
142
- 32, 34, 9, 13, 10, 32, 34, 9,
143
- 13, 10, 32, 9, 13, 10, 32, 9,
144
- 13, 10, 13, 10, 95, 70, 69, 65,
145
- 84, 85, 82, 69, 95, 69, 78, 68,
146
- 95, 37, 13, 32, 64, 9, 10, 9,
147
- 10, 13, 32, 64, 11, 12, 10, 32,
148
- 64, 9, 13, 32, 124, 9, 13, 10,
149
- 32, 92, 124, 9, 13, 10, 92, 124,
150
- 10, 92, 10, 32, 92, 124, 9, 13,
151
- -48, 10, 32, 34, 35, 37, 42, 64,
152
- 124, 9, 13, -48, -66, -48, -77, -48,
153
- -80, -47, -126, -47, -128, -48, -75, -72,
154
- -48, -76, -48, -72, -47, -127, -47, -126,
155
- -48, -66, -47, -128, -48, -72, -47, -113,
156
- 58, 10, 10, -48, 10, 32, 35, 37,
157
- 42, 64, 9, 13, -108, -104, -102, -99,
158
- -96, -95, -94, -92, 10, -48, 10, -80,
159
- 10, -48, 10, -76, 10, -48, 10, -75,
160
- 10, -48, 10, -67, 10, -48, 10, -66,
161
- 10, 10, 32, -48, 10, 32, 34, 35,
162
- 37, 42, 64, 124, 9, 13, -48, 10,
163
- -66, 10, -48, 10, -77, 10, -48, 10,
164
- -80, 10, -47, 10, -126, 10, -48, 10,
165
- -80, 10, -48, 10, -68, 10, -48, 10,
166
- -70, 10, -48, 10, -80, 10, 10, 32,
167
- -48, 10, -67, 10, -48, 10, -80, 10,
168
- 10, 32, -47, 10, -127, 10, -47, 10,
169
- -122, 10, -48, 10, -75, 10, -48, 10,
170
- -67, 10, -48, 10, -80, 10, -47, 10,
171
- -128, 10, -48, 10, -72, 10, -48, 10,
172
- -71, 10, 10, 58, -47, 10, -125, 10,
173
- -48, 10, -67, 10, -48, 10, -70, 10,
174
- -47, 10, -122, 10, -48, 10, -72, 10,
175
- -48, 10, -66, 10, -48, 10, -67, 10,
176
- -48, 10, -80, 10, -48, 10, -69, 10,
177
- -48, 10, -67, 10, -48, 10, -66, 10,
178
- -47, 10, -127, 10, -47, 10, -126, 10,
179
- 10, 95, 10, 70, 10, 69, 10, 65,
180
- 10, 84, 10, 85, 10, 82, 10, 69,
181
- 10, 95, 10, 69, 10, 78, 10, 68,
182
- 10, 95, 10, 37, -48, -68, -48, -75,
183
- -47, -128, -48, -72, 58, 10, 10, -48,
184
- 10, 32, 35, 124, 9, 13, -92, 10,
185
- -47, 10, -125, 10, -48, 10, -67, 10,
186
- -48, 10, -70, 10, -47, 10, -122, 10,
187
- -48, 10, -72, 10, -48, 10, -66, 10,
188
- -48, 10, -67, 10, -48, 10, -80, 10,
189
- -48, 10, -69, 10, -48, 10, -67, 10,
190
- -48, 10, -66, 10, -47, 10, -127, 10,
191
- -47, 10, -126, 10, 10, 58, -48, -80,
192
- -48, -68, -48, -70, -48, -80, 32, -48,
193
- -67, -48, -80, 32, -47, -127, -47, -122,
194
- -48, -75, -48, -67, -48, -80, -47, -128,
195
- -48, -72, -48, -71, 58, 10, 10, -48,
196
- 10, 32, 35, 37, 42, 64, 9, 13,
197
- -108, -104, -102, -99, -95, -94, -92, 10,
198
- -48, 10, -80, 10, -48, 10, -76, 10,
199
- -48, 10, -75, 10, -48, 10, -67, 10,
200
- -48, 10, -66, 10, 10, 32, -48, 10,
201
- -66, 10, -48, 10, -77, 10, -48, 10,
202
- -80, 10, -47, 10, -126, 10, -47, 10,
203
- -122, 10, -48, 10, -75, 10, -48, 10,
204
- -67, 10, -48, 10, -80, 10, -47, 10,
205
- -128, 10, -48, 10, -72, 10, -48, 10,
206
- -71, 10, 10, 58, -47, 10, -125, 10,
207
- -48, 10, -67, 10, -48, 10, -70, 10,
208
- -47, 10, -122, 10, -48, 10, -72, 10,
209
- -48, 10, -66, 10, -48, 10, -67, 10,
210
- -48, 10, -80, 10, -48, 10, -69, 10,
211
- -48, 10, -67, 10, -48, 10, -66, 10,
212
- -47, 10, -127, 10, -47, 10, -126, 10,
213
- 10, 95, 10, 70, 10, 69, 10, 65,
214
- 10, 84, 10, 85, 10, 82, 10, 69,
215
- 10, 95, 10, 69, 10, 78, 10, 68,
216
- 10, 95, 10, 37, -47, -122, -48, -75,
217
- -48, -67, -48, -80, -47, -128, -48, -72,
218
- -48, -71, 58, 10, 10, -48, 10, 32,
219
- 35, 37, 42, 64, 9, 13, -108, -104,
220
- -102, -99, -97, -96, -95, -94, -92, 10,
221
- -48, 10, -80, 10, -48, 10, -76, 10,
222
- -48, 10, -75, 10, -48, 10, -67, 10,
223
- -48, 10, -66, 10, 10, 32, -48, 10,
224
- -66, 10, -48, 10, -77, 10, -48, 10,
225
- -80, 10, -47, 10, -126, 10, -47, 10,
226
- -128, 10, -48, 10, -75, 10, -48, 10,
227
- -76, 10, -48, 10, -72, 10, -47, 10,
228
- -127, 10, -47, 10, -126, 10, -48, 10,
229
- -66, 10, -47, 10, -128, 10, -48, 10,
230
- -72, 10, -47, 10, -113, 10, 10, 58,
231
- -48, 10, -80, 10, -48, 10, -68, 10,
232
- -48, 10, -70, 10, -48, 10, -80, 10,
233
- 10, 32, -48, 10, -67, 10, -48, 10,
234
- -80, 10, 10, 32, -47, 10, -127, 10,
235
- -47, 10, -122, 10, -48, 10, -75, 10,
236
- -48, 10, -67, 10, -48, 10, -80, 10,
237
- -47, 10, -128, 10, -48, 10, -72, 10,
238
- -48, 10, -71, 10, -47, 10, -125, 10,
239
- -48, 10, -67, 10, -48, 10, -70, 10,
240
- -47, 10, -122, 10, -48, 10, -72, 10,
241
- -48, 10, -66, 10, -48, 10, -67, 10,
242
- -48, 10, -80, 10, -48, 10, -69, 10,
243
- -48, 10, -67, 10, -48, 10, -66, 10,
244
- -47, 10, -127, 10, -47, 10, -126, 10,
245
- 10, 95, 10, 70, 10, 69, 10, 65,
246
- 10, 84, 10, 85, 10, 82, 10, 69,
247
- 10, 95, 10, 69, 10, 78, 10, 68,
248
- 10, 95, 10, 37, -47, -125, -48, -67,
249
- -48, -70, -47, -122, -48, -72, -48, -66,
250
- -48, -67, -48, -80, -48, -69, -48, -67,
251
- -48, -66, -47, -127, -47, -126, 58, 10,
252
- 10, -48, 10, 32, 35, 37, 64, 9,
253
- 13, -97, -96, -95, -92, 10, -47, 10,
254
- -128, 10, -48, 10, -75, -72, 10, -48,
255
- 10, -76, 10, -48, 10, -72, 10, -47,
256
- 10, -127, 10, -47, 10, -126, 10, -48,
257
- 10, -66, 10, -47, 10, -128, 10, -48,
258
- 10, -72, 10, -47, 10, -113, 10, 10,
259
- 58, -48, 10, -68, 10, -48, 10, -75,
260
- 10, -47, 10, -128, 10, -48, 10, -72,
261
- 10, -48, 10, -80, 10, -48, 10, -68,
262
- 10, -48, 10, -70, 10, -48, 10, -80,
263
- 10, 10, 32, -48, 10, -67, 10, -48,
264
- 10, -80, 10, 10, 32, -47, 10, -127,
265
- 10, -47, 10, -122, 10, -48, 10, -75,
266
- 10, -48, 10, -67, 10, -48, 10, -80,
267
- 10, -47, 10, -128, 10, -48, 10, -72,
268
- 10, -48, 10, -71, 10, -47, 10, -125,
269
- 10, -48, 10, -67, 10, -48, 10, -70,
270
- 10, -47, 10, -122, 10, -48, 10, -72,
271
- 10, -48, 10, -66, 10, -48, 10, -67,
272
- 10, -48, 10, -80, 10, -48, 10, -69,
273
- 10, -48, 10, -67, 10, -48, 10, -66,
274
- 10, -47, 10, -127, 10, -47, 10, -126,
275
- 10, 10, 95, 10, 70, 10, 69, 10,
276
- 65, 10, 84, 10, 85, 10, 82, 10,
277
- 69, 10, 95, 10, 69, 10, 78, 10,
278
- 68, 10, 95, 10, 37, -69, -65, 0
279
- ]
280
-
281
- class << self
282
- attr_accessor :_lexer_single_lengths
283
- private :_lexer_single_lengths, :_lexer_single_lengths=
284
- end
285
- self._lexer_single_lengths = [
286
- 0, 10, 9, 1, 1, 1, 1, 1,
287
- 1, 1, 1, 1, 1, 1, 2, 2,
288
- 9, 1, 1, 2, 2, 3, 3, 3,
289
- 3, 2, 2, 2, 1, 1, 1, 1,
290
- 1, 1, 1, 1, 1, 1, 1, 1,
291
- 1, 1, 1, 3, 5, 3, 2, 4,
292
- 3, 2, 4, 9, 1, 1, 1, 1,
293
- 1, 1, 1, 1, 1, 1, 1, 2,
294
- 1, 1, 1, 1, 1, 1, 1, 1,
295
- 1, 1, 1, 1, 1, 1, 1, 1,
296
- 1, 1, 1, 7, 9, 2, 2, 2,
297
- 2, 2, 2, 2, 2, 2, 2, 2,
298
- 9, 2, 2, 2, 2, 2, 2, 2,
299
- 2, 2, 2, 2, 2, 2, 2, 2,
300
- 2, 2, 2, 2, 2, 2, 2, 2,
301
- 2, 2, 2, 2, 2, 2, 2, 2,
302
- 2, 2, 2, 2, 2, 2, 2, 2,
303
- 2, 2, 2, 2, 2, 2, 2, 2,
304
- 2, 2, 2, 2, 2, 2, 2, 2,
305
- 2, 2, 2, 2, 2, 2, 2, 2,
306
- 2, 2, 2, 2, 2, 2, 2, 2,
307
- 2, 2, 2, 2, 2, 2, 2, 2,
308
- 1, 1, 1, 1, 1, 1, 1, 1,
309
- 1, 1, 1, 5, 2, 2, 2, 2,
310
- 2, 2, 2, 2, 2, 2, 2, 2,
311
- 2, 2, 2, 2, 2, 2, 2, 2,
312
- 2, 2, 2, 2, 2, 2, 2, 2,
313
- 1, 1, 1, 1, 1, 1, 1, 1,
314
- 1, 1, 1, 1, 1, 1, 1, 1,
315
- 1, 1, 1, 1, 1, 1, 1, 1,
316
- 1, 1, 1, 1, 1, 1, 1, 1,
317
- 1, 7, 8, 2, 2, 2, 2, 2,
318
- 2, 2, 2, 2, 2, 2, 2, 2,
319
- 2, 2, 2, 2, 2, 2, 2, 2,
320
- 2, 2, 2, 2, 2, 2, 2, 2,
321
- 2, 2, 2, 2, 2, 2, 2, 2,
322
- 2, 2, 2, 2, 2, 2, 2, 2,
323
- 2, 2, 2, 2, 2, 2, 2, 2,
324
- 2, 2, 2, 2, 2, 2, 2, 2,
325
- 2, 2, 2, 2, 2, 2, 2, 2,
326
- 2, 2, 2, 2, 2, 1, 1, 1,
327
- 1, 1, 1, 1, 1, 1, 1, 1,
328
- 1, 1, 1, 1, 1, 1, 7, 10,
329
- 2, 2, 2, 2, 2, 2, 2, 2,
330
- 2, 2, 2, 2, 2, 2, 2, 2,
331
- 2, 2, 2, 2, 2, 2, 2, 2,
332
- 2, 2, 2, 2, 2, 2, 2, 2,
333
- 2, 2, 2, 2, 2, 2, 2, 2,
334
- 2, 2, 2, 2, 2, 2, 2, 2,
335
- 2, 2, 2, 2, 2, 2, 2, 2,
336
- 2, 2, 2, 2, 2, 2, 2, 2,
337
- 2, 2, 2, 2, 2, 2, 2, 2,
338
- 2, 2, 2, 2, 2, 2, 2, 2,
339
- 2, 2, 2, 2, 2, 2, 2, 2,
340
- 2, 2, 2, 2, 2, 2, 2, 2,
341
- 2, 2, 2, 2, 2, 2, 2, 2,
342
- 2, 2, 2, 2, 2, 2, 1, 1,
343
- 1, 1, 1, 1, 1, 1, 1, 1,
344
- 1, 1, 1, 1, 1, 1, 1, 1,
345
- 1, 1, 1, 1, 1, 1, 1, 1,
346
- 1, 1, 1, 6, 5, 2, 2, 2,
347
- 3, 2, 2, 2, 2, 2, 2, 2,
348
- 2, 2, 2, 2, 2, 2, 2, 2,
349
- 2, 2, 2, 2, 2, 2, 2, 2,
350
- 2, 2, 2, 2, 2, 2, 2, 2,
351
- 2, 2, 2, 2, 2, 2, 2, 2,
352
- 2, 2, 2, 2, 2, 2, 2, 2,
353
- 2, 2, 2, 2, 2, 2, 2, 2,
354
- 2, 2, 2, 2, 2, 2, 2, 2,
355
- 2, 2, 2, 2, 2, 2, 2, 2,
356
- 2, 2, 2, 2, 2, 2, 2, 2,
357
- 2, 2, 2, 2, 2, 2, 2, 2,
358
- 2, 2, 2, 2, 2, 2, 2, 2,
359
- 1, 1, 0
360
- ]
361
-
362
- class << self
363
- attr_accessor :_lexer_range_lengths
364
- private :_lexer_range_lengths, :_lexer_range_lengths=
365
- end
366
- self._lexer_range_lengths = [
367
- 0, 1, 0, 0, 0, 0, 0, 0,
368
- 0, 0, 0, 0, 0, 0, 0, 0,
369
- 1, 0, 0, 0, 0, 1, 1, 1,
370
- 1, 1, 1, 0, 0, 0, 0, 0,
371
- 0, 0, 0, 0, 0, 0, 0, 0,
372
- 0, 0, 0, 1, 1, 1, 1, 1,
373
- 0, 0, 1, 1, 0, 0, 0, 0,
374
- 0, 0, 0, 0, 0, 0, 0, 0,
375
- 0, 0, 0, 0, 0, 0, 0, 0,
376
- 0, 0, 0, 0, 0, 0, 0, 0,
377
- 0, 0, 0, 1, 0, 0, 0, 0,
378
- 0, 0, 0, 0, 0, 0, 0, 0,
379
- 1, 0, 0, 0, 0, 0, 0, 0,
380
- 0, 0, 0, 0, 0, 0, 0, 0,
381
- 0, 0, 0, 0, 0, 0, 0, 0,
382
- 0, 0, 0, 0, 0, 0, 0, 0,
383
- 0, 0, 0, 0, 0, 0, 0, 0,
384
- 0, 0, 0, 0, 0, 0, 0, 0,
385
- 0, 0, 0, 0, 0, 0, 0, 0,
386
- 0, 0, 0, 0, 0, 0, 0, 0,
387
- 0, 0, 0, 0, 0, 0, 0, 0,
388
- 0, 0, 0, 0, 0, 0, 0, 0,
389
- 0, 0, 0, 0, 0, 0, 0, 0,
390
- 0, 0, 0, 1, 0, 0, 0, 0,
391
- 0, 0, 0, 0, 0, 0, 0, 0,
392
- 0, 0, 0, 0, 0, 0, 0, 0,
393
- 0, 0, 0, 0, 0, 0, 0, 0,
394
- 0, 0, 0, 0, 0, 0, 0, 0,
395
- 0, 0, 0, 0, 0, 0, 0, 0,
396
- 0, 0, 0, 0, 0, 0, 0, 0,
397
- 0, 0, 0, 0, 0, 0, 0, 0,
398
- 0, 1, 0, 0, 0, 0, 0, 0,
399
- 0, 0, 0, 0, 0, 0, 0, 0,
400
- 0, 0, 0, 0, 0, 0, 0, 0,
401
- 0, 0, 0, 0, 0, 0, 0, 0,
402
- 0, 0, 0, 0, 0, 0, 0, 0,
403
- 0, 0, 0, 0, 0, 0, 0, 0,
404
- 0, 0, 0, 0, 0, 0, 0, 0,
405
- 0, 0, 0, 0, 0, 0, 0, 0,
406
- 0, 0, 0, 0, 0, 0, 0, 0,
407
- 0, 0, 0, 0, 0, 0, 0, 0,
408
- 0, 0, 0, 0, 0, 0, 0, 0,
409
- 0, 0, 0, 0, 0, 0, 1, 0,
410
- 0, 0, 0, 0, 0, 0, 0, 0,
411
- 0, 0, 0, 0, 0, 0, 0, 0,
412
- 0, 0, 0, 0, 0, 0, 0, 0,
413
- 0, 0, 0, 0, 0, 0, 0, 0,
414
- 0, 0, 0, 0, 0, 0, 0, 0,
415
- 0, 0, 0, 0, 0, 0, 0, 0,
416
- 0, 0, 0, 0, 0, 0, 0, 0,
417
- 0, 0, 0, 0, 0, 0, 0, 0,
418
- 0, 0, 0, 0, 0, 0, 0, 0,
419
- 0, 0, 0, 0, 0, 0, 0, 0,
420
- 0, 0, 0, 0, 0, 0, 0, 0,
421
- 0, 0, 0, 0, 0, 0, 0, 0,
422
- 0, 0, 0, 0, 0, 0, 0, 0,
423
- 0, 0, 0, 0, 0, 0, 0, 0,
424
- 0, 0, 0, 0, 0, 0, 0, 0,
425
- 0, 0, 0, 0, 0, 0, 0, 0,
426
- 0, 0, 0, 0, 0, 0, 0, 0,
427
- 0, 0, 0, 1, 0, 0, 0, 0,
428
- 0, 0, 0, 0, 0, 0, 0, 0,
429
- 0, 0, 0, 0, 0, 0, 0, 0,
430
- 0, 0, 0, 0, 0, 0, 0, 0,
431
- 0, 0, 0, 0, 0, 0, 0, 0,
432
- 0, 0, 0, 0, 0, 0, 0, 0,
433
- 0, 0, 0, 0, 0, 0, 0, 0,
434
- 0, 0, 0, 0, 0, 0, 0, 0,
435
- 0, 0, 0, 0, 0, 0, 0, 0,
436
- 0, 0, 0, 0, 0, 0, 0, 0,
437
- 0, 0, 0, 0, 0, 0, 0, 0,
438
- 0, 0, 0, 0, 0, 0, 0, 0,
439
- 0, 0, 0, 0, 0, 0, 0, 0,
440
- 0, 0, 0
441
- ]
442
-
443
- class << self
444
- attr_accessor :_lexer_index_offsets
445
- private :_lexer_index_offsets, :_lexer_index_offsets=
446
- end
447
- self._lexer_index_offsets = [
448
- 0, 0, 12, 22, 24, 26, 28, 30,
449
- 32, 34, 36, 38, 40, 42, 44, 47,
450
- 50, 61, 63, 65, 68, 71, 76, 81,
451
- 86, 91, 95, 99, 102, 104, 106, 108,
452
- 110, 112, 114, 116, 118, 120, 122, 124,
453
- 126, 128, 130, 132, 137, 144, 149, 153,
454
- 159, 163, 166, 172, 183, 185, 187, 189,
455
- 191, 193, 195, 197, 199, 201, 203, 205,
456
- 208, 210, 212, 214, 216, 218, 220, 222,
457
- 224, 226, 228, 230, 232, 234, 236, 238,
458
- 240, 242, 244, 246, 255, 265, 268, 271,
459
- 274, 277, 280, 283, 286, 289, 292, 295,
460
- 298, 309, 312, 315, 318, 321, 324, 327,
461
- 330, 333, 336, 339, 342, 345, 348, 351,
462
- 354, 357, 360, 363, 366, 369, 372, 375,
463
- 378, 381, 384, 387, 390, 393, 396, 399,
464
- 402, 405, 408, 411, 414, 417, 420, 423,
465
- 426, 429, 432, 435, 438, 441, 444, 447,
466
- 450, 453, 456, 459, 462, 465, 468, 471,
467
- 474, 477, 480, 483, 486, 489, 492, 495,
468
- 498, 501, 504, 507, 510, 513, 516, 519,
469
- 522, 525, 528, 531, 534, 537, 540, 543,
470
- 546, 548, 550, 552, 554, 556, 558, 560,
471
- 562, 564, 566, 568, 575, 578, 581, 584,
472
- 587, 590, 593, 596, 599, 602, 605, 608,
473
- 611, 614, 617, 620, 623, 626, 629, 632,
474
- 635, 638, 641, 644, 647, 650, 653, 656,
475
- 659, 661, 663, 665, 667, 669, 671, 673,
476
- 675, 677, 679, 681, 683, 685, 687, 689,
477
- 691, 693, 695, 697, 699, 701, 703, 705,
478
- 707, 709, 711, 713, 715, 717, 719, 721,
479
- 723, 725, 734, 743, 746, 749, 752, 755,
480
- 758, 761, 764, 767, 770, 773, 776, 779,
481
- 782, 785, 788, 791, 794, 797, 800, 803,
482
- 806, 809, 812, 815, 818, 821, 824, 827,
483
- 830, 833, 836, 839, 842, 845, 848, 851,
484
- 854, 857, 860, 863, 866, 869, 872, 875,
485
- 878, 881, 884, 887, 890, 893, 896, 899,
486
- 902, 905, 908, 911, 914, 917, 920, 923,
487
- 926, 929, 932, 935, 938, 941, 944, 947,
488
- 950, 953, 956, 959, 962, 965, 967, 969,
489
- 971, 973, 975, 977, 979, 981, 983, 985,
490
- 987, 989, 991, 993, 995, 997, 999, 1008,
491
- 1019, 1022, 1025, 1028, 1031, 1034, 1037, 1040,
492
- 1043, 1046, 1049, 1052, 1055, 1058, 1061, 1064,
493
- 1067, 1070, 1073, 1076, 1079, 1082, 1085, 1088,
494
- 1091, 1094, 1097, 1100, 1103, 1106, 1109, 1112,
495
- 1115, 1118, 1121, 1124, 1127, 1130, 1133, 1136,
496
- 1139, 1142, 1145, 1148, 1151, 1154, 1157, 1160,
497
- 1163, 1166, 1169, 1172, 1175, 1178, 1181, 1184,
498
- 1187, 1190, 1193, 1196, 1199, 1202, 1205, 1208,
499
- 1211, 1214, 1217, 1220, 1223, 1226, 1229, 1232,
500
- 1235, 1238, 1241, 1244, 1247, 1250, 1253, 1256,
501
- 1259, 1262, 1265, 1268, 1271, 1274, 1277, 1280,
502
- 1283, 1286, 1289, 1292, 1295, 1298, 1301, 1304,
503
- 1307, 1310, 1313, 1316, 1319, 1322, 1325, 1328,
504
- 1331, 1334, 1337, 1340, 1343, 1346, 1349, 1351,
505
- 1353, 1355, 1357, 1359, 1361, 1363, 1365, 1367,
506
- 1369, 1371, 1373, 1375, 1377, 1379, 1381, 1383,
507
- 1385, 1387, 1389, 1391, 1393, 1395, 1397, 1399,
508
- 1401, 1403, 1405, 1407, 1415, 1421, 1424, 1427,
509
- 1430, 1434, 1437, 1440, 1443, 1446, 1449, 1452,
510
- 1455, 1458, 1461, 1464, 1467, 1470, 1473, 1476,
511
- 1479, 1482, 1485, 1488, 1491, 1494, 1497, 1500,
512
- 1503, 1506, 1509, 1512, 1515, 1518, 1521, 1524,
513
- 1527, 1530, 1533, 1536, 1539, 1542, 1545, 1548,
514
- 1551, 1554, 1557, 1560, 1563, 1566, 1569, 1572,
515
- 1575, 1578, 1581, 1584, 1587, 1590, 1593, 1596,
516
- 1599, 1602, 1605, 1608, 1611, 1614, 1617, 1620,
517
- 1623, 1626, 1629, 1632, 1635, 1638, 1641, 1644,
518
- 1647, 1650, 1653, 1656, 1659, 1662, 1665, 1668,
519
- 1671, 1674, 1677, 1680, 1683, 1686, 1689, 1692,
520
- 1695, 1698, 1701, 1704, 1707, 1710, 1713, 1716,
521
- 1719, 1721, 1723
522
- ]
523
-
524
- class << self
525
- attr_accessor :_lexer_indicies
526
- private :_lexer_indicies, :_lexer_indicies=
527
- end
528
- self._lexer_indicies = [
529
- 1, 2, 4, 3, 5, 6, 7, 8,
530
- 9, 10, 3, 0, 11, 12, 13, 14,
531
- 15, 16, 17, 14, 18, 0, 19, 0,
532
- 20, 0, 21, 0, 22, 0, 23, 0,
533
- 24, 0, 25, 0, 14, 0, 26, 0,
534
- 12, 0, 27, 0, 29, 30, 28, 32,
535
- 33, 31, 1, 4, 3, 5, 6, 7,
536
- 8, 9, 10, 3, 0, 34, 0, 35,
537
- 0, 37, 38, 36, 40, 41, 39, 44,
538
- 43, 45, 43, 42, 48, 47, 49, 47,
539
- 46, 48, 47, 50, 47, 46, 48, 47,
540
- 51, 47, 46, 53, 52, 52, 0, 4,
541
- 54, 54, 0, 56, 57, 55, 4, 0,
542
- 58, 0, 59, 0, 60, 0, 61, 0,
543
- 62, 0, 63, 0, 64, 0, 65, 0,
544
- 66, 0, 67, 0, 68, 0, 69, 0,
545
- 70, 0, 71, 0, 0, 0, 0, 0,
546
- 72, 73, 74, 73, 73, 76, 75, 72,
547
- 4, 77, 9, 77, 0, 78, 79, 78,
548
- 0, 82, 81, 83, 84, 81, 80, 0,
549
- 86, 87, 85, 0, 86, 85, 82, 88,
550
- 86, 87, 88, 85, 89, 82, 90, 91,
551
- 92, 93, 94, 95, 96, 90, 0, 97,
552
- 0, 98, 0, 99, 0, 100, 0, 101,
553
- 0, 102, 0, 103, 0, 14, 0, 104,
554
- 0, 105, 0, 106, 0, 107, 108, 0,
555
- 109, 0, 110, 0, 111, 0, 112, 0,
556
- 113, 0, 114, 0, 115, 0, 116, 0,
557
- 117, 0, 118, 0, 119, 0, 120, 0,
558
- 121, 0, 122, 0, 123, 0, 124, 0,
559
- 125, 0, 127, 126, 129, 128, 130, 129,
560
- 131, 132, 133, 134, 132, 131, 128, 135,
561
- 136, 137, 138, 139, 140, 138, 141, 129,
562
- 128, 142, 129, 128, 143, 129, 128, 144,
563
- 129, 128, 145, 129, 128, 146, 129, 128,
564
- 147, 129, 128, 148, 129, 128, 138, 129,
565
- 128, 149, 129, 128, 136, 129, 128, 129,
566
- 150, 128, 151, 153, 152, 154, 155, 156,
567
- 157, 158, 159, 152, 0, 160, 129, 128,
568
- 161, 129, 128, 162, 129, 128, 163, 129,
569
- 128, 164, 129, 128, 165, 129, 128, 166,
570
- 129, 128, 138, 129, 128, 167, 129, 128,
571
- 168, 129, 128, 169, 129, 128, 170, 129,
572
- 128, 171, 129, 128, 172, 129, 128, 173,
573
- 129, 128, 174, 129, 128, 129, 175, 128,
574
- 176, 129, 128, 177, 129, 128, 178, 129,
575
- 128, 179, 129, 128, 129, 180, 128, 181,
576
- 129, 128, 140, 129, 128, 182, 129, 128,
577
- 183, 129, 128, 184, 129, 128, 185, 129,
578
- 128, 186, 129, 128, 187, 129, 128, 188,
579
- 129, 128, 189, 129, 128, 190, 129, 128,
580
- 191, 129, 128, 192, 129, 128, 193, 129,
581
- 128, 194, 129, 128, 195, 129, 128, 129,
582
- 150, 128, 196, 129, 128, 197, 129, 128,
583
- 198, 129, 128, 199, 129, 128, 200, 129,
584
- 128, 201, 129, 128, 202, 129, 128, 203,
585
- 129, 128, 204, 129, 128, 205, 129, 128,
586
- 206, 129, 128, 207, 129, 128, 208, 129,
587
- 128, 209, 129, 128, 210, 129, 128, 211,
588
- 129, 128, 212, 129, 128, 213, 129, 128,
589
- 214, 129, 128, 215, 129, 128, 216, 129,
590
- 128, 217, 129, 128, 218, 129, 128, 219,
591
- 129, 128, 220, 129, 128, 195, 129, 128,
592
- 129, 221, 128, 129, 222, 128, 129, 223,
593
- 128, 129, 224, 128, 129, 225, 128, 129,
594
- 226, 128, 129, 227, 128, 129, 228, 128,
595
- 129, 229, 128, 129, 230, 128, 129, 231,
596
- 128, 129, 232, 128, 129, 233, 128, 129,
597
- 234, 128, 235, 0, 236, 0, 237, 0,
598
- 238, 0, 239, 0, 240, 0, 241, 0,
599
- 242, 0, 243, 0, 245, 244, 247, 246,
600
- 248, 247, 249, 250, 250, 249, 246, 251,
601
- 247, 246, 252, 247, 246, 253, 247, 246,
602
- 254, 247, 246, 255, 247, 246, 256, 247,
603
- 246, 257, 247, 246, 258, 247, 246, 259,
604
- 247, 246, 260, 247, 246, 261, 247, 246,
605
- 262, 247, 246, 263, 247, 246, 264, 247,
606
- 246, 265, 247, 246, 266, 247, 246, 267,
607
- 247, 246, 268, 247, 246, 269, 247, 246,
608
- 270, 247, 246, 271, 247, 246, 272, 247,
609
- 246, 273, 247, 246, 274, 247, 246, 275,
610
- 247, 246, 276, 247, 246, 277, 247, 246,
611
- 247, 278, 246, 279, 0, 280, 0, 281,
612
- 0, 282, 0, 283, 0, 284, 0, 285,
613
- 0, 286, 0, 287, 0, 288, 0, 289,
614
- 0, 290, 0, 291, 0, 292, 0, 293,
615
- 0, 294, 0, 295, 0, 296, 0, 297,
616
- 0, 298, 0, 299, 0, 300, 0, 301,
617
- 0, 302, 0, 303, 0, 304, 0, 305,
618
- 0, 306, 0, 307, 0, 308, 0, 309,
619
- 0, 311, 310, 313, 312, 314, 313, 315,
620
- 316, 317, 318, 316, 315, 312, 319, 320,
621
- 321, 322, 323, 322, 324, 313, 312, 325,
622
- 313, 312, 326, 313, 312, 327, 313, 312,
623
- 328, 313, 312, 329, 313, 312, 330, 313,
624
- 312, 331, 313, 312, 322, 313, 312, 332,
625
- 313, 312, 320, 313, 312, 313, 333, 312,
626
- 334, 313, 312, 335, 313, 312, 336, 313,
627
- 312, 337, 313, 312, 338, 313, 312, 339,
628
- 313, 312, 340, 313, 312, 322, 313, 312,
629
- 341, 313, 312, 342, 313, 312, 343, 313,
630
- 312, 344, 313, 312, 345, 313, 312, 346,
631
- 313, 312, 347, 313, 312, 348, 313, 312,
632
- 349, 313, 312, 350, 313, 312, 351, 313,
633
- 312, 352, 313, 312, 353, 313, 312, 354,
634
- 313, 312, 313, 333, 312, 355, 313, 312,
635
- 356, 313, 312, 357, 313, 312, 358, 313,
636
- 312, 359, 313, 312, 360, 313, 312, 361,
637
- 313, 312, 362, 313, 312, 363, 313, 312,
638
- 364, 313, 312, 365, 313, 312, 366, 313,
639
- 312, 367, 313, 312, 368, 313, 312, 369,
640
- 313, 312, 370, 313, 312, 371, 313, 312,
641
- 372, 313, 312, 373, 313, 312, 374, 313,
642
- 312, 375, 313, 312, 376, 313, 312, 377,
643
- 313, 312, 378, 313, 312, 379, 313, 312,
644
- 354, 313, 312, 313, 380, 312, 313, 381,
645
- 312, 313, 382, 312, 313, 383, 312, 313,
646
- 384, 312, 313, 385, 312, 313, 386, 312,
647
- 313, 387, 312, 313, 388, 312, 313, 389,
648
- 312, 313, 390, 312, 313, 391, 312, 313,
649
- 392, 312, 313, 393, 312, 394, 0, 395,
650
- 0, 396, 0, 397, 0, 398, 0, 399,
651
- 0, 400, 0, 401, 0, 402, 0, 403,
652
- 0, 404, 0, 405, 0, 406, 0, 407,
653
- 0, 408, 0, 410, 409, 412, 411, 413,
654
- 412, 414, 415, 416, 417, 415, 414, 411,
655
- 418, 419, 420, 421, 422, 423, 424, 421,
656
- 425, 412, 411, 426, 412, 411, 427, 412,
657
- 411, 428, 412, 411, 429, 412, 411, 430,
658
- 412, 411, 431, 412, 411, 432, 412, 411,
659
- 421, 412, 411, 433, 412, 411, 419, 412,
660
- 411, 412, 434, 411, 435, 412, 411, 436,
661
- 412, 411, 437, 412, 411, 438, 412, 411,
662
- 439, 412, 411, 440, 412, 411, 441, 412,
663
- 411, 421, 412, 411, 442, 412, 411, 443,
664
- 412, 411, 444, 412, 411, 445, 412, 411,
665
- 446, 412, 411, 447, 412, 411, 448, 412,
666
- 411, 449, 412, 411, 450, 412, 411, 451,
667
- 412, 411, 452, 412, 411, 453, 412, 411,
668
- 454, 412, 411, 455, 412, 411, 456, 412,
669
- 411, 457, 412, 411, 458, 412, 411, 459,
670
- 412, 411, 460, 412, 411, 461, 412, 411,
671
- 412, 434, 411, 462, 412, 411, 463, 412,
672
- 411, 464, 412, 411, 465, 412, 411, 466,
673
- 412, 411, 467, 412, 411, 468, 412, 411,
674
- 469, 412, 411, 412, 470, 411, 471, 412,
675
- 411, 472, 412, 411, 473, 412, 411, 474,
676
- 412, 411, 412, 475, 411, 476, 412, 411,
677
- 424, 412, 411, 477, 412, 411, 478, 412,
678
- 411, 479, 412, 411, 480, 412, 411, 481,
679
- 412, 411, 482, 412, 411, 483, 412, 411,
680
- 484, 412, 411, 485, 412, 411, 486, 412,
681
- 411, 487, 412, 411, 488, 412, 411, 489,
682
- 412, 411, 461, 412, 411, 490, 412, 411,
683
- 491, 412, 411, 492, 412, 411, 493, 412,
684
- 411, 494, 412, 411, 495, 412, 411, 496,
685
- 412, 411, 497, 412, 411, 498, 412, 411,
686
- 499, 412, 411, 500, 412, 411, 501, 412,
687
- 411, 502, 412, 411, 503, 412, 411, 504,
688
- 412, 411, 505, 412, 411, 506, 412, 411,
689
- 507, 412, 411, 508, 412, 411, 509, 412,
690
- 411, 510, 412, 411, 511, 412, 411, 512,
691
- 412, 411, 513, 412, 411, 514, 412, 411,
692
- 461, 412, 411, 412, 515, 411, 412, 516,
693
- 411, 412, 517, 411, 412, 518, 411, 412,
694
- 519, 411, 412, 520, 411, 412, 521, 411,
695
- 412, 522, 411, 412, 523, 411, 412, 524,
696
- 411, 412, 525, 411, 412, 526, 411, 412,
697
- 527, 411, 412, 528, 411, 529, 0, 530,
698
- 0, 531, 0, 532, 0, 533, 0, 534,
699
- 0, 535, 0, 536, 0, 537, 0, 538,
700
- 0, 539, 0, 540, 0, 541, 0, 542,
701
- 0, 543, 0, 544, 0, 545, 0, 546,
702
- 0, 547, 0, 548, 0, 549, 0, 550,
703
- 0, 551, 0, 552, 0, 553, 0, 554,
704
- 0, 555, 0, 557, 556, 559, 558, 560,
705
- 559, 561, 562, 563, 562, 561, 558, 564,
706
- 565, 566, 567, 559, 558, 568, 559, 558,
707
- 569, 559, 558, 570, 559, 558, 571, 572,
708
- 559, 558, 573, 559, 558, 574, 559, 558,
709
- 575, 559, 558, 576, 559, 558, 577, 559,
710
- 558, 578, 559, 558, 579, 559, 558, 580,
711
- 559, 558, 581, 559, 558, 582, 559, 558,
712
- 583, 559, 558, 584, 559, 558, 585, 559,
713
- 558, 586, 559, 558, 587, 559, 558, 588,
714
- 559, 558, 559, 589, 558, 590, 559, 558,
715
- 591, 559, 558, 592, 559, 558, 593, 559,
716
- 558, 594, 559, 558, 595, 559, 558, 596,
717
- 559, 558, 588, 559, 558, 597, 559, 558,
718
- 598, 559, 558, 599, 559, 558, 600, 559,
719
- 558, 601, 559, 558, 602, 559, 558, 603,
720
- 559, 558, 604, 559, 558, 559, 605, 558,
721
- 606, 559, 558, 607, 559, 558, 608, 559,
722
- 558, 609, 559, 558, 559, 610, 558, 611,
723
- 559, 558, 566, 559, 558, 612, 559, 558,
724
- 613, 559, 558, 614, 559, 558, 615, 559,
725
- 558, 616, 559, 558, 617, 559, 558, 618,
726
- 559, 558, 619, 559, 558, 620, 559, 558,
727
- 621, 559, 558, 622, 559, 558, 623, 559,
728
- 558, 624, 559, 558, 588, 559, 558, 625,
729
- 559, 558, 626, 559, 558, 627, 559, 558,
730
- 628, 559, 558, 629, 559, 558, 630, 559,
731
- 558, 631, 559, 558, 632, 559, 558, 633,
732
- 559, 558, 634, 559, 558, 635, 559, 558,
733
- 636, 559, 558, 637, 559, 558, 638, 559,
734
- 558, 639, 559, 558, 640, 559, 558, 641,
735
- 559, 558, 642, 559, 558, 643, 559, 558,
736
- 644, 559, 558, 645, 559, 558, 646, 559,
737
- 558, 647, 559, 558, 648, 559, 558, 649,
738
- 559, 558, 588, 559, 558, 559, 650, 558,
739
- 559, 651, 558, 559, 652, 558, 559, 653,
740
- 558, 559, 654, 558, 559, 655, 558, 559,
741
- 656, 558, 559, 657, 558, 559, 658, 558,
742
- 559, 659, 558, 559, 660, 558, 559, 661,
743
- 558, 559, 662, 558, 559, 663, 558, 664,
744
- 0, 3, 0, 665, 0
745
- ]
746
-
747
- class << self
748
- attr_accessor :_lexer_trans_targs
749
- private :_lexer_trans_targs, :_lexer_trans_targs=
750
- end
751
- self._lexer_trans_targs = [
752
- 0, 2, 584, 16, 16, 17, 27, 29,
753
- 13, 43, 46, 3, 13, 52, 11, 60,
754
- 216, 325, 454, 4, 5, 6, 7, 8,
755
- 9, 10, 12, 14, 15, 16, 28, 15,
756
- 16, 28, 18, 19, 20, 21, 20, 20,
757
- 21, 20, 22, 22, 22, 23, 22, 22,
758
- 22, 23, 24, 25, 26, 16, 26, 27,
759
- 16, 28, 30, 31, 32, 33, 34, 35,
760
- 36, 37, 38, 39, 40, 41, 42, 586,
761
- 44, 45, 16, 44, 43, 45, 46, 47,
762
- 48, 50, 51, 49, 47, 48, 49, 47,
763
- 50, 2, 51, 17, 27, 29, 13, 43,
764
- 46, 53, 54, 55, 56, 57, 58, 59,
765
- 61, 62, 63, 64, 176, 65, 66, 67,
766
- 68, 69, 70, 71, 72, 73, 74, 75,
767
- 76, 77, 78, 79, 80, 81, 82, 83,
768
- 82, 83, 84, 83, 16, 162, 95, 85,
769
- 95, 97, 93, 105, 121, 136, 86, 87,
770
- 88, 89, 90, 91, 92, 94, 96, 2,
771
- 16, 16, 17, 27, 29, 13, 43, 46,
772
- 98, 99, 100, 101, 102, 103, 104, 106,
773
- 107, 108, 109, 110, 111, 112, 113, 114,
774
- 115, 116, 117, 118, 119, 120, 122, 123,
775
- 124, 125, 126, 127, 128, 129, 130, 131,
776
- 132, 133, 134, 135, 137, 138, 139, 140,
777
- 141, 142, 143, 144, 145, 146, 147, 148,
778
- 149, 150, 151, 152, 153, 154, 155, 156,
779
- 157, 158, 159, 160, 161, 163, 164, 165,
780
- 166, 167, 168, 169, 170, 171, 172, 173,
781
- 174, 175, 16, 177, 178, 179, 180, 181,
782
- 182, 183, 184, 185, 186, 187, 186, 187,
783
- 188, 187, 16, 189, 190, 191, 192, 193,
784
- 194, 195, 196, 197, 198, 199, 200, 201,
785
- 202, 203, 204, 205, 206, 207, 208, 209,
786
- 210, 211, 212, 213, 214, 215, 96, 217,
787
- 218, 219, 220, 221, 222, 223, 224, 225,
788
- 226, 227, 228, 229, 230, 231, 232, 233,
789
- 234, 235, 236, 237, 238, 239, 240, 241,
790
- 242, 243, 244, 245, 246, 247, 248, 249,
791
- 248, 249, 250, 249, 16, 311, 261, 251,
792
- 261, 262, 259, 270, 285, 252, 253, 254,
793
- 255, 256, 257, 258, 260, 96, 263, 264,
794
- 265, 266, 267, 268, 269, 271, 272, 273,
795
- 274, 275, 276, 277, 278, 279, 280, 281,
796
- 282, 283, 284, 286, 287, 288, 289, 290,
797
- 291, 292, 293, 294, 295, 296, 297, 298,
798
- 299, 300, 301, 302, 303, 304, 305, 306,
799
- 307, 308, 309, 310, 312, 313, 314, 315,
800
- 316, 317, 318, 319, 320, 321, 322, 323,
801
- 324, 16, 326, 327, 328, 329, 330, 331,
802
- 332, 333, 334, 335, 336, 337, 338, 339,
803
- 340, 341, 342, 341, 342, 343, 342, 16,
804
- 440, 354, 344, 354, 355, 352, 363, 384,
805
- 400, 414, 345, 346, 347, 348, 349, 350,
806
- 351, 353, 96, 356, 357, 358, 359, 360,
807
- 361, 362, 364, 365, 366, 367, 368, 369,
808
- 370, 371, 372, 373, 374, 375, 376, 377,
809
- 378, 379, 380, 381, 382, 383, 385, 386,
810
- 387, 388, 389, 390, 391, 392, 393, 394,
811
- 395, 396, 397, 398, 399, 401, 402, 403,
812
- 404, 405, 406, 407, 408, 409, 410, 411,
813
- 412, 413, 415, 416, 417, 418, 419, 420,
814
- 421, 422, 423, 424, 425, 426, 427, 428,
815
- 429, 430, 431, 432, 433, 434, 435, 436,
816
- 437, 438, 439, 441, 442, 443, 444, 445,
817
- 446, 447, 448, 449, 450, 451, 452, 453,
818
- 16, 455, 456, 457, 458, 459, 460, 461,
819
- 462, 463, 464, 465, 466, 467, 468, 469,
820
- 470, 471, 472, 473, 474, 475, 476, 477,
821
- 478, 479, 480, 481, 482, 483, 482, 483,
822
- 484, 483, 16, 570, 485, 514, 530, 544,
823
- 486, 487, 488, 489, 506, 490, 491, 492,
824
- 493, 494, 495, 496, 497, 498, 499, 500,
825
- 501, 502, 503, 504, 505, 96, 507, 508,
826
- 509, 510, 511, 512, 513, 515, 516, 517,
827
- 518, 519, 520, 521, 522, 523, 524, 525,
828
- 526, 527, 528, 529, 531, 532, 533, 534,
829
- 535, 536, 537, 538, 539, 540, 541, 542,
830
- 543, 545, 546, 547, 548, 549, 550, 551,
831
- 552, 553, 554, 555, 556, 557, 558, 559,
832
- 560, 561, 562, 563, 564, 565, 566, 567,
833
- 568, 569, 571, 572, 573, 574, 575, 576,
834
- 577, 578, 579, 580, 581, 582, 583, 16,
835
- 585, 0
836
- ]
837
-
838
- class << self
839
- attr_accessor :_lexer_trans_actions
840
- private :_lexer_trans_actions, :_lexer_trans_actions=
841
- end
842
- self._lexer_trans_actions = [
843
- 43, 29, 0, 0, 54, 3, 1, 0,
844
- 29, 1, 35, 0, 0, 0, 0, 0,
845
- 0, 0, 0, 0, 0, 0, 0, 0,
846
- 0, 0, 0, 0, 57, 149, 126, 0,
847
- 110, 23, 0, 0, 7, 139, 48, 0,
848
- 102, 9, 5, 45, 134, 45, 0, 33,
849
- 122, 33, 33, 0, 11, 106, 0, 0,
850
- 114, 25, 0, 0, 0, 0, 0, 0,
851
- 0, 0, 0, 0, 0, 0, 0, 0,
852
- 0, 27, 118, 27, 51, 0, 0, 0,
853
- 37, 37, 54, 37, 87, 0, 0, 39,
854
- 0, 96, 0, 93, 90, 41, 96, 90,
855
- 99, 0, 0, 0, 0, 0, 0, 0,
856
- 0, 0, 0, 0, 0, 0, 0, 0,
857
- 0, 0, 0, 0, 0, 0, 0, 0,
858
- 0, 0, 0, 0, 0, 0, 57, 144,
859
- 0, 54, 84, 0, 72, 33, 84, 0,
860
- 0, 0, 0, 0, 0, 0, 0, 0,
861
- 0, 0, 0, 0, 0, 0, 15, 63,
862
- 31, 130, 60, 57, 31, 63, 57, 66,
863
- 0, 0, 0, 0, 0, 0, 0, 0,
864
- 0, 0, 0, 0, 0, 0, 0, 0,
865
- 0, 0, 0, 0, 0, 0, 0, 0,
866
- 0, 0, 0, 0, 0, 0, 0, 0,
867
- 0, 0, 0, 0, 0, 0, 0, 0,
868
- 0, 0, 0, 0, 0, 0, 0, 0,
869
- 0, 0, 0, 0, 0, 0, 0, 0,
870
- 0, 0, 0, 0, 0, 0, 0, 0,
871
- 0, 0, 0, 0, 0, 0, 0, 0,
872
- 0, 0, 15, 0, 0, 0, 0, 0,
873
- 0, 0, 0, 0, 57, 144, 0, 54,
874
- 84, 0, 81, 0, 0, 0, 0, 0,
875
- 0, 0, 0, 0, 0, 0, 0, 0,
876
- 0, 0, 0, 0, 0, 0, 0, 0,
877
- 0, 0, 0, 0, 0, 0, 21, 0,
878
- 0, 0, 0, 0, 0, 0, 0, 0,
879
- 0, 0, 0, 0, 0, 0, 0, 0,
880
- 0, 0, 0, 0, 0, 0, 0, 0,
881
- 0, 0, 0, 0, 0, 0, 57, 144,
882
- 0, 54, 84, 0, 78, 33, 84, 0,
883
- 0, 0, 0, 0, 0, 0, 0, 0,
884
- 0, 0, 0, 0, 0, 19, 0, 0,
885
- 0, 0, 0, 0, 0, 0, 0, 0,
886
- 0, 0, 0, 0, 0, 0, 0, 0,
887
- 0, 0, 0, 0, 0, 0, 0, 0,
888
- 0, 0, 0, 0, 0, 0, 0, 0,
889
- 0, 0, 0, 0, 0, 0, 0, 0,
890
- 0, 0, 0, 0, 0, 0, 0, 0,
891
- 0, 0, 0, 0, 0, 0, 0, 0,
892
- 0, 19, 0, 0, 0, 0, 0, 0,
893
- 0, 0, 0, 0, 0, 0, 0, 0,
894
- 0, 57, 144, 0, 54, 84, 0, 75,
895
- 33, 84, 0, 0, 0, 0, 0, 0,
896
- 0, 0, 0, 0, 0, 0, 0, 0,
897
- 0, 0, 17, 0, 0, 0, 0, 0,
898
- 0, 0, 0, 0, 0, 0, 0, 0,
899
- 0, 0, 0, 0, 0, 0, 0, 0,
900
- 0, 0, 0, 0, 0, 0, 0, 0,
901
- 0, 0, 0, 0, 0, 0, 0, 0,
902
- 0, 0, 0, 0, 0, 0, 0, 0,
903
- 0, 0, 0, 0, 0, 0, 0, 0,
904
- 0, 0, 0, 0, 0, 0, 0, 0,
905
- 0, 0, 0, 0, 0, 0, 0, 0,
906
- 0, 0, 0, 0, 0, 0, 0, 0,
907
- 0, 0, 0, 0, 0, 0, 0, 0,
908
- 0, 0, 0, 0, 0, 0, 0, 0,
909
- 17, 0, 0, 0, 0, 0, 0, 0,
910
- 0, 0, 0, 0, 0, 0, 0, 0,
911
- 0, 0, 0, 0, 0, 0, 0, 0,
912
- 0, 0, 0, 0, 57, 144, 0, 54,
913
- 84, 0, 69, 33, 0, 0, 0, 0,
914
- 0, 0, 0, 0, 0, 0, 0, 0,
915
- 0, 0, 0, 0, 0, 0, 0, 0,
916
- 0, 0, 0, 0, 0, 13, 0, 0,
917
- 0, 0, 0, 0, 0, 0, 0, 0,
918
- 0, 0, 0, 0, 0, 0, 0, 0,
919
- 0, 0, 0, 0, 0, 0, 0, 0,
920
- 0, 0, 0, 0, 0, 0, 0, 0,
921
- 0, 0, 0, 0, 0, 0, 0, 0,
922
- 0, 0, 0, 0, 0, 0, 0, 0,
923
- 0, 0, 0, 0, 0, 0, 0, 0,
924
- 0, 0, 0, 0, 0, 0, 0, 0,
925
- 0, 0, 0, 0, 0, 0, 0, 13,
926
- 0, 0
927
- ]
928
-
929
- class << self
930
- attr_accessor :_lexer_eof_actions
931
- private :_lexer_eof_actions, :_lexer_eof_actions=
932
- end
933
- self._lexer_eof_actions = [
934
- 0, 43, 43, 43, 43, 43, 43, 43,
935
- 43, 43, 43, 43, 43, 43, 43, 43,
936
- 43, 43, 43, 43, 43, 43, 43, 43,
937
- 43, 43, 43, 43, 43, 43, 43, 43,
938
- 43, 43, 43, 43, 43, 43, 43, 43,
939
- 43, 43, 43, 43, 43, 43, 43, 43,
940
- 43, 43, 43, 43, 43, 43, 43, 43,
941
- 43, 43, 43, 43, 43, 43, 43, 43,
942
- 43, 43, 43, 43, 43, 43, 43, 43,
943
- 43, 43, 43, 43, 43, 43, 43, 43,
944
- 43, 43, 43, 43, 43, 43, 43, 43,
945
- 43, 43, 43, 43, 43, 43, 43, 43,
946
- 43, 43, 43, 43, 43, 43, 43, 43,
947
- 43, 43, 43, 43, 43, 43, 43, 43,
948
- 43, 43, 43, 43, 43, 43, 43, 43,
949
- 43, 43, 43, 43, 43, 43, 43, 43,
950
- 43, 43, 43, 43, 43, 43, 43, 43,
951
- 43, 43, 43, 43, 43, 43, 43, 43,
952
- 43, 43, 43, 43, 43, 43, 43, 43,
953
- 43, 43, 43, 43, 43, 43, 43, 43,
954
- 43, 43, 43, 43, 43, 43, 43, 43,
955
- 43, 43, 43, 43, 43, 43, 43, 43,
956
- 43, 43, 43, 43, 43, 43, 43, 43,
957
- 43, 43, 43, 43, 43, 43, 43, 43,
958
- 43, 43, 43, 43, 43, 43, 43, 43,
959
- 43, 43, 43, 43, 43, 43, 43, 43,
960
- 43, 43, 43, 43, 43, 43, 43, 43,
961
- 43, 43, 43, 43, 43, 43, 43, 43,
962
- 43, 43, 43, 43, 43, 43, 43, 43,
963
- 43, 43, 43, 43, 43, 43, 43, 43,
964
- 43, 43, 43, 43, 43, 43, 43, 43,
965
- 43, 43, 43, 43, 43, 43, 43, 43,
966
- 43, 43, 43, 43, 43, 43, 43, 43,
967
- 43, 43, 43, 43, 43, 43, 43, 43,
968
- 43, 43, 43, 43, 43, 43, 43, 43,
969
- 43, 43, 43, 43, 43, 43, 43, 43,
970
- 43, 43, 43, 43, 43, 43, 43, 43,
971
- 43, 43, 43, 43, 43, 43, 43, 43,
972
- 43, 43, 43, 43, 43, 43, 43, 43,
973
- 43, 43, 43, 43, 43, 43, 43, 43,
974
- 43, 43, 43, 43, 43, 43, 43, 43,
975
- 43, 43, 43, 43, 43, 43, 43, 43,
976
- 43, 43, 43, 43, 43, 43, 43, 43,
977
- 43, 43, 43, 43, 43, 43, 43, 43,
978
- 43, 43, 43, 43, 43, 43, 43, 43,
979
- 43, 43, 43, 43, 43, 43, 43, 43,
980
- 43, 43, 43, 43, 43, 43, 43, 43,
981
- 43, 43, 43, 43, 43, 43, 43, 43,
982
- 43, 43, 43, 43, 43, 43, 43, 43,
983
- 43, 43, 43, 43, 43, 43, 43, 43,
984
- 43, 43, 43, 43, 43, 43, 43, 43,
985
- 43, 43, 43, 43, 43, 43, 43, 43,
986
- 43, 43, 43, 43, 43, 43, 43, 43,
987
- 43, 43, 43, 43, 43, 43, 43, 43,
988
- 43, 43, 43, 43, 43, 43, 43, 43,
989
- 43, 43, 43, 43, 43, 43, 43, 43,
990
- 43, 43, 43, 43, 43, 43, 43, 43,
991
- 43, 43, 43, 43, 43, 43, 43, 43,
992
- 43, 43, 43, 43, 43, 43, 43, 43,
993
- 43, 43, 43, 43, 43, 43, 43, 43,
994
- 43, 43, 43, 43, 43, 43, 43, 43,
995
- 43, 43, 43, 43, 43, 43, 43, 43,
996
- 43, 43, 43, 43, 43, 43, 43, 43,
997
- 43, 43, 43, 43, 43, 43, 43, 43,
998
- 43, 43, 43, 43, 43, 43, 43, 43,
999
- 43, 43, 43, 43, 43, 43, 43, 43,
1000
- 43, 43, 43, 43, 43, 43, 43, 43,
1001
- 43, 43, 43, 43, 43, 43, 43, 43,
1002
- 43, 43, 43, 43, 43, 43, 43, 43,
1003
- 43, 43, 43, 43, 43, 43, 43, 43,
1004
- 43, 43, 43, 43, 43, 43, 43, 43,
1005
- 43, 43, 43, 43, 43, 43, 43, 43,
1006
- 43, 43, 43, 43, 43, 43, 43, 43,
1007
- 43, 43, 43
1008
- ]
1009
-
1010
- class << self
1011
- attr_accessor :lexer_start
1012
- end
1013
- self.lexer_start = 1;
1014
- class << self
1015
- attr_accessor :lexer_first_final
1016
- end
1017
- self.lexer_first_final = 586;
1018
- class << self
1019
- attr_accessor :lexer_error
1020
- end
1021
- self.lexer_error = 0;
1022
-
1023
- class << self
1024
- attr_accessor :lexer_en_main
1025
- end
1026
- self.lexer_en_main = 1;
1027
-
1028
-
1029
- # line 133 "ragel/i18n/bg.rb.rl"
1030
- end
1031
-
1032
- def scan(data)
1033
- data = (data + "\n%_FEATURE_END_%").unpack("c*") # Explicit EOF simplifies things considerably
1034
- eof = pe = data.length
1035
-
1036
- @line_number = 1
1037
- @last_newline = 0
1038
-
1039
-
1040
- # line 1041 "lib/gherkin/lexer/bg.rb"
1041
- begin
1042
- p ||= 0
1043
- pe ||= data.length
1044
- cs = lexer_start
1045
- end
1046
-
1047
- # line 143 "ragel/i18n/bg.rb.rl"
1048
-
1049
- # line 1050 "lib/gherkin/lexer/bg.rb"
1050
- begin
1051
- _klen, _trans, _keys, _acts, _nacts = nil
1052
- _goto_level = 0
1053
- _resume = 10
1054
- _eof_trans = 15
1055
- _again = 20
1056
- _test_eof = 30
1057
- _out = 40
1058
- while true
1059
- _trigger_goto = false
1060
- if _goto_level <= 0
1061
- if p == pe
1062
- _goto_level = _test_eof
1063
- next
1064
- end
1065
- if cs == 0
1066
- _goto_level = _out
1067
- next
1068
- end
1069
- end
1070
- if _goto_level <= _resume
1071
- _keys = _lexer_key_offsets[cs]
1072
- _trans = _lexer_index_offsets[cs]
1073
- _klen = _lexer_single_lengths[cs]
1074
- _break_match = false
1075
-
1076
- begin
1077
- if _klen > 0
1078
- _lower = _keys
1079
- _upper = _keys + _klen - 1
1080
-
1081
- loop do
1082
- break if _upper < _lower
1083
- _mid = _lower + ( (_upper - _lower) >> 1 )
1084
-
1085
- if data[p].ord < _lexer_trans_keys[_mid]
1086
- _upper = _mid - 1
1087
- elsif data[p].ord > _lexer_trans_keys[_mid]
1088
- _lower = _mid + 1
1089
- else
1090
- _trans += (_mid - _keys)
1091
- _break_match = true
1092
- break
1093
- end
1094
- end # loop
1095
- break if _break_match
1096
- _keys += _klen
1097
- _trans += _klen
1098
- end
1099
- _klen = _lexer_range_lengths[cs]
1100
- if _klen > 0
1101
- _lower = _keys
1102
- _upper = _keys + (_klen << 1) - 2
1103
- loop do
1104
- break if _upper < _lower
1105
- _mid = _lower + (((_upper-_lower) >> 1) & ~1)
1106
- if data[p].ord < _lexer_trans_keys[_mid]
1107
- _upper = _mid - 2
1108
- elsif data[p].ord > _lexer_trans_keys[_mid+1]
1109
- _lower = _mid + 2
1110
- else
1111
- _trans += ((_mid - _keys) >> 1)
1112
- _break_match = true
1113
- break
1114
- end
1115
- end # loop
1116
- break if _break_match
1117
- _trans += _klen
1118
- end
1119
- end while false
1120
- _trans = _lexer_indicies[_trans]
1121
- cs = _lexer_trans_targs[_trans]
1122
- if _lexer_trans_actions[_trans] != 0
1123
- _acts = _lexer_trans_actions[_trans]
1124
- _nacts = _lexer_actions[_acts]
1125
- _acts += 1
1126
- while _nacts > 0
1127
- _nacts -= 1
1128
- _acts += 1
1129
- case _lexer_actions[_acts - 1]
1130
- when 0 then
1131
- # line 11 "ragel/i18n/bg.rb.rl"
1132
- begin
1133
-
1134
- @content_start = p
1135
- @current_line = @line_number
1136
- @start_col = p - @last_newline - "#{@keyword}:".length
1137
- end
1138
- when 1 then
1139
- # line 17 "ragel/i18n/bg.rb.rl"
1140
- begin
1141
-
1142
- @current_line = @line_number
1143
- @start_col = p - @last_newline
1144
- end
1145
- when 2 then
1146
- # line 22 "ragel/i18n/bg.rb.rl"
1147
- begin
1148
-
1149
- @content_start = p
1150
- end
1151
- when 3 then
1152
- # line 26 "ragel/i18n/bg.rb.rl"
1153
- begin
1154
-
1155
- @docstring_content_type_start = p
1156
- end
1157
- when 4 then
1158
- # line 29 "ragel/i18n/bg.rb.rl"
1159
- begin
1160
-
1161
- @docstring_content_type_end = p
1162
- end
1163
- when 5 then
1164
- # line 33 "ragel/i18n/bg.rb.rl"
1165
- begin
1166
-
1167
- con = unindent(@start_col, utf8_pack(data[@content_start...@next_keyword_start-1]).sub(/(\r?\n)?([\t ])*\Z/, '').gsub(/\\"\\"\\"/, '"""'))
1168
- con_type = utf8_pack(data[@docstring_content_type_start...@docstring_content_type_end]).strip
1169
- @listener.doc_string(con_type, con, @current_line)
1170
- end
1171
- when 6 then
1172
- # line 38 "ragel/i18n/bg.rb.rl"
1173
- begin
1174
-
1175
- p = store_keyword_content(:feature, data, p, eof)
1176
- end
1177
- when 7 then
1178
- # line 42 "ragel/i18n/bg.rb.rl"
1179
- begin
1180
-
1181
- p = store_keyword_content(:background, data, p, eof)
1182
- end
1183
- when 8 then
1184
- # line 46 "ragel/i18n/bg.rb.rl"
1185
- begin
1186
-
1187
- p = store_keyword_content(:scenario, data, p, eof)
1188
- end
1189
- when 9 then
1190
- # line 50 "ragel/i18n/bg.rb.rl"
1191
- begin
1192
-
1193
- p = store_keyword_content(:scenario_outline, data, p, eof)
1194
- end
1195
- when 10 then
1196
- # line 54 "ragel/i18n/bg.rb.rl"
1197
- begin
1198
-
1199
- p = store_keyword_content(:examples, data, p, eof)
1200
- end
1201
- when 11 then
1202
- # line 58 "ragel/i18n/bg.rb.rl"
1203
- begin
1204
-
1205
- con = utf8_pack(data[@content_start...p]).strip
1206
- @listener.step(@keyword, con, @current_line)
1207
- end
1208
- when 12 then
1209
- # line 63 "ragel/i18n/bg.rb.rl"
1210
- begin
1211
-
1212
- con = utf8_pack(data[@content_start...p]).strip
1213
- @listener.comment(con, @line_number)
1214
- @keyword_start = nil
1215
- end
1216
- when 13 then
1217
- # line 69 "ragel/i18n/bg.rb.rl"
1218
- begin
1219
-
1220
- con = utf8_pack(data[@content_start...p]).strip
1221
- @listener.tag(con, @current_line)
1222
- @keyword_start = nil
1223
- end
1224
- when 14 then
1225
- # line 75 "ragel/i18n/bg.rb.rl"
1226
- begin
1227
-
1228
- @line_number += 1
1229
- end
1230
- when 15 then
1231
- # line 79 "ragel/i18n/bg.rb.rl"
1232
- begin
1233
-
1234
- @last_newline = p + 1
1235
- end
1236
- when 16 then
1237
- # line 83 "ragel/i18n/bg.rb.rl"
1238
- begin
1239
-
1240
- @keyword_start ||= p
1241
- end
1242
- when 17 then
1243
- # line 87 "ragel/i18n/bg.rb.rl"
1244
- begin
1245
-
1246
- @keyword = utf8_pack(data[@keyword_start...p]).sub(/:$/,'')
1247
- @keyword_start = nil
1248
- end
1249
- when 18 then
1250
- # line 92 "ragel/i18n/bg.rb.rl"
1251
- begin
1252
-
1253
- @next_keyword_start = p
1254
- end
1255
- when 19 then
1256
- # line 96 "ragel/i18n/bg.rb.rl"
1257
- begin
1258
-
1259
- p = p - 1
1260
- current_row = []
1261
- @current_line = @line_number
1262
- end
1263
- when 20 then
1264
- # line 102 "ragel/i18n/bg.rb.rl"
1265
- begin
1266
-
1267
- @content_start = p
1268
- end
1269
- when 21 then
1270
- # line 106 "ragel/i18n/bg.rb.rl"
1271
- begin
1272
-
1273
- con = utf8_pack(data[@content_start...p]).strip
1274
- current_row << con.gsub(/\\\|/, "|").gsub(/\\n/, "\n").gsub(/\\\\/, "\\")
1275
- end
1276
- when 22 then
1277
- # line 111 "ragel/i18n/bg.rb.rl"
1278
- begin
1279
-
1280
- @listener.row(current_row, @current_line)
1281
- end
1282
- when 23 then
1283
- # line 115 "ragel/i18n/bg.rb.rl"
1284
- begin
1285
-
1286
- if cs < lexer_first_final
1287
- content = current_line_content(data, p)
1288
- 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])
1289
- else
1290
- @listener.eof
1291
- end
1292
- end
1293
- # line 1294 "lib/gherkin/lexer/bg.rb"
1294
- end # action switch
1295
- end
1296
- end
1297
- if _trigger_goto
1298
- next
1299
- end
1300
- end
1301
- if _goto_level <= _again
1302
- if cs == 0
1303
- _goto_level = _out
1304
- next
1305
- end
1306
- p += 1
1307
- if p != pe
1308
- _goto_level = _resume
1309
- next
1310
- end
1311
- end
1312
- if _goto_level <= _test_eof
1313
- if p == eof
1314
- __acts = _lexer_eof_actions[cs]
1315
- __nacts = _lexer_actions[__acts]
1316
- __acts += 1
1317
- while __nacts > 0
1318
- __nacts -= 1
1319
- __acts += 1
1320
- case _lexer_actions[__acts - 1]
1321
- when 23 then
1322
- # line 115 "ragel/i18n/bg.rb.rl"
1323
- begin
1324
-
1325
- if cs < lexer_first_final
1326
- content = current_line_content(data, p)
1327
- 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])
1328
- else
1329
- @listener.eof
1330
- end
1331
- end
1332
- # line 1333 "lib/gherkin/lexer/bg.rb"
1333
- end # eof action switch
1334
- end
1335
- if _trigger_goto
1336
- next
1337
- end
1338
- end
1339
- end
1340
- if _goto_level <= _out
1341
- break
1342
- end
1343
- end
1344
- end
1345
-
1346
- # line 144 "ragel/i18n/bg.rb.rl"
1347
- end
1348
-
1349
- def unindent(startcol, text)
1350
- text.gsub(/^[\t ]{0,#{startcol}}/, "")
1351
- end
1352
-
1353
- def store_keyword_content(event, data, p, eof)
1354
- end_point = (!@next_keyword_start or (p == eof)) ? p : @next_keyword_start
1355
- content = unindent(@start_col + 2, utf8_pack(data[@content_start...end_point])).rstrip
1356
- content_lines = content.split("\n")
1357
- name = content_lines.shift || ""
1358
- name.strip!
1359
- description = content_lines.join("\n")
1360
- @listener.__send__(event, @keyword, name, description, @current_line)
1361
- @next_keyword_start ? @next_keyword_start - 1 : p
1362
- ensure
1363
- @next_keyword_start = nil
1364
- end
1365
-
1366
- def current_line_content(data, p)
1367
- rest = data[@last_newline..-1]
1368
- utf8_pack(rest[0..rest.index(10)||-1]).strip # 10 is \n
1369
- end
1370
-
1371
- if (RUBY_VERSION =~ /^1\.9|2\.0/)
1372
- def utf8_pack(array)
1373
- array.pack("c*").force_encoding("UTF-8")
1374
- end
1375
- else
1376
- def utf8_pack(array)
1377
- array.pack("c*")
1378
- end
1379
- end
1380
- end
1381
- end
1382
- end