gherkin 2.3.5-x86-mswin32 → 2.3.6-x86-mswin32

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 (74) hide show
  1. data/.gitmodules +3 -0
  2. data/Gemfile +1 -1
  3. data/History.txt +9 -0
  4. data/README.rdoc +34 -2
  5. data/VERSION +1 -1
  6. data/features/step_definitions/pretty_formatter_steps.rb +1 -0
  7. data/gherkin.gemspec +4 -1
  8. data/js/.gitignore +1 -0
  9. data/js/.npmignore +1 -0
  10. data/js/lib/gherkin/lexer/.gitignore +1 -0
  11. data/lib/gherkin/i18n.rb +5 -0
  12. data/lib/gherkin/i18n.yml +3 -3
  13. data/lib/gherkin/js_lexer.rb +20 -0
  14. data/lib/gherkin/lexer/i18n_lexer.rb +1 -1
  15. data/lib/gherkin/rubify.rb +7 -0
  16. data/ragel/lexer.c.rl.erb +30 -32
  17. data/ragel/lexer.js.rl.erb +208 -0
  18. data/ragel/lexer.rb.rl.erb +1 -1
  19. data/spec/gherkin/c_lexer_spec.rb +1 -0
  20. data/spec/gherkin/js_lexer_spec.rb +23 -0
  21. data/spec/gherkin/rb_lexer_spec.rb +1 -0
  22. data/spec/gherkin/sexp_recorder.rb +14 -8
  23. data/spec/gherkin/shared/bom_group.rb +20 -0
  24. data/spec/gherkin/shared/lexer_group.rb +0 -10
  25. data/spec/spec_helper.rb +2 -0
  26. data/tasks/compile.rake +9 -0
  27. data/tasks/ikvm.rake +1 -0
  28. data/tasks/ragel_task.rb +8 -2
  29. data/tasks/release.rake +8 -1
  30. metadata +29 -52
  31. data/js/lib/gherkin/lexer/i18n/ar.js +0 -1094
  32. data/js/lib/gherkin/lexer/i18n/bg.js +0 -1308
  33. data/js/lib/gherkin/lexer/i18n/ca.js +0 -1236
  34. data/js/lib/gherkin/lexer/i18n/cs.js +0 -1090
  35. data/js/lib/gherkin/lexer/i18n/cy_gb.js +0 -958
  36. data/js/lib/gherkin/lexer/i18n/da.js +0 -974
  37. data/js/lib/gherkin/lexer/i18n/de.js +0 -1082
  38. data/js/lib/gherkin/lexer/i18n/en.js +0 -965
  39. data/js/lib/gherkin/lexer/i18n/en_au.js +0 -902
  40. data/js/lib/gherkin/lexer/i18n/en_lol.js +0 -859
  41. data/js/lib/gherkin/lexer/i18n/en_pirate.js +0 -1136
  42. data/js/lib/gherkin/lexer/i18n/en_scouse.js +0 -1289
  43. data/js/lib/gherkin/lexer/i18n/en_tx.js +0 -942
  44. data/js/lib/gherkin/lexer/i18n/eo.js +0 -916
  45. data/js/lib/gherkin/lexer/i18n/es.js +0 -1049
  46. data/js/lib/gherkin/lexer/i18n/et.js +0 -915
  47. data/js/lib/gherkin/lexer/i18n/fi.js +0 -894
  48. data/js/lib/gherkin/lexer/i18n/fr.js +0 -1116
  49. data/js/lib/gherkin/lexer/i18n/he.js +0 -1044
  50. data/js/lib/gherkin/lexer/i18n/hr.js +0 -994
  51. data/js/lib/gherkin/lexer/i18n/hu.js +0 -1043
  52. data/js/lib/gherkin/lexer/i18n/id.js +0 -884
  53. data/js/lib/gherkin/lexer/i18n/it.js +0 -1007
  54. data/js/lib/gherkin/lexer/i18n/ja.js +0 -1344
  55. data/js/lib/gherkin/lexer/i18n/ko.js +0 -1028
  56. data/js/lib/gherkin/lexer/i18n/lt.js +0 -972
  57. data/js/lib/gherkin/lexer/i18n/lu.js +0 -1057
  58. data/js/lib/gherkin/lexer/i18n/lv.js +0 -1092
  59. data/js/lib/gherkin/lexer/i18n/nl.js +0 -1036
  60. data/js/lib/gherkin/lexer/i18n/no.js +0 -986
  61. data/js/lib/gherkin/lexer/i18n/pl.js +0 -1140
  62. data/js/lib/gherkin/lexer/i18n/pt.js +0 -1000
  63. data/js/lib/gherkin/lexer/i18n/ro.js +0 -1089
  64. data/js/lib/gherkin/lexer/i18n/ru.js +0 -1560
  65. data/js/lib/gherkin/lexer/i18n/sk.js +0 -972
  66. data/js/lib/gherkin/lexer/i18n/sr_cyrl.js +0 -1728
  67. data/js/lib/gherkin/lexer/i18n/sr_latn.js +0 -1220
  68. data/js/lib/gherkin/lexer/i18n/sv.js +0 -997
  69. data/js/lib/gherkin/lexer/i18n/tr.js +0 -1014
  70. data/js/lib/gherkin/lexer/i18n/uk.js +0 -1572
  71. data/js/lib/gherkin/lexer/i18n/uz.js +0 -1302
  72. data/js/lib/gherkin/lexer/i18n/vi.js +0 -1124
  73. data/js/lib/gherkin/lexer/i18n/zh_cn.js +0 -902
  74. data/js/lib/gherkin/lexer/i18n/zh_tw.js +0 -940
@@ -150,7 +150,7 @@ module Gherkin
150
150
 
151
151
  def current_line_content(data, p)
152
152
  rest = data[@last_newline..-1]
153
- utf8_pack(rest[0..rest.index(10)||-1]).strip
153
+ utf8_pack(rest[0..rest.index(10)||-1]).strip # 10 is \n
154
154
  end
155
155
 
156
156
  if (RUBY_VERSION =~ /^1\.9/)
@@ -15,6 +15,7 @@ module Gherkin
15
15
  it_should_behave_like "a Gherkin lexer lexing tags"
16
16
  it_should_behave_like "a Gherkin lexer lexing py_strings"
17
17
  it_should_behave_like "a Gherkin lexer lexing rows"
18
+ it_should_behave_like "parsing windows files"
18
19
  end
19
20
  end
20
21
  end
@@ -0,0 +1,23 @@
1
+ #encoding: utf-8
2
+ if !defined?(JRUBY_VERSION) && !(defined?(RUBY_ENGINE) && RUBY_ENGINE == "ironruby") && ENV['GHERKIN_JS']
3
+ require 'spec_helper'
4
+ require 'gherkin/js_lexer'
5
+
6
+ module Gherkin
7
+ module Lexer
8
+ describe "Javascript Lexer" do
9
+ before do
10
+ @listener = Gherkin::SexpRecorder.new
11
+ @lexer = Gherkin::JsLexer['en'].new(@listener)
12
+ end
13
+
14
+ it_should_behave_like "a Gherkin lexer"
15
+ it_should_behave_like "a Gherkin lexer lexing tags"
16
+ it_should_behave_like "a Gherkin lexer lexing py_strings"
17
+ it_should_behave_like "a Gherkin lexer lexing rows"
18
+ # TODO - make this pass!
19
+ # it_should_behave_like "parsing windows files"
20
+ end
21
+ end
22
+ end
23
+ end
@@ -14,6 +14,7 @@ module Gherkin
14
14
  it_should_behave_like "a Gherkin lexer lexing tags"
15
15
  it_should_behave_like "a Gherkin lexer lexing py_strings"
16
16
  it_should_behave_like "a Gherkin lexer lexing rows"
17
+ it_should_behave_like "parsing windows files"
17
18
  end
18
19
  end
19
20
  end
@@ -9,13 +9,16 @@ module Gherkin
9
9
  @sexps = []
10
10
  end
11
11
 
12
- def method_missing(event, *args)
13
- event = :scenario_outline if event == :scenarioOutline # Special Java Lexer handling
14
- event = :py_string if event == :pyString # Special Java Lexer handling
15
- event = :syntax_error if event == :syntaxError # Special Java Lexer handling
16
- args = rubify(args)
17
- args = sexpify(args)
18
- @sexps << [event] + args
12
+ # We can't use method_missing - therubyracer isn't able to invoke methods like that.
13
+ [:comment, :tag, :feature, :background, :scenario, :scenario_outline, :examples, :step, :py_string, :row, :eof, :uri, :syntax_error].each do |event|
14
+ define_method(event) do |*args|
15
+ event = :scenario_outline if event == :scenarioOutline # Special Java Lexer handling
16
+ event = :py_string if event == :pyString # Special Java Lexer handling
17
+ event = :syntax_error if event == :syntaxError # Special Java Lexer handling
18
+ args = rubify(args)
19
+ args = sexpify(args)
20
+ @sexps << [event] + args
21
+ end
19
22
  end
20
23
 
21
24
  def to_sexp
@@ -36,7 +39,10 @@ module Gherkin
36
39
  end
37
40
 
38
41
  def sexpify(o)
39
- if (defined?(JRUBY_VERSION) && Java.java.util.Collection === o) || Array === o
42
+ array = (defined?(JRUBY_VERSION) && Java.java.util.Collection === o) ||
43
+ (defined?(V8) && V8::Array === o) ||
44
+ Array === o
45
+ if array
40
46
  o.map{|e| sexpify(e)}
41
47
  elsif(Formatter::Model::Row === o)
42
48
  {
@@ -0,0 +1,20 @@
1
+ #encoding: utf-8
2
+ require 'spec_helper'
3
+
4
+ module Gherkin
5
+ module Lexer
6
+ shared_examples_for "parsing windows files" do
7
+ describe "with BOM" do
8
+ it "should work just fine" do
9
+ scan_file("with_bom.feature")
10
+ @listener.to_sexp.should == [
11
+ [:feature, "Feature", "Feature Text", "", 1],
12
+ [:scenario, "Scenario", "Reading a Scenario", "", 2],
13
+ [:step, "Given ", "there is a step", 3],
14
+ [:eof]
15
+ ]
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -545,16 +545,6 @@ f'real
545
545
  [:eof]
546
546
  ]
547
547
  end
548
-
549
- it "should cope with the retarded BOM that many Windows editors insert at the beginning of a file" do
550
- scan_file("with_bom.feature")
551
- @listener.to_sexp.should == [
552
- [:feature, "Feature", "Feature Text", "", 1],
553
- [:scenario, "Scenario", "Reading a Scenario", "", 2],
554
- [:step, "Given ", "there is a step", 3],
555
- [:eof]
556
- ]
557
- end
558
548
  end
559
549
 
560
550
  describe "errors" do
data/spec/spec_helper.rb CHANGED
@@ -8,10 +8,12 @@ require 'stringio'
8
8
  require 'gherkin/sexp_recorder'
9
9
  require 'gherkin/output_stream_string_io'
10
10
  require 'gherkin/java_libs'
11
+ require 'gherkin/shared/bom_group'
11
12
  require 'gherkin/shared/lexer_group'
12
13
  require 'gherkin/shared/tags_group'
13
14
  require 'gherkin/shared/py_string_group'
14
15
  require 'gherkin/shared/row_group'
16
+ $:.unshift(File.dirname(__FILE__))
15
17
 
16
18
  module GherkinSpecHelper
17
19
  def scan_file(file)
data/tasks/compile.rake CHANGED
@@ -12,6 +12,7 @@ CLEAN.include [
12
12
  'ext/**/*.c',
13
13
  'java/src/main/java/gherkin/lexer/i18n/*.java',
14
14
  'java/src/main/resources/gherkin/*.properties',
15
+ 'js/lib/gherkin/lexer/*.js'
15
16
  ]
16
17
 
17
18
  desc "Compile the Java extensions"
@@ -21,6 +22,9 @@ file 'lib/gherkin.jar' => Dir['java/src/main/java/**/*.java'] do
21
22
  sh("mvn -f java/pom.xml package")
22
23
  end
23
24
 
25
+ desc "Build Javascript lexers"
26
+ task :js
27
+
24
28
  rl_langs = ENV['RL_LANGS'] ? ENV['RL_LANGS'].split(',') : []
25
29
  langs = Gherkin::I18n.all.select { |lang| rl_langs.empty? || rl_langs.include?(lang.iso_code) }
26
30
 
@@ -39,6 +43,7 @@ end
39
43
  langs.each do |i18n|
40
44
  java = RagelTask.new('java', i18n)
41
45
  rb = RagelTask.new('rb', i18n)
46
+ js = RagelTask.new('js', i18n)
42
47
 
43
48
  lang_country = i18n.iso_code.split(/-/)
44
49
  suffix = lang_country.length == 1 ? lang_country[0] : "#{lang_country[0]}_#{lang_country[1].upcase}"
@@ -87,10 +92,14 @@ EOF
87
92
  Rake::Task["compile:gherkin_lexer_#{i18n.underscored_iso_code}"].prerequisites.unshift(extconf)
88
93
  Rake::Task["compile:gherkin_lexer_#{i18n.underscored_iso_code}"].prerequisites.unshift(c.target)
89
94
  Rake::Task["compile:gherkin_lexer_#{i18n.underscored_iso_code}"].prerequisites.unshift(rb.target)
95
+ Rake::Task["compile:gherkin_lexer_#{i18n.underscored_iso_code}"].prerequisites.unshift(js.target) if ENV['GHERKIN_JS']
90
96
 
91
97
  Rake::Task["compile"].prerequisites.unshift(extconf)
92
98
  Rake::Task["compile"].prerequisites.unshift(c.target)
93
99
  Rake::Task["compile"].prerequisites.unshift(rb.target)
100
+ Rake::Task["compile"].prerequisites.unshift(js.target) if ENV['GHERKIN_JS']
101
+
102
+ Rake::Task["js"].prerequisites.unshift(js.target) if ENV['GHERKIN_JS']
94
103
  end
95
104
  rescue LoadError
96
105
  unless defined?($c_warned)
data/tasks/ikvm.rake CHANGED
@@ -65,6 +65,7 @@ namespace :ikvm do
65
65
  desc 'Copy the IKVM .dll files over to the pkg dir'
66
66
  task :copy_ikvm_dlls do
67
67
  Dir['/usr/local/ikvm/bin/{IKVM.OpenJDK.Core,IKVM.OpenJDK.Text,IKVM.OpenJDK.Security,IKVM.Runtime}.dll'].each do |dll|
68
+ mkdir_p 'release' unless File.directory?('release')
68
69
  cp dll, 'release'
69
70
  cp dll, 'lib'
70
71
  end
data/tasks/ragel_task.rb CHANGED
@@ -14,6 +14,10 @@ class RagelTask
14
14
  file target => [lang_ragel, common_ragel] do
15
15
  mkdir_p(File.dirname(target)) unless File.directory?(File.dirname(target))
16
16
  sh "ragel #{flags} #{lang_ragel} -o #{target}"
17
+ if(@lang == 'js')
18
+ # Ragel chokes if we put the escaped triple quotes in .rl, so we'll do the replace with sed after the fact. Lots of backslashes!!
19
+ sh %{sed -i '' 's/ESCAPED_TRIPLE_QUOTE/\\\\\\\\\\\\"\\\\\\\\\\\\"\\\\\\\\\\\\"/' #{target}}
20
+ end
17
21
  end
18
22
 
19
23
  file lang_ragel => lang_erb do
@@ -29,7 +33,8 @@ class RagelTask
29
33
  {
30
34
  'c' => "ext/gherkin_lexer_#{@i18n.underscored_iso_code}/gherkin_lexer_#{@i18n.underscored_iso_code}.c",
31
35
  'java' => "java/src/main/java/gherkin/lexer/i18n/#{@i18n.underscored_iso_code.upcase}.java",
32
- 'rb' => "lib/gherkin/rb_lexer/#{@i18n.underscored_iso_code}.rb"
36
+ 'rb' => "lib/gherkin/rb_lexer/#{@i18n.underscored_iso_code}.rb",
37
+ 'js' => "js/lib/gherkin/lexer/#{@i18n.underscored_iso_code}.js"
33
38
  }[@lang]
34
39
  end
35
40
 
@@ -53,7 +58,8 @@ class RagelTask
53
58
  {
54
59
  'c' => '-C',
55
60
  'java' => '-J',
56
- 'rb' => '-R'
61
+ 'rb' => '-R',
62
+ 'js' => '-E'
57
63
  }[@lang]
58
64
  end
59
65
 
data/tasks/release.rake CHANGED
@@ -1,6 +1,6 @@
1
1
  namespace :release do
2
2
  desc 'Upload all packages and tag git'
3
- task :ALL => ['gems:sanity', :push_dll, :push_jar, :push_native_gems, :release]
3
+ task :ALL => ['gems:sanity', :push_dll, :push_jar, :push_native_gems, :push_npm_package, :release]
4
4
 
5
5
  desc 'Push all gems to rubygems.org (gemcutter)'
6
6
  task :push_native_gems do
@@ -27,4 +27,11 @@ namespace :release do
27
27
  sh("mvn -Dmaven.wagon.provider.http=httpclient deploy")
28
28
  end
29
29
  end
30
+
31
+ desc 'Push npm package to http://npmjs.org/'
32
+ task :push_npm_package do
33
+ Dir.chdir('js') do
34
+ sh("npm publish")
35
+ end
36
+ end
30
37
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: gherkin
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 2.3.5
5
+ version: 2.3.6
6
6
  platform: x86-mswin32
7
7
  authors:
8
8
  - Mike Sassak
@@ -12,7 +12,7 @@ autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
14
 
15
- date: 2011-03-20 00:00:00 +00:00
15
+ date: 2011-04-20 00:00:00 +01:00
16
16
  default_executable: gherkin
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
@@ -82,28 +82,39 @@ dependencies:
82
82
  type: :development
83
83
  version_requirements: *id006
84
84
  - !ruby/object:Gem::Dependency
85
- name: term-ansicolor
85
+ name: therubyracer
86
86
  prerelease: false
87
87
  requirement: &id007 !ruby/object:Gem::Requirement
88
88
  none: false
89
89
  requirements:
90
90
  - - ">="
91
91
  - !ruby/object:Gem::Version
92
- version: 1.0.5
92
+ version: 0.8.2.pre2
93
93
  type: :development
94
94
  version_requirements: *id007
95
95
  - !ruby/object:Gem::Dependency
96
- name: builder
96
+ name: term-ansicolor
97
97
  prerelease: false
98
98
  requirement: &id008 !ruby/object:Gem::Requirement
99
99
  none: false
100
100
  requirements:
101
101
  - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: 3.0.0
103
+ version: 1.0.5
104
104
  type: :development
105
105
  version_requirements: *id008
106
- description: A fast Gherkin lexer/parser based on the Ragel State Machine Compiler.
106
+ - !ruby/object:Gem::Dependency
107
+ name: builder
108
+ prerelease: false
109
+ requirement: &id009 !ruby/object:Gem::Requirement
110
+ none: false
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ version: 3.0.0
115
+ type: :development
116
+ version_requirements: *id009
117
+ description: A fast Gherkin lexer/parser for based on the Ragel State Machine Compiler.
107
118
  email: cukes@googlegroups.com
108
119
  executables: []
109
120
 
@@ -116,6 +127,7 @@ extra_rdoc_files:
116
127
  files:
117
128
  - .gitattributes
118
129
  - .gitignore
130
+ - .gitmodules
119
131
  - .mailmap
120
132
  - .rspec
121
133
  - .rvmrc
@@ -146,50 +158,9 @@ files:
146
158
  - java/.gitignore
147
159
  - java/src/main/java/gherkin/lexer/i18n/.gitignore
148
160
  - java/src/main/resources/gherkin/.gitignore
149
- - js/lib/gherkin/lexer/i18n/ar.js
150
- - js/lib/gherkin/lexer/i18n/bg.js
151
- - js/lib/gherkin/lexer/i18n/ca.js
152
- - js/lib/gherkin/lexer/i18n/cs.js
153
- - js/lib/gherkin/lexer/i18n/cy_gb.js
154
- - js/lib/gherkin/lexer/i18n/da.js
155
- - js/lib/gherkin/lexer/i18n/de.js
156
- - js/lib/gherkin/lexer/i18n/en.js
157
- - js/lib/gherkin/lexer/i18n/en_au.js
158
- - js/lib/gherkin/lexer/i18n/en_lol.js
159
- - js/lib/gherkin/lexer/i18n/en_pirate.js
160
- - js/lib/gherkin/lexer/i18n/en_scouse.js
161
- - js/lib/gherkin/lexer/i18n/en_tx.js
162
- - js/lib/gherkin/lexer/i18n/eo.js
163
- - js/lib/gherkin/lexer/i18n/es.js
164
- - js/lib/gherkin/lexer/i18n/et.js
165
- - js/lib/gherkin/lexer/i18n/fi.js
166
- - js/lib/gherkin/lexer/i18n/fr.js
167
- - js/lib/gherkin/lexer/i18n/he.js
168
- - js/lib/gherkin/lexer/i18n/hr.js
169
- - js/lib/gherkin/lexer/i18n/hu.js
170
- - js/lib/gherkin/lexer/i18n/id.js
171
- - js/lib/gherkin/lexer/i18n/it.js
172
- - js/lib/gherkin/lexer/i18n/ja.js
173
- - js/lib/gherkin/lexer/i18n/ko.js
174
- - js/lib/gherkin/lexer/i18n/lt.js
175
- - js/lib/gherkin/lexer/i18n/lu.js
176
- - js/lib/gherkin/lexer/i18n/lv.js
177
- - js/lib/gherkin/lexer/i18n/nl.js
178
- - js/lib/gherkin/lexer/i18n/no.js
179
- - js/lib/gherkin/lexer/i18n/pl.js
180
- - js/lib/gherkin/lexer/i18n/pt.js
181
- - js/lib/gherkin/lexer/i18n/ro.js
182
- - js/lib/gherkin/lexer/i18n/ru.js
183
- - js/lib/gherkin/lexer/i18n/sk.js
184
- - js/lib/gherkin/lexer/i18n/sr_cyrl.js
185
- - js/lib/gherkin/lexer/i18n/sr_latn.js
186
- - js/lib/gherkin/lexer/i18n/sv.js
187
- - js/lib/gherkin/lexer/i18n/tr.js
188
- - js/lib/gherkin/lexer/i18n/uk.js
189
- - js/lib/gherkin/lexer/i18n/uz.js
190
- - js/lib/gherkin/lexer/i18n/vi.js
191
- - js/lib/gherkin/lexer/i18n/zh_cn.js
192
- - js/lib/gherkin/lexer/i18n/zh_tw.js
161
+ - js/.gitignore
162
+ - js/.npmignore
163
+ - js/lib/gherkin/lexer/.gitignore
193
164
  - lib/.gitignore
194
165
  - lib/gherkin.rb
195
166
  - lib/gherkin/c_lexer.rb
@@ -208,6 +179,7 @@ files:
208
179
  - lib/gherkin/formatter/tag_filter.rb
209
180
  - lib/gherkin/i18n.rb
210
181
  - lib/gherkin/i18n.yml
182
+ - lib/gherkin/js_lexer.rb
211
183
  - lib/gherkin/json_parser.rb
212
184
  - lib/gherkin/lexer/i18n_lexer.rb
213
185
  - lib/gherkin/listener/event.rb
@@ -229,6 +201,7 @@ files:
229
201
  - ragel/i18n/.gitignore
230
202
  - ragel/lexer.c.rl.erb
231
203
  - ragel/lexer.java.rl.erb
204
+ - ragel/lexer.js.rl.erb
232
205
  - ragel/lexer.rb.rl.erb
233
206
  - ragel/lexer_common.rl.erb
234
207
  - spec/gherkin/c_lexer_spec.rb
@@ -259,12 +232,14 @@ files:
259
232
  - spec/gherkin/i18n_spec.rb
260
233
  - spec/gherkin/java_lexer_spec.rb
261
234
  - spec/gherkin/java_libs.rb
235
+ - spec/gherkin/js_lexer_spec.rb
262
236
  - spec/gherkin/json_parser_spec.rb
263
237
  - spec/gherkin/lexer/i18n_lexer_spec.rb
264
238
  - spec/gherkin/output_stream_string_io.rb
265
239
  - spec/gherkin/parser/parser_spec.rb
266
240
  - spec/gherkin/rb_lexer_spec.rb
267
241
  - spec/gherkin/sexp_recorder.rb
242
+ - spec/gherkin/shared/bom_group.rb
268
243
  - spec/gherkin/shared/lexer_group.rb
269
244
  - spec/gherkin/shared/py_string_group.rb
270
245
  - spec/gherkin/shared/row_group.rb
@@ -398,7 +373,7 @@ rubyforge_project:
398
373
  rubygems_version: 1.6.2
399
374
  signing_key:
400
375
  specification_version: 3
401
- summary: gherkin-2.3.5
376
+ summary: gherkin-2.3.6
402
377
  test_files:
403
378
  - features/escaped_pipes.feature
404
379
  - features/feature_parser.feature
@@ -442,12 +417,14 @@ test_files:
442
417
  - spec/gherkin/i18n_spec.rb
443
418
  - spec/gherkin/java_lexer_spec.rb
444
419
  - spec/gherkin/java_libs.rb
420
+ - spec/gherkin/js_lexer_spec.rb
445
421
  - spec/gherkin/json_parser_spec.rb
446
422
  - spec/gherkin/lexer/i18n_lexer_spec.rb
447
423
  - spec/gherkin/output_stream_string_io.rb
448
424
  - spec/gherkin/parser/parser_spec.rb
449
425
  - spec/gherkin/rb_lexer_spec.rb
450
426
  - spec/gherkin/sexp_recorder.rb
427
+ - spec/gherkin/shared/bom_group.rb
451
428
  - spec/gherkin/shared/lexer_group.rb
452
429
  - spec/gherkin/shared/py_string_group.rb
453
430
  - spec/gherkin/shared/row_group.rb
@@ -1,1094 +0,0 @@
1
-
2
- /* line 1 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
3
- ;(function() {
4
-
5
-
6
- /* line 107 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
7
-
8
-
9
-
10
- /* line 11 "js/lib/gherkin/lexer/i18n/ar.js" */
11
- const _lexer_actions = [
12
- 0, 1, 0, 1, 1, 1, 2, 1,
13
- 3, 1, 4, 1, 5, 1, 6, 1,
14
- 7, 1, 8, 1, 9, 1, 10, 1,
15
- 11, 1, 14, 1, 15, 1, 16, 1,
16
- 17, 1, 18, 1, 19, 1, 20, 1,
17
- 21, 2, 2, 16, 2, 11, 0, 2,
18
- 12, 13, 2, 15, 0, 2, 15, 1,
19
- 2, 15, 14, 2, 15, 17, 2, 16,
20
- 4, 2, 16, 5, 2, 16, 6, 2,
21
- 16, 7, 2, 16, 8, 2, 16, 14,
22
- 2, 18, 19, 2, 20, 0, 2, 20,
23
- 1, 2, 20, 14, 2, 20, 17, 3,
24
- 3, 12, 13, 3, 9, 12, 13, 3,
25
- 10, 12, 13, 3, 11, 12, 13, 3,
26
- 12, 13, 16, 3, 15, 12, 13, 4,
27
- 2, 12, 13, 16, 4, 15, 0, 12,
28
- 13
29
- ];
30
-
31
- const _lexer_key_offsets = [
32
- 0, 0, 13, 19, 21, 22, 23, 24,
33
- 25, 26, 27, 28, 30, 42, 45, 46,
34
- 47, 48, 49, 50, 51, 52, 53, 54,
35
- 55, 59, 64, 69, 74, 79, 83, 87,
36
- 89, 90, 91, 92, 93, 94, 95, 96,
37
- 97, 98, 99, 100, 101, 102, 103, 104,
38
- 109, 116, 121, 125, 131, 134, 136, 142,
39
- 154, 156, 157, 158, 159, 160, 161, 162,
40
- 163, 164, 165, 166, 167, 168, 169, 179,
41
- 186, 188, 190, 192, 194, 196, 198, 200,
42
- 212, 214, 216, 218, 220, 222, 224, 226,
43
- 228, 230, 232, 234, 236, 238, 240, 242,
44
- 244, 246, 248, 250, 252, 254, 256, 258,
45
- 260, 262, 264, 266, 268, 270, 273, 275,
46
- 277, 279, 281, 283, 285, 287, 289, 291,
47
- 293, 295, 297, 299, 301, 303, 305, 309,
48
- 311, 313, 315, 317, 319, 321, 323, 325,
49
- 327, 329, 331, 333, 335, 337, 339, 341,
50
- 343, 345, 347, 349, 351, 353, 354, 355,
51
- 356, 357, 358, 359, 360, 361, 362, 369,
52
- 371, 373, 375, 377, 379, 381, 383, 385,
53
- 387, 389, 390, 391, 392, 393, 394, 395,
54
- 396, 397, 398, 399, 400, 401, 402, 403,
55
- 404, 405, 406, 407, 408, 416, 420, 422,
56
- 425, 427, 429, 431, 433, 435, 437, 439,
57
- 441, 443, 445, 447, 449, 451, 453, 455,
58
- 457, 459, 461, 463, 465, 467, 469, 471,
59
- 473, 475, 477, 479, 481, 483, 485, 487,
60
- 490, 492, 494, 496, 498, 500, 502, 504,
61
- 506, 508, 510, 512, 514, 516, 518, 520,
62
- 522, 524, 526, 528, 530, 532, 534, 535,
63
- 536, 537, 538, 539, 540, 541, 542, 543,
64
- 544, 545, 546, 548, 549, 550, 551, 552,
65
- 553, 554, 555, 556, 557, 558, 559, 569,
66
- 576, 578, 580, 582, 584, 586, 588, 590,
67
- 592, 594, 596, 598, 600, 602, 604, 606,
68
- 608, 610, 612, 614, 616, 618, 620, 622,
69
- 624, 626, 628, 630, 632, 634, 636, 638,
70
- 640, 642, 644, 646, 648, 650, 652, 654,
71
- 656, 658, 660, 662, 664, 668, 670, 672,
72
- 674, 676, 678, 680, 682, 684, 686, 688,
73
- 690, 692, 694, 696, 698, 700, 702, 704,
74
- 706, 708, 710, 712, 713, 714, 724, 731,
75
- 734, 736, 738, 740, 742, 744, 746, 748,
76
- 750, 752, 754, 756, 758, 760, 762, 764,
77
- 766, 768, 770, 772, 774, 776, 778, 780,
78
- 782, 784, 786, 788, 790, 792, 794, 796,
79
- 798, 800, 802, 804, 806, 808, 810, 812,
80
- 814, 816, 818, 821, 823, 825, 827, 829,
81
- 831, 833, 835, 837, 839, 841, 843, 845,
82
- 847, 849, 851, 853, 857, 859, 861, 863,
83
- 865, 867, 869, 871, 873, 875, 877, 879,
84
- 881, 883, 885, 887, 889, 891, 893, 895,
85
- 897, 899, 901, 902, 903, 904, 905, 906,
86
- 907, 908, 909, 910, 911
87
- ];
88
-
89
- const _lexer_trans_keys = [
90
- -40, -39, 10, 32, 34, 35, 37, 42,
91
- 64, 124, 239, 9, 13, -89, -88, -85,
92
- -82, -77, -71, -40, -39, -80, -40, -89,
93
- -39, -117, 32, 10, 10, 13, -40, -39,
94
- 10, 32, 34, 35, 37, 42, 64, 124,
95
- 9, 13, -124, -123, -120, -39, -125, -39,
96
- -122, -40, -86, -39, -119, 34, 34, 10,
97
- 32, 9, 13, 10, 32, 34, 9, 13,
98
- 10, 32, 34, 9, 13, 10, 32, 34,
99
- 9, 13, 10, 32, 34, 9, 13, 10,
100
- 32, 9, 13, 10, 32, 9, 13, 10,
101
- 13, 10, 95, 70, 69, 65, 84, 85,
102
- 82, 69, 95, 69, 78, 68, 95, 37,
103
- 13, 32, 64, 9, 10, 9, 10, 13,
104
- 32, 64, 11, 12, 10, 32, 64, 9,
105
- 13, 32, 124, 9, 13, 10, 32, 92,
106
- 124, 9, 13, 10, 92, 124, 10, 92,
107
- 10, 32, 92, 124, 9, 13, -40, -39,
108
- 10, 32, 34, 35, 37, 42, 64, 124,
109
- 9, 13, -124, -123, -40, -82, -39, -124,
110
- -39, -127, -39, -118, -40, -87, 58, 10,
111
- 10, -40, -39, 10, 32, 35, 37, 42,
112
- 64, 9, 13, -89, -88, -85, -82, -77,
113
- -71, 10, -40, 10, -80, 10, -40, 10,
114
- -89, 10, -39, 10, -117, 10, 10, 32,
115
- -40, -39, 10, 32, 34, 35, 37, 42,
116
- 64, 124, 9, 13, -39, 10, -127, 10,
117
- -40, 10, -79, 10, -40, 10, -74, 10,
118
- -39, 10, -123, 10, -40, 10, -89, 10,
119
- -40, 10, -75, 10, -39, 10, -118, 10,
120
- -40, 10, -87, 10, 10, 58, -39, 10,
121
- -118, 10, -39, 10, -122, 10, -40, 10,
122
- -89, 10, -40, 10, -79, 10, -39, 10,
123
- -118, 10, -39, 10, -120, 10, 10, 32,
124
- 58, -39, 10, -123, 10, -40, 10, -82,
125
- 10, -40, 10, -73, 10, -40, 10, -73,
126
- 10, -39, 10, -122, 10, -40, 10, -81,
127
- 10, -39, 10, -123, 10, -40, 10, -89,
128
- 10, -124, -123, -120, 10, -39, 10, -125,
129
- 10, -39, 10, -122, 10, -40, 10, -86,
130
- 10, -39, 10, -119, 10, 10, 95, 10,
131
- 70, 10, 69, 10, 65, 10, 84, 10,
132
- 85, 10, 82, 10, 69, 10, 95, 10,
133
- 69, 10, 78, 10, 68, 10, 95, 10,
134
- 37, -40, -85, -39, -124, -40, -87, 58,
135
- 10, 10, -40, 10, 32, 35, 124, 9,
136
- 13, -82, 10, -40, 10, -89, 10, -40,
137
- 10, -75, 10, -39, 10, -118, 10, -40,
138
- 10, -87, 10, 10, 58, -39, -127, -40,
139
- -79, -40, -74, -39, -123, -40, -89, -40,
140
- -75, -39, -118, -40, -87, 58, 10, 10,
141
- -40, 10, 32, 35, 37, 64, 9, 13,
142
- -89, -82, -77, 10, -39, 10, -124, -123,
143
- 10, -40, 10, -82, 10, -39, 10, -124,
144
- 10, -39, 10, -127, 10, -39, 10, -118,
145
- 10, -40, 10, -87, 10, 10, 58, -40,
146
- 10, -85, 10, -39, 10, -124, 10, -40,
147
- 10, -89, 10, -40, 10, -75, 10, -39,
148
- 10, -118, 10, -39, 10, -122, 10, -40,
149
- 10, -89, 10, -40, 10, -79, 10, -39,
150
- 10, -118, 10, -39, 10, -120, 10, 10,
151
- 32, 58, -39, 10, -123, 10, -40, 10,
152
- -82, 10, -40, 10, -73, 10, -40, 10,
153
- -73, 10, 10, 95, 10, 70, 10, 69,
154
- 10, 65, 10, 84, 10, 85, 10, 82,
155
- 10, 69, 10, 95, 10, 69, 10, 78,
156
- 10, 68, 10, 95, 10, 37, -39, -118,
157
- -39, -122, -40, -89, -40, -79, -39, -118,
158
- -39, -120, 32, 58, -39, -123, -40, -82,
159
- -40, -73, -40, -73, 58, 10, 10, -40,
160
- -39, 10, 32, 35, 37, 42, 64, 9,
161
- 13, -89, -88, -85, -82, -77, -71, 10,
162
- -40, 10, -80, 10, -40, 10, -89, 10,
163
- -39, 10, -117, 10, 10, 32, -39, 10,
164
- -127, 10, -40, 10, -79, 10, -40, 10,
165
- -74, 10, -39, 10, -123, 10, -40, 10,
166
- -89, 10, -40, 10, -75, 10, -39, 10,
167
- -118, 10, -40, 10, -87, 10, 10, 58,
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
- -39, 10, -122, 10, -40, 10, -81, 10,
172
- -39, 10, -123, 10, -40, 10, -89, 10,
173
- -124, -123, -120, 10, -39, 10, -125, 10,
174
- -39, 10, -122, 10, -40, 10, -86, 10,
175
- -39, 10, -119, 10, 10, 95, 10, 70,
176
- 10, 69, 10, 65, 10, 84, 10, 85,
177
- 10, 82, 10, 69, 10, 95, 10, 69,
178
- 10, 78, 10, 68, 10, 95, 10, 37,
179
- 10, 10, -40, -39, 10, 32, 35, 37,
180
- 42, 64, 9, 13, -89, -88, -85, -82,
181
- -77, -71, 10, -40, -39, 10, -80, 10,
182
- -40, 10, -89, 10, -39, 10, -117, 10,
183
- 10, 32, -124, 10, -40, 10, -82, 10,
184
- -39, 10, -124, 10, -39, 10, -127, 10,
185
- -39, 10, -118, 10, -40, 10, -87, 10,
186
- 10, 58, -39, 10, -127, 10, -40, 10,
187
- -79, 10, -40, 10, -74, 10, -39, 10,
188
- -123, 10, -40, 10, -89, 10, -40, 10,
189
- -75, 10, -39, 10, -118, 10, -39, 10,
190
- -122, 10, -40, 10, -89, 10, -40, 10,
191
- -79, 10, -39, 10, -118, 10, -39, 10,
192
- -120, 10, 10, 32, 58, -39, 10, -123,
193
- 10, -40, 10, -82, 10, -40, 10, -73,
194
- 10, -40, 10, -73, 10, -39, 10, -122,
195
- 10, -40, 10, -81, 10, -39, 10, -123,
196
- 10, -40, 10, -89, 10, -124, -123, -120,
197
- 10, -39, 10, -125, 10, -39, 10, -122,
198
- 10, -40, 10, -86, 10, -39, 10, -119,
199
- 10, 10, 95, 10, 70, 10, 69, 10,
200
- 65, 10, 84, 10, 85, 10, 82, 10,
201
- 69, 10, 95, 10, 69, 10, 78, 10,
202
- 68, 10, 95, 10, 37, -39, -122, -40,
203
- -81, -39, -123, -40, -89, 187, 191, 0
204
- ];
205
-
206
- const _lexer_single_lengths = [
207
- 0, 11, 6, 2, 1, 1, 1, 1,
208
- 1, 1, 1, 2, 10, 3, 1, 1,
209
- 1, 1, 1, 1, 1, 1, 1, 1,
210
- 2, 3, 3, 3, 3, 2, 2, 2,
211
- 1, 1, 1, 1, 1, 1, 1, 1,
212
- 1, 1, 1, 1, 1, 1, 1, 3,
213
- 5, 3, 2, 4, 3, 2, 4, 10,
214
- 2, 1, 1, 1, 1, 1, 1, 1,
215
- 1, 1, 1, 1, 1, 1, 8, 7,
216
- 2, 2, 2, 2, 2, 2, 2, 10,
217
- 2, 2, 2, 2, 2, 2, 2, 2,
218
- 2, 2, 2, 2, 2, 2, 2, 2,
219
- 2, 2, 2, 2, 2, 2, 2, 2,
220
- 2, 2, 2, 2, 2, 3, 2, 2,
221
- 2, 2, 2, 2, 2, 2, 2, 2,
222
- 2, 2, 2, 2, 2, 2, 4, 2,
223
- 2, 2, 2, 2, 2, 2, 2, 2,
224
- 2, 2, 2, 2, 2, 2, 2, 2,
225
- 2, 2, 2, 2, 2, 1, 1, 1,
226
- 1, 1, 1, 1, 1, 1, 5, 2,
227
- 2, 2, 2, 2, 2, 2, 2, 2,
228
- 2, 1, 1, 1, 1, 1, 1, 1,
229
- 1, 1, 1, 1, 1, 1, 1, 1,
230
- 1, 1, 1, 1, 6, 4, 2, 3,
231
- 2, 2, 2, 2, 2, 2, 2, 2,
232
- 2, 2, 2, 2, 2, 2, 2, 2,
233
- 2, 2, 2, 2, 2, 2, 2, 2,
234
- 2, 2, 2, 2, 2, 2, 2, 3,
235
- 2, 2, 2, 2, 2, 2, 2, 2,
236
- 2, 2, 2, 2, 2, 2, 2, 2,
237
- 2, 2, 2, 2, 2, 2, 1, 1,
238
- 1, 1, 1, 1, 1, 1, 1, 1,
239
- 1, 1, 2, 1, 1, 1, 1, 1,
240
- 1, 1, 1, 1, 1, 1, 8, 7,
241
- 2, 2, 2, 2, 2, 2, 2, 2,
242
- 2, 2, 2, 2, 2, 2, 2, 2,
243
- 2, 2, 2, 2, 2, 2, 2, 2,
244
- 2, 2, 2, 2, 2, 2, 2, 2,
245
- 2, 2, 2, 2, 2, 2, 2, 2,
246
- 2, 2, 2, 2, 4, 2, 2, 2,
247
- 2, 2, 2, 2, 2, 2, 2, 2,
248
- 2, 2, 2, 2, 2, 2, 2, 2,
249
- 2, 2, 2, 1, 1, 8, 7, 3,
250
- 2, 2, 2, 2, 2, 2, 2, 2,
251
- 2, 2, 2, 2, 2, 2, 2, 2,
252
- 2, 2, 2, 2, 2, 2, 2, 2,
253
- 2, 2, 2, 2, 2, 2, 2, 2,
254
- 2, 2, 2, 2, 2, 2, 2, 2,
255
- 2, 2, 3, 2, 2, 2, 2, 2,
256
- 2, 2, 2, 2, 2, 2, 2, 2,
257
- 2, 2, 2, 4, 2, 2, 2, 2,
258
- 2, 2, 2, 2, 2, 2, 2, 2,
259
- 2, 2, 2, 2, 2, 2, 2, 2,
260
- 2, 2, 1, 1, 1, 1, 1, 1,
261
- 1, 1, 1, 1, 0
262
- ];
263
-
264
- const _lexer_range_lengths = [
265
- 0, 1, 0, 0, 0, 0, 0, 0,
266
- 0, 0, 0, 0, 1, 0, 0, 0,
267
- 0, 0, 0, 0, 0, 0, 0, 0,
268
- 1, 1, 1, 1, 1, 1, 1, 0,
269
- 0, 0, 0, 0, 0, 0, 0, 0,
270
- 0, 0, 0, 0, 0, 0, 0, 1,
271
- 1, 1, 1, 1, 0, 0, 1, 1,
272
- 0, 0, 0, 0, 0, 0, 0, 0,
273
- 0, 0, 0, 0, 0, 0, 1, 0,
274
- 0, 0, 0, 0, 0, 0, 0, 1,
275
- 0, 0, 0, 0, 0, 0, 0, 0,
276
- 0, 0, 0, 0, 0, 0, 0, 0,
277
- 0, 0, 0, 0, 0, 0, 0, 0,
278
- 0, 0, 0, 0, 0, 0, 0, 0,
279
- 0, 0, 0, 0, 0, 0, 0, 0,
280
- 0, 0, 0, 0, 0, 0, 0, 0,
281
- 0, 0, 0, 0, 0, 0, 0, 0,
282
- 0, 0, 0, 0, 0, 0, 0, 0,
283
- 0, 0, 0, 0, 0, 0, 0, 0,
284
- 0, 0, 0, 0, 0, 0, 1, 0,
285
- 0, 0, 0, 0, 0, 0, 0, 0,
286
- 0, 0, 0, 0, 0, 0, 0, 0,
287
- 0, 0, 0, 0, 0, 0, 0, 0,
288
- 0, 0, 0, 0, 1, 0, 0, 0,
289
- 0, 0, 0, 0, 0, 0, 0, 0,
290
- 0, 0, 0, 0, 0, 0, 0, 0,
291
- 0, 0, 0, 0, 0, 0, 0, 0,
292
- 0, 0, 0, 0, 0, 0, 0, 0,
293
- 0, 0, 0, 0, 0, 0, 0, 0,
294
- 0, 0, 0, 0, 0, 0, 0, 0,
295
- 0, 0, 0, 0, 0, 0, 0, 0,
296
- 0, 0, 0, 0, 0, 0, 0, 0,
297
- 0, 0, 0, 0, 0, 0, 0, 0,
298
- 0, 0, 0, 0, 0, 0, 1, 0,
299
- 0, 0, 0, 0, 0, 0, 0, 0,
300
- 0, 0, 0, 0, 0, 0, 0, 0,
301
- 0, 0, 0, 0, 0, 0, 0, 0,
302
- 0, 0, 0, 0, 0, 0, 0, 0,
303
- 0, 0, 0, 0, 0, 0, 0, 0,
304
- 0, 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, 1, 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, 0,
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, 0, 0, 0,
318
- 0, 0, 0, 0, 0, 0, 0, 0,
319
- 0, 0, 0, 0, 0
320
- ];
321
-
322
- const _lexer_index_offsets = [
323
- 0, 0, 13, 20, 23, 25, 27, 29,
324
- 31, 33, 35, 37, 40, 52, 56, 58,
325
- 60, 62, 64, 66, 68, 70, 72, 74,
326
- 76, 80, 85, 90, 95, 100, 104, 108,
327
- 111, 113, 115, 117, 119, 121, 123, 125,
328
- 127, 129, 131, 133, 135, 137, 139, 141,
329
- 146, 153, 158, 162, 168, 172, 175, 181,
330
- 193, 196, 198, 200, 202, 204, 206, 208,
331
- 210, 212, 214, 216, 218, 220, 222, 232,
332
- 240, 243, 246, 249, 252, 255, 258, 261,
333
- 273, 276, 279, 282, 285, 288, 291, 294,
334
- 297, 300, 303, 306, 309, 312, 315, 318,
335
- 321, 324, 327, 330, 333, 336, 339, 342,
336
- 345, 348, 351, 354, 357, 360, 364, 367,
337
- 370, 373, 376, 379, 382, 385, 388, 391,
338
- 394, 397, 400, 403, 406, 409, 412, 417,
339
- 420, 423, 426, 429, 432, 435, 438, 441,
340
- 444, 447, 450, 453, 456, 459, 462, 465,
341
- 468, 471, 474, 477, 480, 483, 485, 487,
342
- 489, 491, 493, 495, 497, 499, 501, 508,
343
- 511, 514, 517, 520, 523, 526, 529, 532,
344
- 535, 538, 540, 542, 544, 546, 548, 550,
345
- 552, 554, 556, 558, 560, 562, 564, 566,
346
- 568, 570, 572, 574, 576, 584, 589, 592,
347
- 596, 599, 602, 605, 608, 611, 614, 617,
348
- 620, 623, 626, 629, 632, 635, 638, 641,
349
- 644, 647, 650, 653, 656, 659, 662, 665,
350
- 668, 671, 674, 677, 680, 683, 686, 689,
351
- 693, 696, 699, 702, 705, 708, 711, 714,
352
- 717, 720, 723, 726, 729, 732, 735, 738,
353
- 741, 744, 747, 750, 753, 756, 759, 761,
354
- 763, 765, 767, 769, 771, 773, 775, 777,
355
- 779, 781, 783, 786, 788, 790, 792, 794,
356
- 796, 798, 800, 802, 804, 806, 808, 818,
357
- 826, 829, 832, 835, 838, 841, 844, 847,
358
- 850, 853, 856, 859, 862, 865, 868, 871,
359
- 874, 877, 880, 883, 886, 889, 892, 895,
360
- 898, 901, 904, 907, 910, 913, 916, 919,
361
- 922, 925, 928, 931, 934, 937, 940, 943,
362
- 946, 949, 952, 955, 958, 963, 966, 969,
363
- 972, 975, 978, 981, 984, 987, 990, 993,
364
- 996, 999, 1002, 1005, 1008, 1011, 1014, 1017,
365
- 1020, 1023, 1026, 1029, 1031, 1033, 1043, 1051,
366
- 1055, 1058, 1061, 1064, 1067, 1070, 1073, 1076,
367
- 1079, 1082, 1085, 1088, 1091, 1094, 1097, 1100,
368
- 1103, 1106, 1109, 1112, 1115, 1118, 1121, 1124,
369
- 1127, 1130, 1133, 1136, 1139, 1142, 1145, 1148,
370
- 1151, 1154, 1157, 1160, 1163, 1166, 1169, 1172,
371
- 1175, 1178, 1181, 1185, 1188, 1191, 1194, 1197,
372
- 1200, 1203, 1206, 1209, 1212, 1215, 1218, 1221,
373
- 1224, 1227, 1230, 1233, 1238, 1241, 1244, 1247,
374
- 1250, 1253, 1256, 1259, 1262, 1265, 1268, 1271,
375
- 1274, 1277, 1280, 1283, 1286, 1289, 1292, 1295,
376
- 1298, 1301, 1304, 1306, 1308, 1310, 1312, 1314,
377
- 1316, 1318, 1320, 1322, 1324
378
- ];
379
-
380
- const _lexer_indicies = [
381
- 1, 2, 4, 3, 5, 6, 7, 8,
382
- 9, 10, 11, 3, 0, 12, 13, 14,
383
- 15, 16, 17, 0, 18, 19, 0, 20,
384
- 0, 21, 0, 22, 0, 23, 0, 24,
385
- 0, 25, 0, 0, 26, 28, 29, 27,
386
- 1, 2, 4, 3, 5, 6, 7, 8,
387
- 9, 10, 3, 0, 30, 31, 24, 0,
388
- 32, 0, 33, 0, 34, 0, 24, 0,
389
- 35, 0, 36, 0, 37, 0, 24, 0,
390
- 38, 0, 39, 0, 40, 39, 39, 0,
391
- 43, 42, 44, 42, 41, 47, 46, 48,
392
- 46, 45, 47, 46, 49, 46, 45, 47,
393
- 46, 50, 46, 45, 52, 51, 51, 0,
394
- 4, 53, 53, 0, 55, 56, 54, 4,
395
- 0, 57, 0, 58, 0, 59, 0, 60,
396
- 0, 61, 0, 62, 0, 63, 0, 64,
397
- 0, 65, 0, 66, 0, 67, 0, 68,
398
- 0, 69, 0, 70, 0, 0, 0, 0,
399
- 0, 71, 72, 73, 72, 72, 75, 74,
400
- 71, 4, 76, 9, 76, 0, 77, 78,
401
- 77, 0, 81, 80, 82, 83, 80, 79,
402
- 0, 85, 86, 84, 0, 85, 84, 81,
403
- 87, 85, 86, 87, 84, 88, 89, 81,
404
- 90, 91, 92, 93, 94, 95, 96, 90,
405
- 0, 97, 98, 0, 99, 0, 100, 0,
406
- 101, 0, 102, 0, 103, 0, 104, 0,
407
- 105, 0, 106, 0, 107, 0, 108, 0,
408
- 109, 0, 111, 110, 113, 112, 114, 115,
409
- 113, 116, 117, 118, 119, 117, 116, 112,
410
- 120, 121, 122, 123, 124, 125, 113, 112,
411
- 126, 113, 112, 127, 113, 112, 128, 113,
412
- 112, 129, 113, 112, 130, 113, 112, 131,
413
- 113, 112, 113, 132, 112, 133, 134, 136,
414
- 135, 137, 138, 139, 140, 141, 142, 135,
415
- 0, 143, 113, 112, 144, 113, 112, 145,
416
- 113, 112, 146, 113, 112, 147, 113, 112,
417
- 131, 113, 112, 148, 113, 112, 131, 113,
418
- 112, 149, 113, 112, 150, 113, 112, 151,
419
- 113, 112, 152, 113, 112, 153, 113, 112,
420
- 154, 113, 112, 155, 113, 112, 156, 113,
421
- 112, 113, 132, 112, 157, 113, 112, 158,
422
- 113, 112, 159, 113, 112, 160, 113, 112,
423
- 161, 113, 112, 162, 113, 112, 163, 113,
424
- 112, 164, 113, 112, 165, 113, 112, 166,
425
- 113, 112, 167, 113, 112, 168, 113, 112,
426
- 113, 169, 132, 112, 170, 113, 112, 171,
427
- 113, 112, 172, 113, 112, 173, 113, 112,
428
- 174, 113, 112, 175, 113, 112, 176, 113,
429
- 112, 156, 113, 112, 177, 113, 112, 178,
430
- 113, 112, 179, 113, 112, 180, 113, 112,
431
- 181, 113, 112, 182, 113, 112, 183, 113,
432
- 112, 131, 113, 112, 184, 185, 131, 113,
433
- 112, 186, 113, 112, 187, 113, 112, 188,
434
- 113, 112, 131, 113, 112, 189, 113, 112,
435
- 190, 113, 112, 191, 113, 112, 131, 113,
436
- 112, 113, 192, 112, 113, 193, 112, 113,
437
- 194, 112, 113, 195, 112, 113, 196, 112,
438
- 113, 197, 112, 113, 198, 112, 113, 199,
439
- 112, 113, 200, 112, 113, 201, 112, 113,
440
- 202, 112, 113, 203, 112, 113, 204, 112,
441
- 113, 205, 112, 206, 0, 207, 0, 208,
442
- 0, 209, 0, 210, 0, 211, 0, 212,
443
- 0, 214, 213, 216, 215, 217, 216, 218,
444
- 219, 219, 218, 215, 220, 216, 215, 221,
445
- 216, 215, 222, 216, 215, 223, 216, 215,
446
- 224, 216, 215, 225, 216, 215, 226, 216,
447
- 215, 227, 216, 215, 228, 216, 215, 216,
448
- 229, 215, 230, 0, 231, 0, 232, 0,
449
- 233, 0, 234, 0, 24, 0, 235, 0,
450
- 24, 0, 236, 0, 237, 0, 238, 0,
451
- 239, 0, 240, 0, 241, 0, 242, 0,
452
- 243, 0, 244, 0, 246, 245, 248, 247,
453
- 249, 248, 250, 251, 252, 251, 250, 247,
454
- 253, 254, 255, 248, 247, 256, 248, 247,
455
- 257, 258, 248, 247, 259, 248, 247, 260,
456
- 248, 247, 261, 248, 247, 262, 248, 247,
457
- 263, 248, 247, 264, 248, 247, 265, 248,
458
- 247, 266, 248, 247, 267, 248, 247, 268,
459
- 248, 247, 248, 269, 247, 270, 248, 247,
460
- 271, 248, 247, 272, 248, 247, 266, 248,
461
- 247, 273, 248, 247, 274, 248, 247, 275,
462
- 248, 247, 264, 248, 247, 276, 248, 247,
463
- 277, 248, 247, 278, 248, 247, 279, 248,
464
- 247, 280, 248, 247, 281, 248, 247, 282,
465
- 248, 247, 283, 248, 247, 284, 248, 247,
466
- 285, 248, 247, 286, 248, 247, 287, 248,
467
- 247, 248, 288, 269, 247, 289, 248, 247,
468
- 290, 248, 247, 291, 248, 247, 292, 248,
469
- 247, 293, 248, 247, 294, 248, 247, 295,
470
- 248, 247, 268, 248, 247, 248, 296, 247,
471
- 248, 297, 247, 248, 298, 247, 248, 299,
472
- 247, 248, 300, 247, 248, 301, 247, 248,
473
- 302, 247, 248, 303, 247, 248, 304, 247,
474
- 248, 305, 247, 248, 306, 247, 248, 307,
475
- 247, 248, 308, 247, 248, 309, 247, 310,
476
- 0, 311, 0, 312, 0, 313, 0, 314,
477
- 0, 315, 0, 316, 0, 317, 0, 318,
478
- 0, 319, 0, 320, 0, 321, 0, 322,
479
- 323, 0, 324, 0, 325, 0, 326, 0,
480
- 327, 0, 328, 0, 329, 0, 330, 0,
481
- 331, 0, 332, 0, 334, 333, 336, 335,
482
- 337, 338, 336, 339, 340, 341, 342, 340,
483
- 339, 335, 343, 344, 345, 346, 347, 348,
484
- 336, 335, 349, 336, 335, 350, 336, 335,
485
- 351, 336, 335, 352, 336, 335, 353, 336,
486
- 335, 354, 336, 335, 336, 355, 335, 356,
487
- 336, 335, 357, 336, 335, 358, 336, 335,
488
- 359, 336, 335, 360, 336, 335, 354, 336,
489
- 335, 361, 336, 335, 354, 336, 335, 362,
490
- 336, 335, 363, 336, 335, 364, 336, 335,
491
- 365, 336, 335, 366, 336, 335, 367, 336,
492
- 335, 368, 336, 335, 369, 336, 335, 336,
493
- 355, 335, 370, 336, 335, 371, 336, 335,
494
- 372, 336, 335, 373, 336, 335, 374, 336,
495
- 335, 375, 336, 335, 376, 336, 335, 377,
496
- 336, 335, 378, 336, 335, 379, 336, 335,
497
- 380, 336, 335, 369, 336, 335, 381, 336,
498
- 335, 382, 336, 335, 383, 336, 335, 384,
499
- 336, 335, 385, 336, 335, 386, 336, 335,
500
- 387, 336, 335, 354, 336, 335, 388, 389,
501
- 354, 336, 335, 390, 336, 335, 391, 336,
502
- 335, 392, 336, 335, 354, 336, 335, 393,
503
- 336, 335, 394, 336, 335, 395, 336, 335,
504
- 354, 336, 335, 336, 396, 335, 336, 397,
505
- 335, 336, 398, 335, 336, 399, 335, 336,
506
- 400, 335, 336, 401, 335, 336, 402, 335,
507
- 336, 403, 335, 336, 404, 335, 336, 405,
508
- 335, 336, 406, 335, 336, 407, 335, 336,
509
- 408, 335, 336, 409, 335, 411, 410, 413,
510
- 412, 414, 415, 413, 416, 417, 418, 419,
511
- 417, 416, 412, 420, 421, 422, 423, 424,
512
- 425, 413, 412, 426, 427, 413, 412, 428,
513
- 413, 412, 429, 413, 412, 430, 413, 412,
514
- 431, 413, 412, 432, 413, 412, 413, 433,
515
- 412, 434, 413, 412, 435, 413, 412, 436,
516
- 413, 412, 437, 413, 412, 438, 413, 412,
517
- 439, 413, 412, 440, 413, 412, 441, 413,
518
- 412, 442, 413, 412, 443, 413, 412, 444,
519
- 413, 412, 413, 433, 412, 445, 413, 412,
520
- 446, 413, 412, 447, 413, 412, 448, 413,
521
- 412, 449, 413, 412, 432, 413, 412, 450,
522
- 413, 412, 432, 413, 412, 451, 413, 412,
523
- 452, 413, 412, 453, 413, 412, 440, 413,
524
- 412, 454, 413, 412, 455, 413, 412, 456,
525
- 413, 412, 457, 413, 412, 458, 413, 412,
526
- 459, 413, 412, 460, 413, 412, 461, 413,
527
- 412, 462, 413, 412, 463, 413, 412, 464,
528
- 413, 412, 465, 413, 412, 413, 466, 433,
529
- 412, 467, 413, 412, 468, 413, 412, 469,
530
- 413, 412, 470, 413, 412, 471, 413, 412,
531
- 472, 413, 412, 473, 413, 412, 444, 413,
532
- 412, 474, 413, 412, 475, 413, 412, 476,
533
- 413, 412, 477, 413, 412, 478, 413, 412,
534
- 479, 413, 412, 480, 413, 412, 432, 413,
535
- 412, 481, 482, 432, 413, 412, 483, 413,
536
- 412, 484, 413, 412, 485, 413, 412, 432,
537
- 413, 412, 486, 413, 412, 487, 413, 412,
538
- 488, 413, 412, 432, 413, 412, 413, 489,
539
- 412, 413, 490, 412, 413, 491, 412, 413,
540
- 492, 412, 413, 493, 412, 413, 494, 412,
541
- 413, 495, 412, 413, 496, 412, 413, 497,
542
- 412, 413, 498, 412, 413, 499, 412, 413,
543
- 500, 412, 413, 501, 412, 413, 502, 412,
544
- 503, 0, 504, 0, 505, 0, 506, 0,
545
- 507, 0, 508, 0, 509, 0, 24, 0,
546
- 510, 0, 3, 0, 511, 0
547
- ];
548
-
549
- const _lexer_trans_targs = [
550
- 0, 2, 13, 12, 12, 22, 31, 33,
551
- 9, 47, 50, 434, 3, 169, 175, 177,
552
- 246, 426, 4, 56, 5, 6, 7, 8,
553
- 9, 10, 11, 11, 12, 32, 14, 18,
554
- 15, 16, 17, 19, 20, 21, 23, 24,
555
- 25, 26, 26, 26, 27, 26, 26, 26,
556
- 27, 28, 29, 30, 12, 30, 31, 12,
557
- 32, 34, 35, 36, 37, 38, 39, 40,
558
- 41, 42, 43, 44, 45, 46, 436, 48,
559
- 49, 12, 48, 47, 49, 50, 51, 52,
560
- 54, 55, 53, 51, 52, 53, 51, 54,
561
- 2, 13, 55, 22, 31, 33, 9, 47,
562
- 50, 57, 149, 58, 59, 60, 61, 62,
563
- 63, 64, 65, 66, 67, 68, 69, 70,
564
- 69, 70, 71, 126, 70, 12, 135, 78,
565
- 72, 80, 86, 88, 97, 118, 73, 74,
566
- 75, 76, 77, 78, 79, 2, 13, 12,
567
- 12, 22, 31, 33, 9, 47, 50, 81,
568
- 82, 83, 84, 85, 87, 89, 90, 91,
569
- 92, 93, 94, 95, 96, 98, 99, 100,
570
- 101, 102, 103, 104, 105, 106, 107, 108,
571
- 109, 110, 111, 112, 113, 114, 115, 116,
572
- 117, 119, 120, 121, 122, 123, 124, 125,
573
- 127, 131, 128, 129, 130, 132, 133, 134,
574
- 136, 137, 138, 139, 140, 141, 142, 143,
575
- 144, 145, 146, 147, 148, 12, 150, 151,
576
- 152, 153, 154, 155, 156, 157, 158, 157,
577
- 158, 159, 158, 12, 160, 161, 162, 163,
578
- 164, 165, 166, 167, 168, 79, 170, 171,
579
- 172, 173, 174, 176, 178, 179, 180, 181,
580
- 182, 183, 184, 185, 186, 187, 188, 187,
581
- 188, 189, 188, 12, 232, 190, 207, 211,
582
- 191, 192, 203, 193, 194, 195, 196, 197,
583
- 198, 199, 200, 201, 202, 79, 204, 205,
584
- 206, 208, 209, 210, 212, 213, 214, 215,
585
- 216, 217, 218, 219, 220, 221, 222, 223,
586
- 224, 225, 226, 227, 228, 229, 230, 231,
587
- 233, 234, 235, 236, 237, 238, 239, 240,
588
- 241, 242, 243, 244, 245, 12, 247, 248,
589
- 249, 250, 251, 252, 253, 254, 255, 256,
590
- 257, 258, 259, 339, 260, 261, 262, 263,
591
- 264, 265, 266, 267, 268, 269, 270, 269,
592
- 270, 271, 316, 270, 12, 325, 278, 272,
593
- 279, 285, 287, 296, 308, 273, 274, 275,
594
- 276, 277, 278, 79, 280, 281, 282, 283,
595
- 284, 286, 288, 289, 290, 291, 292, 293,
596
- 294, 295, 297, 298, 299, 300, 301, 302,
597
- 303, 304, 305, 306, 307, 309, 310, 311,
598
- 312, 313, 314, 315, 317, 321, 318, 319,
599
- 320, 322, 323, 324, 326, 327, 328, 329,
600
- 330, 331, 332, 333, 334, 335, 336, 337,
601
- 338, 12, 340, 341, 340, 341, 342, 403,
602
- 341, 12, 412, 349, 343, 362, 368, 370,
603
- 374, 395, 344, 350, 345, 346, 347, 348,
604
- 349, 79, 351, 352, 353, 354, 355, 356,
605
- 357, 358, 359, 360, 361, 363, 364, 365,
606
- 366, 367, 369, 371, 372, 373, 375, 376,
607
- 377, 378, 379, 380, 381, 382, 383, 384,
608
- 385, 386, 387, 388, 389, 390, 391, 392,
609
- 393, 394, 396, 397, 398, 399, 400, 401,
610
- 402, 404, 408, 405, 406, 407, 409, 410,
611
- 411, 413, 414, 415, 416, 417, 418, 419,
612
- 420, 421, 422, 423, 424, 425, 12, 427,
613
- 428, 429, 430, 431, 432, 433, 435, 0
614
- ];
615
-
616
- const _lexer_trans_actions = [
617
- 39, 25, 25, 0, 47, 3, 1, 0,
618
- 25, 1, 31, 0, 0, 0, 0, 0,
619
- 0, 0, 0, 0, 0, 0, 0, 0,
620
- 0, 0, 50, 0, 99, 19, 0, 0,
621
- 0, 0, 0, 0, 0, 0, 0, 0,
622
- 47, 5, 41, 119, 41, 0, 29, 111,
623
- 29, 29, 0, 7, 95, 0, 0, 103,
624
- 21, 0, 0, 0, 0, 0, 0, 0,
625
- 0, 0, 0, 0, 0, 0, 0, 0,
626
- 23, 107, 23, 44, 0, 0, 0, 33,
627
- 33, 47, 33, 80, 0, 0, 35, 0,
628
- 89, 89, 0, 86, 83, 37, 89, 83,
629
- 92, 0, 0, 0, 0, 0, 0, 0,
630
- 0, 0, 0, 0, 0, 0, 50, 124,
631
- 0, 47, 77, 77, 0, 65, 29, 77,
632
- 0, 0, 0, 0, 0, 0, 0, 0,
633
- 0, 0, 0, 0, 11, 56, 56, 27,
634
- 115, 53, 50, 27, 56, 50, 59, 0,
635
- 0, 0, 0, 0, 0, 0, 0, 0,
636
- 0, 0, 0, 0, 0, 0, 0, 0,
637
- 0, 0, 0, 0, 0, 0, 0, 0,
638
- 0, 0, 0, 0, 0, 0, 0, 0,
639
- 0, 0, 0, 0, 0, 0, 0, 0,
640
- 0, 0, 0, 0, 0, 0, 0, 0,
641
- 0, 0, 0, 0, 0, 0, 0, 0,
642
- 0, 0, 0, 0, 0, 11, 0, 0,
643
- 0, 0, 0, 0, 0, 50, 124, 0,
644
- 47, 77, 0, 74, 0, 0, 0, 0,
645
- 0, 0, 0, 0, 0, 17, 0, 0,
646
- 0, 0, 0, 0, 0, 0, 0, 0,
647
- 0, 0, 0, 0, 0, 50, 124, 0,
648
- 47, 77, 0, 62, 29, 0, 0, 0,
649
- 0, 0, 0, 0, 0, 0, 0, 0,
650
- 0, 0, 0, 0, 0, 9, 0, 0,
651
- 0, 0, 0, 0, 0, 0, 0, 0,
652
- 0, 0, 0, 0, 0, 0, 0, 0,
653
- 0, 0, 0, 0, 0, 0, 0, 0,
654
- 0, 0, 0, 0, 0, 0, 0, 0,
655
- 0, 0, 0, 0, 0, 9, 0, 0,
656
- 0, 0, 0, 0, 0, 0, 0, 0,
657
- 0, 0, 0, 0, 0, 0, 0, 0,
658
- 0, 0, 0, 0, 0, 50, 124, 0,
659
- 47, 77, 77, 0, 71, 29, 77, 0,
660
- 0, 0, 0, 0, 0, 0, 0, 0,
661
- 0, 0, 0, 15, 0, 0, 0, 0,
662
- 0, 0, 0, 0, 0, 0, 0, 0,
663
- 0, 0, 0, 0, 0, 0, 0, 0,
664
- 0, 0, 0, 0, 0, 0, 0, 0,
665
- 0, 0, 0, 0, 0, 0, 0, 0,
666
- 0, 0, 0, 0, 0, 0, 0, 0,
667
- 0, 0, 0, 0, 0, 0, 0, 0,
668
- 0, 15, 50, 124, 0, 47, 77, 77,
669
- 0, 68, 29, 77, 0, 0, 0, 0,
670
- 0, 0, 0, 0, 0, 0, 0, 0,
671
- 0, 13, 0, 0, 0, 0, 0, 0,
672
- 0, 0, 0, 0, 0, 0, 0, 0,
673
- 0, 0, 0, 0, 0, 0, 0, 0,
674
- 0, 0, 0, 0, 0, 0, 0, 0,
675
- 0, 0, 0, 0, 0, 0, 0, 0,
676
- 0, 0, 0, 0, 0, 0, 0, 0,
677
- 0, 0, 0, 0, 0, 0, 0, 0,
678
- 0, 0, 0, 0, 0, 0, 0, 0,
679
- 0, 0, 0, 0, 0, 0, 13, 0,
680
- 0, 0, 0, 0, 0, 0, 0, 0
681
- ];
682
-
683
- const _lexer_eof_actions = [
684
- 0, 39, 39, 39, 39, 39, 39, 39,
685
- 39, 39, 39, 39, 39, 39, 39, 39,
686
- 39, 39, 39, 39, 39, 39, 39, 39,
687
- 39, 39, 39, 39, 39, 39, 39, 39,
688
- 39, 39, 39, 39, 39, 39, 39, 39,
689
- 39, 39, 39, 39, 39, 39, 39, 39,
690
- 39, 39, 39, 39, 39, 39, 39, 39,
691
- 39, 39, 39, 39, 39, 39, 39, 39,
692
- 39, 39, 39, 39, 39, 39, 39, 39,
693
- 39, 39, 39, 39, 39, 39, 39, 39,
694
- 39, 39, 39, 39, 39, 39, 39, 39,
695
- 39, 39, 39, 39, 39, 39, 39, 39,
696
- 39, 39, 39, 39, 39, 39, 39, 39,
697
- 39, 39, 39, 39, 39, 39, 39, 39,
698
- 39, 39, 39, 39, 39, 39, 39, 39,
699
- 39, 39, 39, 39, 39, 39, 39, 39,
700
- 39, 39, 39, 39, 39, 39, 39, 39,
701
- 39, 39, 39, 39, 39, 39, 39, 39,
702
- 39, 39, 39, 39, 39, 39, 39, 39,
703
- 39, 39, 39, 39, 39, 39, 39, 39,
704
- 39, 39, 39, 39, 39, 39, 39, 39,
705
- 39, 39, 39, 39, 39, 39, 39, 39,
706
- 39, 39, 39, 39, 39, 39, 39, 39,
707
- 39, 39, 39, 39, 39, 39, 39, 39,
708
- 39, 39, 39, 39, 39, 39, 39, 39,
709
- 39, 39, 39, 39, 39, 39, 39, 39,
710
- 39, 39, 39, 39, 39, 39, 39, 39,
711
- 39, 39, 39, 39, 39, 39, 39, 39,
712
- 39, 39, 39, 39, 39, 39, 39, 39,
713
- 39, 39, 39, 39, 39, 39, 39, 39,
714
- 39, 39, 39, 39, 39, 39, 39, 39,
715
- 39, 39, 39, 39, 39, 39, 39, 39,
716
- 39, 39, 39, 39, 39, 39, 39, 39,
717
- 39, 39, 39, 39, 39, 39, 39, 39,
718
- 39, 39, 39, 39, 39, 39, 39, 39,
719
- 39, 39, 39, 39, 39, 39, 39, 39,
720
- 39, 39, 39, 39, 39, 39, 39, 39,
721
- 39, 39, 39, 39, 39, 39, 39, 39,
722
- 39, 39, 39, 39, 39, 39, 39, 39,
723
- 39, 39, 39, 39, 39, 39, 39, 39,
724
- 39, 39, 39, 39, 39, 39, 39, 39,
725
- 39, 39, 39, 39, 39, 39, 39, 39,
726
- 39, 39, 39, 39, 39, 39, 39, 39,
727
- 39, 39, 39, 39, 39, 39, 39, 39,
728
- 39, 39, 39, 39, 39, 39, 39, 39,
729
- 39, 39, 39, 39, 39, 39, 39, 39,
730
- 39, 39, 39, 39, 39, 39, 39, 39,
731
- 39, 39, 39, 39, 39, 39, 39, 39,
732
- 39, 39, 39, 39, 39, 39, 39, 39,
733
- 39, 39, 39, 39, 39, 39, 39, 39,
734
- 39, 39, 39, 39, 39, 39, 39, 39,
735
- 39, 39, 39, 39, 39, 39, 39, 39,
736
- 39, 39, 39, 39, 39, 39, 39, 39,
737
- 39, 39, 39, 39, 39, 39, 39, 39,
738
- 39, 39, 39, 39, 39
739
- ];
740
-
741
- const lexer_start = 1;
742
- const lexer_first_final = 436;
743
- const lexer_error = 0;
744
-
745
- const lexer_en_main = 1;
746
-
747
-
748
- /* line 110 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
749
-
750
- /* line 111 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
751
-
752
- /* line 112 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
753
-
754
- var Lexer = function(listeners) {
755
- // check that we have an 'on' method (for registering event listeners - Node has that)
756
- // If not, make a trivial implementation that can register one listener. -Enough for testing.
757
-
758
- if(!this.on) {
759
- this._listeners = {};
760
-
761
- this.on = function(event, cb) {
762
- this._listeners[event] = cb;
763
- };
764
-
765
- this.emit = function() {
766
- var event = arguments[0];
767
- var args = [];
768
- for(var i = 1; i < arguments.length; i++) {
769
- args.push(arguments[i]);
770
- }
771
- var cb = this._listeners[event];
772
- cb.apply(listeners, args);
773
- };
774
- }
775
-
776
- var events = ['feature', 'background', 'scenario', 'scenario_outline', 'examples', 'step', 'py_string', 'row', 'end'];
777
- for(e in events) {
778
- var event = events[e];
779
- var listener = listeners[event];
780
- // if(!listener) {
781
- // throw "No listener for " + event;
782
- // }
783
- this.on(event, listener);
784
- }
785
-
786
-
787
- /* line 788 "js/lib/gherkin/lexer/i18n/ar.js" */
788
- {
789
- this.cs = lexer_start;
790
- } /* JSCodeGen::writeInit */
791
-
792
- /* line 146 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
793
- };
794
-
795
- if(typeof require == 'function') {
796
- require('sys').inherits(Lexer, require('events').EventEmitter);
797
- }
798
-
799
- Lexer.prototype.scan = function(data) {
800
- var p = 0;
801
- var pe = data.length;
802
- var eof = 0;
803
-
804
-
805
- /* line 806 "js/lib/gherkin/lexer/i18n/ar.js" */
806
- {
807
- var _klen, _trans, _keys, _ps, _widec, _acts, _nacts;
808
- var _goto_level, _resume, _eof_trans, _again, _test_eof;
809
- var _out;
810
- _klen = _trans = _keys = _acts = _nacts = null;
811
- _goto_level = 0;
812
- _resume = 10;
813
- _eof_trans = 15;
814
- _again = 20;
815
- _test_eof = 30;
816
- _out = 40;
817
- while (true) {
818
- _trigger_goto = false;
819
- if (_goto_level <= 0) {
820
- if (p == pe) {
821
- _goto_level = _test_eof;
822
- continue;
823
- }
824
- if ( this.cs == 0) {
825
- _goto_level = _out;
826
- continue;
827
- }
828
- }
829
- if (_goto_level <= _resume) {
830
- _keys = _lexer_key_offsets[ this.cs];
831
- _trans = _lexer_index_offsets[ this.cs];
832
- _klen = _lexer_single_lengths[ this.cs];
833
- _break_match = false;
834
-
835
- do {
836
- if (_klen > 0) {
837
- _lower = _keys;
838
- _upper = _keys + _klen - 1;
839
-
840
- while (true) {
841
- if (_upper < _lower) { break; }
842
- _mid = _lower + ( (_upper - _lower) >> 1 );
843
-
844
- if ( data[p] < _lexer_trans_keys[_mid]) {
845
- _upper = _mid - 1;
846
- } else if ( data[p] > _lexer_trans_keys[_mid]) {
847
- _lower = _mid + 1;
848
- } else {
849
- _trans += (_mid - _keys);
850
- _break_match = true;
851
- break;
852
- };
853
- } /* while */
854
- if (_break_match) { break; }
855
- _keys += _klen;
856
- _trans += _klen;
857
- }
858
- _klen = _lexer_range_lengths[ this.cs];
859
- if (_klen > 0) {
860
- _lower = _keys;
861
- _upper = _keys + (_klen << 1) - 2;
862
- while (true) {
863
- if (_upper < _lower) { break; }
864
- _mid = _lower + (((_upper-_lower) >> 1) & ~1);
865
- if ( data[p] < _lexer_trans_keys[_mid]) {
866
- _upper = _mid - 2;
867
- } else if ( data[p] > _lexer_trans_keys[_mid+1]) {
868
- _lower = _mid + 2;
869
- } else {
870
- _trans += ((_mid - _keys) >> 1);
871
- _break_match = true;
872
- break;
873
- }
874
- } /* while */
875
- if (_break_match) { break; }
876
- _trans += _klen
877
- }
878
- } while (false);
879
- _trans = _lexer_indicies[_trans];
880
- this.cs = _lexer_trans_targs[_trans];
881
- if (_lexer_trans_actions[_trans] != 0) {
882
- _acts = _lexer_trans_actions[_trans];
883
- _nacts = _lexer_actions[_acts];
884
- _acts += 1;
885
- while (_nacts > 0) {
886
- _nacts -= 1;
887
- _acts += 1;
888
- switch (_lexer_actions[_acts - 1]) {
889
- case 0:
890
- /* line 6 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
891
-
892
- this.content_start = p;
893
- this.current_line = this.line_number;
894
- this.start_col = p - this.last_newline - (this.keyword+':').length;
895
- break;
896
- case 1:
897
- /* line 12 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
898
-
899
- this.current_line = this.line_number;
900
- this.start_col = p - this.last_newline;
901
- break;
902
- case 2:
903
- /* line 17 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
904
-
905
- this.content_start = p;
906
- break;
907
- case 3:
908
- /* line 21 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
909
-
910
- var con = this.unindent(
911
- this.start_col,
912
- this.bytesToString(data.slice(this.content_start, this.next_keyword_start-1)).replace(/(\r?\n)?([\t ])*\Z/, '') // TODO .replace(/\"\"\"/mg, '"""')
913
- );
914
- this.emit('py_string', con, this.current_line);
915
- break;
916
- case 4:
917
- /* line 29 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
918
-
919
- p = this.store_keyword_content('feature', data, p, eof);
920
- break;
921
- case 5:
922
- /* line 33 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
923
-
924
- p = this.store_keyword_content('background', data, p, eof);
925
- break;
926
- case 6:
927
- /* line 37 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
928
-
929
- p = this.store_keyword_content('scenario', data, p, eof);
930
- break;
931
- case 7:
932
- /* line 41 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
933
-
934
- p = this.store_keyword_content('scenario_outline', data, p, eof);
935
- break;
936
- case 8:
937
- /* line 45 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
938
-
939
- p = this.store_keyword_content('examples', data, p, eof);
940
- break;
941
- case 9:
942
- /* line 49 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
943
-
944
- var con = this.bytesToString(data.slice(this.content_start, p)).trim();
945
- this.emit('step', this.keyword, con, this.current_line);
946
- break;
947
- case 10:
948
- /* line 54 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
949
-
950
- console.log('TODO: store_comment_content');
951
- break;
952
- case 11:
953
- /* line 58 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
954
-
955
- console.log('TODO: store_tag_content');
956
- break;
957
- case 12:
958
- /* line 62 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
959
-
960
- this.line_number++;
961
- break;
962
- case 13:
963
- /* line 66 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
964
-
965
- this.last_newline = p + 1;
966
- break;
967
- case 14:
968
- /* line 70 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
969
-
970
- this.keyword_start = this.keyword_start || p;
971
- break;
972
- case 15:
973
- /* line 74 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
974
-
975
- this.keyword = this.bytesToString(data.slice(this.keyword_start, p)).replace(/:$/, '');
976
- this.keyword_start = null;
977
- break;
978
- case 16:
979
- /* line 79 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
980
-
981
- this.next_keyword_start = p;
982
- break;
983
- case 17:
984
- /* line 83 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
985
-
986
- p = p - 1;
987
- current_row = [];
988
- this.current_line = this.line_number;
989
- break;
990
- case 18:
991
- /* line 89 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
992
-
993
- this.content_start = p;
994
- break;
995
- case 19:
996
- /* line 93 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
997
-
998
- var con = this.bytesToString(data.slice(this.content_start, p)).trim();
999
- current_row.push(con.replace(/\\\|/, "|").replace(/\\n/, "\n").replace(/\\\\/, "\\"));
1000
- break;
1001
- case 20:
1002
- /* line 98 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
1003
-
1004
- this.emit('row', current_row, this.current_line);
1005
- break;
1006
- case 21:
1007
- /* line 102 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
1008
-
1009
- console.log('TODO: end_feature');
1010
- break;
1011
- /* line 1012 "js/lib/gherkin/lexer/i18n/ar.js" */
1012
- } /* action switch */
1013
- }
1014
- }
1015
- if (_trigger_goto) {
1016
- continue;
1017
- }
1018
- }
1019
- if (_goto_level <= _again) {
1020
- if ( this.cs == 0) {
1021
- _goto_level = _out;
1022
- continue;
1023
- }
1024
- p += 1;
1025
- if (p != pe) {
1026
- _goto_level = _resume;
1027
- continue;
1028
- }
1029
- }
1030
- if (_goto_level <= _test_eof) {
1031
- if (p == eof) {
1032
- __acts = _lexer_eof_actions[ this.cs];
1033
- __nacts = _lexer_actions[__acts];
1034
- __acts += 1;
1035
- while (__nacts > 0) {
1036
- __nacts -= 1;
1037
- __acts += 1;
1038
- switch (_lexer_actions[__acts - 1]) {
1039
- case 21:
1040
- /* line 102 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
1041
-
1042
- console.log('TODO: end_feature');
1043
- break;
1044
- /* line 1045 "js/lib/gherkin/lexer/i18n/ar.js" */
1045
- } /* eof action switch */
1046
- }
1047
- if (_trigger_goto) {
1048
- continue;
1049
- }
1050
- }
1051
- }
1052
- if (_goto_level <= _out) {
1053
- break;
1054
- }
1055
- }
1056
- }
1057
-
1058
- /* line 158 "/Users/ahellesoy/scm/gherkin/tasks/../ragel/i18n/ar.js.rl" */
1059
- };
1060
-
1061
- Lexer.prototype.bytesToString = function(bytes) {
1062
- if(typeof bytes.write == 'function') {
1063
- // Node.js
1064
- return bytes.toString('utf-8');
1065
- } else {
1066
- var result = "";
1067
- for(var b in bytes) {
1068
- result += String.fromCharCode(bytes[b]);
1069
- }
1070
- return result;
1071
- }
1072
- }
1073
-
1074
- Lexer.prototype.unindent = function(startcol, text) {
1075
- startcol = startcol || 0;
1076
- return text.replace(new RegExp('^[\t ]{0,' + startcol + '}', 'gm'), '');
1077
- };
1078
-
1079
- Lexer.prototype.store_keyword_content = function(event, data, p, eof) {
1080
- var end_point = (!this.next_keyword_start || (p == eof)) ? p : this.next_keyword_start;
1081
- var content = this.unindent(this.start_col + 2, this.bytesToString(data.slice(this.content_start, end_point))).trimRight();
1082
- var content_lines = content.split("\n")
1083
- var name = content_lines.shift() || "";
1084
- name = name.trim();
1085
- var description = content_lines.join("\n");
1086
- this.emit(event, this.keyword, name, description, this.current_line);
1087
- var nks = this.next_keyword_start;
1088
- this.next_keyword_start = null;
1089
- return nks ? nks - 1 : p;
1090
- };
1091
-
1092
- exports.Lexer = Lexer;
1093
-
1094
- })();