gherkin 2.11.5-java → 2.11.6-java

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.
@@ -1,4 +1,4 @@
1
- before_install: gem install bundler -v 1.2.1
1
+ before_install: gem install bundler -v 1.2.3
2
2
  rvm:
3
3
  - 1.9.3
4
4
  - 1.9.2
data/History.md CHANGED
@@ -1,3 +1,16 @@
1
+ ## [2.11.6](https://github.com/cucumber/gherkin/compare/v2.11.5...v2.11.6)
2
+
3
+ * [JavaScript] Add duration value to json formatter ([#204](https://github.com/cucumber/gherkin/pull/204) Rick Beyer)
4
+ * [JavaScript] Fix for JS Lexer ([#215](https://github.com/cucumber/gherkin/pull/215) Alexis Hevia)
5
+ * [JavaScript] Failing JS Features ([#228](https://github.com/cucumber/gherkin/issues/228) Aslak Hellesøy)
6
+ * [Core] Better Slovak ([#208](https://github.com/cucumber/gherkin/pull/208) Michal Kvasnicak)
7
+ * [Core] New: Tatar ([#213](https://github.com/cucumber/gherkin/pull/213) Valeriy Utyaganov)
8
+ * [Core] New: Telugu ([#218](https://github.com/cucumber/gherkin/pull/218) srinivasvedantam)
9
+ * [Core] New: Hindi ([#222](https://github.com/cucumber/gherkin/pull/222) Kumar Harsh)
10
+ * [Java] Fix JSON formatter ([#216](https://github.com/cucumber/gherkin/pull/216), [#195](https://github.com/cucumber/gherkin/pull/195) Joseph Hughes, Rex Hoffman)
11
+ * [Ruby,Java] Gherkin does not seem to parse BOM when feature contains language specification. ([#211](https://github.com/cucumber/gherkin/issues/211), [#212](https://github.com/cucumber/gherkin/pull/212) Rob Westgeest)
12
+ * [Java] Fixed a couple of build problems ([#226](https://github.com/cucumber/gherkin/pull/226), [#227](https://github.com/cucumber/gherkin/pull/227) signed)
13
+
1
14
  ## [2.11.5](https://github.com/cucumber/gherkin/compare/v2.11.4...v2.11.5)
2
15
 
3
16
  * [Core] Czech translation cleaned a little bit up. ([#202](https://github.com/cucumber/gherkin/pull/202) Jakub Linhart)
data/README.md CHANGED
@@ -54,7 +54,7 @@ The jar file is in the central Maven repo.
54
54
  <dependency>
55
55
  <groupId>info.cukes</groupId>
56
56
  <artifactId>gherkin</artifactId>
57
- <version>2.11.5</version>
57
+ <version>2.11.6</version>
58
58
  </dependency>
59
59
 
60
60
  You can get it manually from [Maven Central](http://search.maven.org/#browse%7C-2073395818)
@@ -65,8 +65,8 @@ Get the dll from [NuGet](http://nuget.org/List/Packages/gherkin)
65
65
 
66
66
  ## API Docs
67
67
 
68
- * [Ruby](http://cukes.info/gherkin/api/ruby/latest/)
69
- * [Java](http://cukes.info/gherkin/api/java/latest/apidocs/index.html)
68
+ * [Ruby](http://cukes.info/api/gherkin/yardoc/)
69
+ * [Java](http://cukes.info/api/gherkin/javadoc/)
70
70
 
71
71
  ## Hacking: Installing the toolchain
72
72
 
@@ -174,7 +174,7 @@ You must also download NuGet.exe from [CodePlex](http://nuget.codeplex.com/relea
174
174
 
175
175
  Now you can build the .NET dll with:
176
176
 
177
- mkdir release
177
+ mkdir release
178
178
  rake ikvm
179
179
  rake release/nuspec/lib/gherkin.dll
180
180
 
@@ -184,7 +184,7 @@ This should build `release/nuspec/lib/gherkin.dll`
184
184
 
185
185
  In order to build Windows binaries (so we can release Windows gems from OS X/Linux) we first need to install MinGW:
186
186
 
187
- ./install_mingw_os_x.sh
187
+ ./install_mingw_os_x.sh
188
188
 
189
189
  Now, make sure you have openssl installed - it's needed to build the rubies.
190
190
 
@@ -194,6 +194,9 @@ Next, we're going to install Ruby 1.8.7 and Ruby 1.9.3 for MinGW. We need both v
194
194
  OS X Lion (or later) doesn't ship with an LLVM free gcc, which you will need in order to install ruby 1.8.7. We can install it with:
195
195
 
196
196
  brew install https://raw.github.com/Homebrew/homebrew-dupes/master/apple-gcc42.rb
197
+ export PATH=/usr/local/mingw/bin:$PATH
198
+ # Test that it's on your PATH
199
+ i686-w64-mingw32-gcc -v
197
200
 
198
201
  For more info see:
199
202
 
@@ -205,22 +208,22 @@ Now we're ready to install the Windows rubies:
205
208
  unset GHERKIN_JS
206
209
 
207
210
  # 1.9.3
208
- rvm install 1.9.3-p194
209
- rvm use 1.9.3-p194
211
+ rvm install 1.9.3-p362
212
+ rvm use 1.9.3-p362
210
213
  rvm gemset create cucumber
211
214
  rvm gemset use cucumber
212
215
  gem install bundler
213
216
  bundle install
214
- PATH=/usr/local/mingw/bin:$PATH CC=/usr/local/mingw/bin/i686-w64-mingw32-gcc rake-compiler cross-ruby VERSION=1.9.3-p194
217
+ PATH=/usr/local/mingw/bin:$PATH CC=/usr/local/mingw/bin/i686-w64-mingw32-gcc rake-compiler cross-ruby VERSION=1.9.3-p362
215
218
 
216
219
  # 1.8.7
217
- CC=gcc-4.2 rvm install 1.8.7-p352
218
- rvm use 1.8.7-p352
220
+ CC=gcc-4.2 rvm install 1.8.7-p371
221
+ rvm use 1.8.7-p371
219
222
  rvm gemset create cucumber
220
223
  rvm gemset use cucumber
221
224
  gem install bundler
222
225
  bundle install
223
- PATH=/usr/local/mingw/bin:$PATH CC=/usr/local/mingw/bin/i686-w64-mingw32-gcc rake-compiler cross-ruby VERSION=1.8.7-p352
226
+ PATH=/usr/local/mingw/bin:$PATH CC=/usr/local/mingw/bin/i686-w64-mingw32-gcc rake-compiler cross-ruby VERSION=1.8.7-p371
224
227
 
225
228
  Now you can build Windows gems:
226
229
 
@@ -254,20 +257,18 @@ Now we can release:
254
257
  * History.md
255
258
  * Run `bundle update`, so Gemfile.lock gets updated with the changes.
256
259
  * Commit changes, otherwise you will get an error at the end when a tag is made.
257
- * Run `bundle exec rake gems:prepare && ./build_native_gems.sh && bundle exec rake release:ALL`
260
+ * Run `i686-w64-mingw32-gcc -v && bundle exec rake gems:prepare && ./build_native_gems.sh && bundle exec rake release:ALL`
258
261
 
259
262
  ## Note on Patches/Pull Requests
260
263
 
261
264
  * Fork the project.
262
- * Run rake ragel:rb to generate all the I18n lexers
265
+ * Run `bundle install` to install dependencies.
266
+ * Run `rake` to make sure all the tests are passing.
263
267
  * Make your feature addition or bug fix.
264
- * Add tests for it. This is important so I don't break it in a
265
- future version unintentionally.
266
- * Commit, do not mess with Rakefile, VERSION, or History.txt.
267
- (if you want to have your own version, that is fine but
268
- bump version in a commit by itself I can ignore when I pull)
268
+ * Add tests for it. This is important so I don't break it in a future version unintentionally.
269
+ * Commit, do not mess with History.md.
269
270
  * Send me a pull request. Bonus points for topic branches.
270
271
 
271
272
  ## Copyright
272
273
 
273
- Copyright (c) 2009-2012 Mike Sassak, Gregory Hnatiuk, Aslak Hellesøy. See LICENSE for details.
274
+ Copyright (c) 2009-2013 Mike Sassak, Gregory Hnatiuk, Aslak Hellesøy. See LICENSE for details.
@@ -2,3 +2,4 @@ default: --format pretty --tags ~@pending,~@wip --strict --color --dotcucumber f
2
2
  wip: --format pretty --tags @wip --wip features
3
3
  pending: --format pretty --tags @pending,~@native_lexer
4
4
  travis: --format pretty --tags ~@cucumber-source-available
5
+ javascript: --format pretty --tags ~@no-javascript
@@ -120,7 +120,7 @@ Feature: Gherkin Feature lexer/parser
120
120
  Feature: Documentation is fun
121
121
  Scenario Outline: With lots of docs
122
122
  We need lots of embedded documentation for some reason
123
- \"\"\" # Not interpreted as a pystring, just plain text
123
+ \"\"\" # Not interpreted as a docstring, just plain text
124
124
  Oh hai
125
125
  \"\"\"
126
126
 
@@ -9,6 +9,7 @@ Feature: Pretty Formatter
9
9
  When I send each prettified original through the "pretty" machinery
10
10
  Then the machinery output should be identical to the prettified original
11
11
 
12
+ @no-javascript
12
13
  Scenario: Parse all the features in Cucumber with JSON
13
14
  Given I have Cucumber's source code next to Gherkin's
14
15
  And I find all of the .feature files
@@ -15,7 +15,7 @@ Gem::Specification.new do |s|
15
15
  # When both are building OK, do a `bundle exec rake install` in both cucumber and gherkin projects, revert the changes in the first 2 steps
16
16
  # and release both projects. Do this for both ruby 1.8.7, ruby 1.9.3 and jruby.
17
17
  #
18
- s.version = "2.11.5"
18
+ s.version = "2.11.6"
19
19
  s.authors = ["Mike Sassak", "Gregory Hnatiuk", "Aslak Hellesøy"]
20
20
  s.description = "A fast Gherkin lexer/parser based on the Ragel State Machine Compiler."
21
21
  s.summary = "#{s.name}-#{s.version}"
@@ -52,26 +52,26 @@ Gem::Specification.new do |s|
52
52
  s.files += Dir['lib/gherkin/rb_lexer/*.rb']
53
53
  s.files += Dir['ext/**/*.c']
54
54
  s.extensions = Dir['ext/**/extconf.rb']
55
- s.add_development_dependency('rake-compiler', '>= 0.8.1')
55
+ s.add_development_dependency('rake-compiler', '>= 0.8.2')
56
56
  end
57
57
  s.files -= Dir['**/.gitignore']
58
58
 
59
- s.add_runtime_dependency('json', '>= 1.4.6')
59
+ s.add_runtime_dependency('json', '>= 1.7.6')
60
60
 
61
61
  s.add_development_dependency('cucumber', '>= 1.2.1')
62
- s.add_development_dependency('rake', '>= 0.9.2')
63
- s.add_development_dependency('bundler', '>= 1.2.1') # Make sure it's in sync with /.travis.yml
64
- s.add_development_dependency('rspec', '~> 2.11.0')
62
+ s.add_development_dependency('rake', '>= 10.0.3')
63
+ s.add_development_dependency('bundler', '>= 1.2.3') # Make sure it's in sync with /.travis.yml
64
+ s.add_development_dependency('rspec', '~> 2.12.0')
65
65
  s.add_development_dependency('rubyzip', '>= 0.9.9')
66
66
 
67
67
  unless ENV['RUBY_CC_VERSION'] || defined?(JRUBY_VERSION)
68
- s.add_development_dependency('therubyracer', '>= 0.10.2') if ENV['GHERKIN_JS']
68
+ s.add_development_dependency('therubyracer', '>= 0.11.2') if ENV['GHERKIN_JS']
69
69
  # For Documentation:
70
- s.add_development_dependency('yard', '>= 0.8.2.1')
70
+ s.add_development_dependency('yard', '>= 0.8.3')
71
71
  s.add_development_dependency('rdiscount', '>= 1.6.8')
72
72
  end
73
73
 
74
74
  # Only needed by Cucumber. Remove when Cucumber no longer needs those.
75
75
  s.add_development_dependency('term-ansicolor', '>= 1.0.7')
76
- s.add_development_dependency('builder', '>= 3.1.3')
76
+ s.add_development_dependency('builder', '>= 3.1.4')
77
77
  end
Binary file
@@ -1,7 +1,7 @@
1
- The i18n.json file uses "ISO 639-1":http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes and "ISO 3166 alpha-2":http://en.wikipedia.org/wiki/ISO_3166-1 (region - if applicable):
1
+ The i18n.json file uses [ISO 639-1](http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) and [ISO 3166 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1) (region - if applicable):
2
2
 
3
3
  If you want several aliases for a keyword, just separate them
4
- with a | character. The * is a step keyword alias for all translations.
4
+ with a `|` character. The `*` is a step keyword alias for all translations.
5
5
 
6
- If you do *not* want a trailing space after a keyword, end it with a < character.
6
+ If you do *not* want a trailing space after a keyword, end it with a `<` character.
7
7
  (See Chinese for examples).
@@ -2,7 +2,13 @@ module Gherkin
2
2
  module Formatter
3
3
  class Hashable
4
4
  def to_hash
5
- instance_variables.inject({}) do |hash, ivar|
5
+ ivars = instance_variables
6
+ # When tests are runn with therubyracer (JavaScript), an extra field might
7
+ # exist - added by Ref::WeakReference
8
+ # https://github.com/bdurand/ref/blob/master/lib/ref/weak_reference/pure_ruby.rb
9
+ # Remove it - we don't want it in the JSON.
10
+ ivars.delete(:@__weak_backreferences__)
11
+ ivars.inject({}) do |hash, ivar|
6
12
  value = instance_variable_get(ivar)
7
13
  value = value.to_hash if value.respond_to?(:to_hash)
8
14
  if Array === value
@@ -61,6 +61,17 @@ module Gherkin
61
61
  def result(result)
62
62
  @current_step_or_hook['result'] = result.to_hash
63
63
  end
64
+
65
+ def append_duration(timestamp)
66
+ #check to make sure result exists (scenario outlines do not have results yet)
67
+ if !@current_step_or_hook['result'].nil?
68
+ #convert to nanoseconds
69
+ timestamp = timestamp * 1000000000
70
+ rshash = @current_step_or_hook['result'].to_hash
71
+ rshash['duration'] = timestamp.to_i
72
+ @current_step_or_hook['result'] = rshash
73
+ end
74
+ end
64
75
 
65
76
  def before(match, result)
66
77
  add_hook(match, result, "before")
@@ -237,20 +237,20 @@
237
237
  "and": "*|Ja",
238
238
  "but": "*|Kuid"
239
239
  },
240
- "fa": {
241
- "name": "Persian",
242
- "native": "فارسی",
243
- "feature": "وِیژگی",
244
- "background": "زمینه",
245
- "scenario": "سناریو",
246
- "scenario_outline": "الگوی سناریو",
247
- "examples": "نمونه ها",
248
- "given": "*|با فرض",
249
- "when": "*|هنگامی",
250
- "then": "*|آنگاه",
251
- "and": "*|و",
252
- "but": "*|اما"
253
- },
240
+ "fa": {
241
+ "name": "Persian",
242
+ "native": "فارسی",
243
+ "feature": "وِیژگی",
244
+ "background": "زمینه",
245
+ "scenario": "سناریو",
246
+ "scenario_outline": "الگوی سناریو",
247
+ "examples": "نمونه ها",
248
+ "given": "*|با فرض",
249
+ "when": "*|هنگامی",
250
+ "then": "*|آنگاه",
251
+ "and": "*|و",
252
+ "but": "*|اما"
253
+ },
254
254
  "fi": {
255
255
  "name": "Finnish",
256
256
  "native": "suomi",
@@ -293,6 +293,20 @@
293
293
  "and": "*|וגם",
294
294
  "but": "*|אבל"
295
295
  },
296
+ "hi": {
297
+ "name": "Hindi",
298
+ "native": "हिंदी",
299
+ "feature": "रूप लेख",
300
+ "background": "पृष्ठभूमि",
301
+ "scenario": "परिदृश्य",
302
+ "scenario_outline": "परिदृश्य रूपरेखा",
303
+ "examples": "उदाहरण",
304
+ "given": "*|अगर|यदि|चूंकि",
305
+ "when": "*|जब",
306
+ "then": "*|तब",
307
+ "and": "*|और|तथा",
308
+ "but": "*|पर"
309
+ },
296
310
  "hr": {
297
311
  "name": "Croatian",
298
312
  "native": "hrvatski",
@@ -534,15 +548,15 @@
534
548
  "sk": {
535
549
  "name": "Slovak",
536
550
  "native": "Slovensky",
537
- "feature": "Požiadavka",
551
+ "feature": "Požiadavka|Funkcia|Vlastnosť",
538
552
  "background": "Pozadie",
539
553
  "scenario": "Scenár",
540
- "scenario_outline": "Náčrt Scenáru",
554
+ "scenario_outline": "Náčrt Scenáru|Náčrt Scenára|Osnova Scenára",
541
555
  "examples": "Príklady",
542
- "given": "*|Pokiaľ",
543
- "when": "*|Keď",
544
- "then": "*|Tak",
545
- "and": "*|A",
556
+ "given": "*|Pokiaľ|Za predpokladu",
557
+ "when": "*|Keď|Ak",
558
+ "then": "*|Tak|Potom",
559
+ "and": "*|A|A tiež|A taktiež|A zároveň",
546
560
  "but": "*|Ale"
547
561
  },
548
562
  "sr-Latn": {
@@ -573,6 +587,20 @@
573
587
  "and": "*|И",
574
588
  "but": "*|Али"
575
589
  },
590
+ "tl": {
591
+ "name": "Telugu",
592
+ "native": "తెలుగు",
593
+ "feature": "గుణము",
594
+ "background": "నేపథ్యం",
595
+ "scenario": "సన్నివేశం",
596
+ "scenario_outline": "కథనం",
597
+ "examples": "ఉదాహరణలు",
598
+ "given": "*|చెప్పబడినది",
599
+ "when": "*|ఈ పరిస్థితిలో",
600
+ "then": "*|అప్పుడు",
601
+ "and": "*|మరియు",
602
+ "but": "*|కాని"
603
+ },
576
604
  "tr": {
577
605
  "name": "Turkish",
578
606
  "native": "Türkçe",
@@ -587,6 +615,20 @@
587
615
  "and": "*|Ve",
588
616
  "but": "*|Fakat|Ama"
589
617
  },
618
+ "tt": {
619
+ "name": "Tatar",
620
+ "native": "Татарча",
621
+ "feature": "Мөмкинлек|Үзенчәлеклелек",
622
+ "background": "Кереш",
623
+ "scenario": "Сценарий",
624
+ "scenario_outline": "Сценарийның төзелеше",
625
+ "examples": "Үрнәкләр|Мисаллар",
626
+ "given": "*|Әйтик",
627
+ "when": "*|Әгәр",
628
+ "then": "*|Нәтиҗәдә",
629
+ "and": "*|Һәм|Вә",
630
+ "but": "*|Ләкин|Әмма"
631
+ },
590
632
  "uk": {
591
633
  "name": "Ukrainian",
592
634
  "native": "Українська",
@@ -657,4 +699,4 @@
657
699
  "and": "*|而且<|並且<|同時<",
658
700
  "but": "*|但是<"
659
701
  }
660
- }
702
+ }
@@ -1,3 +1,4 @@
1
+ #encoding: utf-8
1
2
  require 'gherkin/i18n'
2
3
  require 'gherkin/native'
3
4
 
@@ -9,8 +10,8 @@ module Gherkin
9
10
  class I18nLexer
10
11
  native_impl('gherkin')
11
12
 
12
- COMMENT_OR_EMPTY_LINE_PATTERN = /^\s*#|^\s*$/
13
- LANGUAGE_PATTERN = /^\s*#\s*language\s*:\s*([a-zA-Z\-]+)/ #:nodoc:
13
+ COMMENT_OR_EMPTY_LINE_PATTERN = /^(\xEF\xBB\xBF)?\s*#|^\s*$/
14
+ LANGUAGE_PATTERN = /^(\xEF\xBB\xBF)?\s*#\s*language\s*:\s*([a-zA-Z\-]+)/ #:nodoc:
14
15
  attr_reader :i18n_language
15
16
 
16
17
  def initialize(listener, force_ruby=false)
@@ -34,7 +35,7 @@ module Gherkin
34
35
  source.each_line do |line|
35
36
  break unless COMMENT_OR_EMPTY_LINE_PATTERN =~ line
36
37
  if LANGUAGE_PATTERN =~ line
37
- key = $1
38
+ key = $2
38
39
  break
39
40
  end
40
41
  end
@@ -0,0 +1,1723 @@
1
+
2
+ # line 1 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
3
+ require 'gherkin/native'
4
+
5
+ module Gherkin
6
+ module Lexer
7
+ class Tl #:nodoc:
8
+ native_impl('gherkin')
9
+
10
+
11
+ # line 125 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
12
+
13
+
14
+ def initialize(listener)
15
+ @listener = listener
16
+
17
+ # line 18 "lib/gherkin/lexer/tl.rb"
18
+ class << self
19
+ attr_accessor :_lexer_actions
20
+ private :_lexer_actions, :_lexer_actions=
21
+ end
22
+ self._lexer_actions = [
23
+ 0, 1, 0, 1, 1, 1, 2, 1,
24
+ 3, 1, 4, 1, 5, 1, 6, 1,
25
+ 7, 1, 8, 1, 9, 1, 10, 1,
26
+ 11, 1, 12, 1, 13, 1, 16, 1,
27
+ 17, 1, 18, 1, 19, 1, 20, 1,
28
+ 21, 1, 22, 1, 23, 2, 2, 18,
29
+ 2, 3, 4, 2, 13, 0, 2, 14,
30
+ 15, 2, 17, 0, 2, 17, 1, 2,
31
+ 17, 16, 2, 17, 19, 2, 18, 6,
32
+ 2, 18, 7, 2, 18, 8, 2, 18,
33
+ 9, 2, 18, 10, 2, 18, 16, 2,
34
+ 20, 21, 2, 22, 0, 2, 22, 1,
35
+ 2, 22, 16, 2, 22, 19, 3, 4,
36
+ 14, 15, 3, 5, 14, 15, 3, 11,
37
+ 14, 15, 3, 12, 14, 15, 3, 13,
38
+ 14, 15, 3, 14, 15, 18, 3, 17,
39
+ 0, 11, 3, 17, 14, 15, 4, 2,
40
+ 14, 15, 18, 4, 3, 4, 14, 15,
41
+ 4, 17, 0, 14, 15, 5, 17, 0,
42
+ 11, 14, 15
43
+ ]
44
+
45
+ class << self
46
+ attr_accessor :_lexer_key_offsets
47
+ private :_lexer_key_offsets, :_lexer_key_offsets=
48
+ end
49
+ self._lexer_key_offsets = [
50
+ 0, 0, 12, 13, 22, 23, 24, 25,
51
+ 26, 27, 28, 29, 30, 31, 32, 33,
52
+ 34, 35, 36, 37, 38, 39, 40, 41,
53
+ 43, 45, 56, 57, 58, 60, 62, 67,
54
+ 72, 77, 82, 86, 90, 92, 93, 94,
55
+ 95, 96, 97, 98, 99, 100, 101, 102,
56
+ 103, 104, 105, 106, 107, 112, 119, 124,
57
+ 128, 134, 137, 139, 145, 156, 157, 158,
58
+ 159, 160, 161, 162, 163, 164, 165, 166,
59
+ 167, 168, 169, 170, 171, 172, 173, 174,
60
+ 175, 176, 177, 178, 179, 180, 181, 182,
61
+ 183, 184, 185, 186, 187, 188, 189, 190,
62
+ 191, 192, 193, 194, 195, 196, 197, 198,
63
+ 199, 200, 201, 202, 203, 204, 205, 206,
64
+ 207, 208, 209, 210, 211, 212, 213, 214,
65
+ 221, 223, 225, 227, 229, 231, 233, 235,
66
+ 237, 239, 241, 243, 245, 247, 249, 251,
67
+ 262, 263, 264, 266, 267, 268, 269, 270,
68
+ 271, 272, 273, 274, 275, 284, 286, 294,
69
+ 296, 298, 300, 302, 304, 306, 308, 310,
70
+ 312, 314, 316, 318, 320, 322, 324, 326,
71
+ 328, 330, 332, 334, 336, 338, 340, 342,
72
+ 344, 346, 348, 350, 352, 354, 356, 358,
73
+ 360, 362, 364, 366, 368, 370, 372, 374,
74
+ 376, 378, 380, 382, 384, 386, 388, 390,
75
+ 392, 394, 396, 398, 400, 402, 404, 406,
76
+ 408, 410, 412, 414, 416, 418, 420, 422,
77
+ 424, 426, 428, 430, 432, 434, 436, 438,
78
+ 440, 442, 444, 446, 448, 450, 452, 454,
79
+ 456, 458, 460, 462, 464, 466, 468, 470,
80
+ 472, 474, 476, 478, 480, 482, 484, 486,
81
+ 488, 490, 492, 494, 496, 498, 500, 502,
82
+ 504, 506, 508, 510, 512, 514, 516, 518,
83
+ 520, 522, 524, 526, 528, 530, 532, 534,
84
+ 536, 538, 540, 542, 544, 546, 548, 550,
85
+ 552, 554, 556, 558, 560, 562, 564, 566,
86
+ 568, 570, 572, 574, 576, 578, 580, 582,
87
+ 584, 586, 588, 590, 592, 593, 594, 595,
88
+ 596, 597, 598, 599, 600, 601, 602, 603,
89
+ 604, 605, 606, 607, 608, 609, 610, 611,
90
+ 612, 613, 621, 623, 629, 631, 633, 635,
91
+ 637, 639, 641, 643, 645, 647, 649, 651,
92
+ 653, 655, 657, 659, 661, 663, 665, 667,
93
+ 669, 671, 673, 675, 677, 679, 681, 683,
94
+ 685, 687, 689, 691, 693, 695, 697, 699,
95
+ 701, 703, 705, 707, 709, 711, 713, 715,
96
+ 717, 719, 721, 723, 725, 727, 729, 731,
97
+ 733, 735, 737, 739, 741, 743, 745, 747,
98
+ 749, 751, 753, 755, 757, 759, 761, 763,
99
+ 765, 767, 769, 771, 773, 775, 777, 779,
100
+ 781, 783, 785, 787, 789, 791, 793, 795,
101
+ 797, 799, 801, 803, 805, 807, 809, 810,
102
+ 811, 812, 813, 814, 815, 816, 817, 818,
103
+ 819, 820, 821, 822, 823, 824, 825, 826,
104
+ 827, 828, 829, 830, 831, 832, 833, 834,
105
+ 835, 836, 837, 838, 839, 840, 841, 842,
106
+ 843, 844, 845, 846, 847, 848, 849, 850,
107
+ 851, 852, 853, 854, 855, 856, 857, 866,
108
+ 868, 876, 878, 880, 882, 884, 886, 888,
109
+ 890, 892, 894, 896, 898, 900, 902, 904,
110
+ 906, 908, 910, 912, 914, 916, 918, 920,
111
+ 922, 924, 926, 928, 930, 932, 934, 936,
112
+ 938, 940, 942, 944, 946, 948, 950, 952,
113
+ 954, 956, 958, 960, 962, 964, 966, 968,
114
+ 970, 972, 974, 976, 978, 980, 982, 984,
115
+ 986, 989, 991, 993, 995, 997, 999, 1001,
116
+ 1003, 1005, 1007, 1009, 1011, 1013, 1015, 1017,
117
+ 1019, 1021, 1023, 1025, 1027, 1029, 1031, 1033,
118
+ 1035, 1037, 1039, 1041, 1043, 1045, 1047, 1049,
119
+ 1051, 1053, 1055, 1057, 1059, 1061, 1063, 1065,
120
+ 1067, 1069, 1071, 1073, 1075, 1077, 1079, 1081,
121
+ 1083, 1085, 1087, 1089, 1091, 1093, 1095, 1097,
122
+ 1099, 1101, 1103, 1105, 1107, 1109, 1111, 1113,
123
+ 1115, 1117, 1119, 1121, 1123, 1125, 1127, 1129,
124
+ 1131, 1133, 1135, 1137, 1139, 1141, 1143, 1145,
125
+ 1147, 1149, 1151, 1153, 1155, 1157, 1159, 1161,
126
+ 1163, 1165, 1167, 1169, 1171, 1173, 1175, 1177,
127
+ 1179, 1181, 1182, 1183, 1184, 1185, 1186, 1187,
128
+ 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195,
129
+ 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203,
130
+ 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211,
131
+ 1212, 1213, 1214, 1215, 1216, 1217, 1226, 1228,
132
+ 1237, 1239, 1241, 1243, 1245, 1247, 1249, 1251,
133
+ 1253, 1255, 1257, 1259, 1261, 1263, 1265, 1267,
134
+ 1269, 1271, 1273, 1275, 1277, 1279, 1281, 1283,
135
+ 1285, 1287, 1289, 1291, 1293, 1295, 1297, 1299,
136
+ 1301, 1303, 1305, 1307, 1309, 1311, 1313, 1315,
137
+ 1317, 1319, 1321, 1323, 1325, 1327, 1329, 1331,
138
+ 1333, 1335, 1337, 1339, 1341, 1343, 1345, 1347,
139
+ 1350, 1352, 1354, 1356, 1358, 1360, 1362, 1364,
140
+ 1366, 1368, 1370, 1372, 1374, 1376, 1378, 1380,
141
+ 1382, 1384, 1386, 1388, 1390, 1392, 1394, 1396,
142
+ 1398, 1400, 1402, 1404, 1406, 1408, 1410, 1412,
143
+ 1414, 1416, 1418, 1420, 1422, 1424, 1426, 1428,
144
+ 1430, 1432, 1434, 1436, 1438, 1440, 1442, 1444,
145
+ 1446, 1448, 1450, 1452, 1454, 1456, 1458, 1460,
146
+ 1462, 1464, 1466, 1468, 1470, 1472, 1474, 1476,
147
+ 1478, 1480, 1482, 1484, 1486, 1488, 1490, 1492,
148
+ 1494, 1496, 1498, 1500, 1502, 1504, 1506, 1508,
149
+ 1510, 1512, 1514, 1516, 1518, 1520, 1522, 1524,
150
+ 1526, 1528, 1530, 1532, 1534, 1536, 1538, 1540,
151
+ 1542, 1544, 1546, 1548, 1550, 1552, 1554, 1556,
152
+ 1558, 1560, 1562, 1564, 1566, 1568, 1570, 1572,
153
+ 1573, 1574
154
+ ]
155
+
156
+ class << self
157
+ attr_accessor :_lexer_trans_keys
158
+ private :_lexer_trans_keys, :_lexer_trans_keys=
159
+ end
160
+ self._lexer_trans_keys = [
161
+ -32, -17, 10, 32, 34, 35, 37, 42,
162
+ 64, 124, 9, 13, -80, -123, -120, -119,
163
+ -107, -105, -102, -88, -82, -72, -32, -80,
164
+ -86, -32, -79, -115, -32, -80, -86, -32,
165
+ -79, -127, -32, -80, -95, -32, -79, -127,
166
+ 32, 10, 13, 10, 13, -32, 10, 32,
167
+ 34, 35, 37, 42, 64, 124, 9, 13,
168
+ 34, 34, 10, 13, 10, 13, 10, 32,
169
+ 34, 9, 13, 10, 32, 34, 9, 13,
170
+ 10, 32, 34, 9, 13, 10, 32, 34,
171
+ 9, 13, 10, 32, 9, 13, 10, 32,
172
+ 9, 13, 10, 13, 10, 95, 70, 69,
173
+ 65, 84, 85, 82, 69, 95, 69, 78,
174
+ 68, 95, 37, 13, 32, 64, 9, 10,
175
+ 9, 10, 13, 32, 64, 11, 12, 10,
176
+ 32, 64, 9, 13, 32, 124, 9, 13,
177
+ 10, 32, 92, 124, 9, 13, 10, 92,
178
+ 124, 10, 92, 10, 32, 92, 124, 9,
179
+ 13, -32, 10, 32, 34, 35, 37, 42,
180
+ 64, 124, 9, 13, 32, -32, -80, -86,
181
+ -32, -80, -80, -32, -80, -65, -32, -80,
182
+ -72, -32, -79, -115, -32, -80, -91, -32,
183
+ -80, -65, -32, -80, -92, -32, -80, -65,
184
+ -32, -80, -78, -32, -79, -117, -32, -80,
185
+ -90, -32, -80, -66, -32, -80, -71, -32,
186
+ -80, -80, -32, -80, -93, -32, -80, -78,
187
+ -32, -79, -127, 58, 10, 10, -32, 10,
188
+ 32, 35, 124, 9, 13, -80, 10, -105,
189
+ 10, -32, 10, -79, 10, -127, 10, -32,
190
+ 10, -80, 10, -93, 10, -32, 10, -80,
191
+ 10, -82, 10, -32, 10, -79, 10, -127,
192
+ 10, 10, 58, -32, 10, 32, 34, 35,
193
+ 37, 42, 64, 124, 9, 13, -32, -80,
194
+ -91, -66, -32, -80, -88, -32, -80, -126,
195
+ 58, 10, 10, -32, 10, 32, 35, 37,
196
+ 42, 64, 9, 13, -80, 10, -123, -120,
197
+ -107, -105, -102, -82, -72, 10, -32, 10,
198
+ -80, 10, -86, 10, -32, 10, -79, 10,
199
+ -115, 10, -32, 10, -80, 10, -86, 10,
200
+ -32, 10, -79, 10, -127, 10, -32, 10,
201
+ -80, 10, -95, 10, -32, 10, -79, 10,
202
+ -127, 10, 10, 32, 10, 32, -32, 10,
203
+ -80, 10, -86, 10, -32, 10, -80, 10,
204
+ -80, 10, -32, 10, -80, 10, -65, 10,
205
+ -32, 10, -80, 10, -72, 10, -32, 10,
206
+ -79, 10, -115, 10, -32, 10, -80, 10,
207
+ -91, 10, -32, 10, -80, 10, -65, 10,
208
+ -32, 10, -80, 10, -92, 10, -32, 10,
209
+ -80, 10, -65, 10, -32, 10, -80, 10,
210
+ -78, 10, -32, 10, -79, 10, -117, 10,
211
+ -32, 10, -80, 10, -66, 10, -32, 10,
212
+ -80, 10, -88, 10, -32, 10, -80, 10,
213
+ -65, 10, -32, 10, -79, 10, -127, 10,
214
+ -32, 10, -80, 10, -93, 10, -32, 10,
215
+ -80, 10, -82, 10, -32, 10, -79, 10,
216
+ -127, 10, 10, 58, -32, 10, -79, 10,
217
+ -122, 10, -32, 10, -80, 10, -86, 10,
218
+ -32, 10, -79, 10, -115, 10, -32, 10,
219
+ -80, 10, -86, 10, -32, 10, -80, 10,
220
+ -84, 10, -32, 10, -80, 10, -95, 10,
221
+ -32, 10, -80, 10, -65, 10, -32, 10,
222
+ -80, 10, -88, 10, -32, 10, -80, 10,
223
+ -90, 10, -32, 10, -80, 10, -80, 10,
224
+ -32, 10, -80, 10, -65, 10, -32, 10,
225
+ -80, 10, -81, 10, -32, 10, -80, 10,
226
+ -88, 10, -32, 10, -79, 10, -115, 10,
227
+ -32, 10, -80, 10, -88, 10, -32, 10,
228
+ -80, 10, -65, 10, -32, 10, -80, 10,
229
+ -75, 10, -32, 10, -79, 10, -121, 10,
230
+ -32, 10, -80, 10, -74, 10, -32, 10,
231
+ -80, 10, -126, 10, 10, 95, 10, 70,
232
+ 10, 69, 10, 65, 10, 84, 10, 85,
233
+ 10, 82, 10, 69, 10, 95, 10, 69,
234
+ 10, 78, 10, 68, 10, 95, 10, 37,
235
+ -32, -80, -88, -32, -80, -65, -32, -79,
236
+ -127, -32, -80, -93, -32, -80, -82, -32,
237
+ -79, -127, 58, 10, 10, -32, 10, 32,
238
+ 35, 37, 64, 9, 13, -80, 10, -119,
239
+ -107, -105, -88, -72, 10, -32, 10, -80,
240
+ 10, -90, 10, -32, 10, -80, 10, -66,
241
+ 10, -32, 10, -80, 10, -71, 10, -32,
242
+ 10, -80, 10, -80, 10, -32, 10, -80,
243
+ 10, -93, 10, -32, 10, -80, 10, -78,
244
+ 10, -32, 10, -79, 10, -127, 10, 10,
245
+ 58, -32, 10, -80, 10, -91, 10, -32,
246
+ 10, -80, 10, -88, 10, -32, 10, -80,
247
+ 10, -126, 10, -32, 10, -79, 10, -127,
248
+ 10, -32, 10, -80, 10, -93, 10, -32,
249
+ 10, -80, 10, -82, 10, -32, 10, -79,
250
+ 10, -121, 10, -32, 10, -80, 10, -86,
251
+ 10, -32, 10, -80, 10, -91, 10, -32,
252
+ 10, -79, 10, -115, 10, -32, 10, -80,
253
+ 10, -81, 10, -32, 10, -80, 10, -88,
254
+ 10, -32, 10, -79, 10, -115, 10, -32,
255
+ 10, -80, 10, -88, 10, -32, 10, -80,
256
+ 10, -65, 10, -32, 10, -80, 10, -75,
257
+ 10, -32, 10, -79, 10, -121, 10, -32,
258
+ 10, -80, 10, -74, 10, 10, 95, 10,
259
+ 70, 10, 69, 10, 65, 10, 84, 10,
260
+ 85, 10, 82, 10, 69, 10, 95, 10,
261
+ 69, 10, 78, 10, 68, 10, 95, 10,
262
+ 37, -32, -79, -122, -32, -80, -86, -32,
263
+ -79, -115, -32, -80, -86, -32, -80, -84,
264
+ -32, -80, -95, -32, -80, -65, -32, -80,
265
+ -88, -32, -80, -90, -32, -79, -121, -32,
266
+ -80, -86, -32, -80, -91, -32, -79, -115,
267
+ -32, -80, -81, -32, -80, -126, 58, 10,
268
+ 10, -32, 10, 32, 35, 37, 42, 64,
269
+ 9, 13, -80, 10, -123, -120, -107, -105,
270
+ -102, -82, -72, 10, -32, 10, -80, 10,
271
+ -86, 10, -32, 10, -79, 10, -115, 10,
272
+ -32, 10, -80, 10, -86, 10, -32, 10,
273
+ -79, 10, -127, 10, -32, 10, -80, 10,
274
+ -95, 10, -32, 10, -79, 10, -127, 10,
275
+ 10, 32, 10, 32, -32, 10, -80, 10,
276
+ -86, 10, -32, 10, -80, 10, -80, 10,
277
+ -32, 10, -80, 10, -65, 10, -32, 10,
278
+ -80, 10, -72, 10, -32, 10, -79, 10,
279
+ -115, 10, -32, 10, -80, 10, -91, 10,
280
+ -32, 10, -80, 10, -65, 10, -32, 10,
281
+ -80, 10, -92, 10, -32, 10, -80, 10,
282
+ -65, 10, -32, 10, -80, 10, -78, 10,
283
+ -32, 10, -79, 10, -117, 10, -32, 10,
284
+ -80, 10, -91, -66, 10, -32, 10, -80,
285
+ 10, -88, 10, -32, 10, -80, 10, -126,
286
+ 10, 10, 58, -32, 10, -80, 10, -88,
287
+ 10, -32, 10, -80, 10, -65, 10, -32,
288
+ 10, -79, 10, -127, 10, -32, 10, -80,
289
+ 10, -93, 10, -32, 10, -80, 10, -82,
290
+ 10, -32, 10, -79, 10, -127, 10, -32,
291
+ 10, -79, 10, -122, 10, -32, 10, -80,
292
+ 10, -86, 10, -32, 10, -79, 10, -115,
293
+ 10, -32, 10, -80, 10, -86, 10, -32,
294
+ 10, -80, 10, -84, 10, -32, 10, -80,
295
+ 10, -95, 10, -32, 10, -80, 10, -65,
296
+ 10, -32, 10, -80, 10, -88, 10, -32,
297
+ 10, -80, 10, -90, 10, -32, 10, -80,
298
+ 10, -80, 10, -32, 10, -80, 10, -65,
299
+ 10, -32, 10, -80, 10, -81, 10, -32,
300
+ 10, -80, 10, -88, 10, -32, 10, -79,
301
+ 10, -115, 10, -32, 10, -80, 10, -88,
302
+ 10, -32, 10, -80, 10, -65, 10, -32,
303
+ 10, -80, 10, -75, 10, -32, 10, -79,
304
+ 10, -121, 10, -32, 10, -80, 10, -74,
305
+ 10, 10, 95, 10, 70, 10, 69, 10,
306
+ 65, 10, 84, 10, 85, 10, 82, 10,
307
+ 69, 10, 95, 10, 69, 10, 78, 10,
308
+ 68, 10, 95, 10, 37, -32, -80, -80,
309
+ -32, -80, -65, -32, -80, -81, -32, -80,
310
+ -88, -32, -79, -115, -32, -80, -88, -32,
311
+ -80, -65, -32, -80, -75, -32, -79, -121,
312
+ -32, -80, -74, -32, -80, -126, 58, 10,
313
+ 10, -32, 10, 32, 35, 37, 42, 64,
314
+ 9, 13, -80, 10, -123, -120, -107, -105,
315
+ -102, -88, -82, -72, 10, -32, 10, -80,
316
+ 10, -86, 10, -32, 10, -79, 10, -115,
317
+ 10, -32, 10, -80, 10, -86, 10, -32,
318
+ 10, -79, 10, -127, 10, -32, 10, -80,
319
+ 10, -95, 10, -32, 10, -79, 10, -127,
320
+ 10, 10, 32, 10, 32, -32, 10, -80,
321
+ 10, -86, 10, -32, 10, -80, 10, -80,
322
+ 10, -32, 10, -80, 10, -65, 10, -32,
323
+ 10, -80, 10, -72, 10, -32, 10, -79,
324
+ 10, -115, 10, -32, 10, -80, 10, -91,
325
+ 10, -32, 10, -80, 10, -65, 10, -32,
326
+ 10, -80, 10, -92, 10, -32, 10, -80,
327
+ 10, -65, 10, -32, 10, -80, 10, -78,
328
+ 10, -32, 10, -79, 10, -117, 10, -32,
329
+ 10, -80, 10, -91, -66, 10, -32, 10,
330
+ -80, 10, -88, 10, -32, 10, -80, 10,
331
+ -126, 10, 10, 58, -32, 10, -80, 10,
332
+ -88, 10, -32, 10, -80, 10, -65, 10,
333
+ -32, 10, -79, 10, -127, 10, -32, 10,
334
+ -80, 10, -93, 10, -32, 10, -80, 10,
335
+ -82, 10, -32, 10, -79, 10, -127, 10,
336
+ -32, 10, -79, 10, -122, 10, -32, 10,
337
+ -80, 10, -86, 10, -32, 10, -79, 10,
338
+ -115, 10, -32, 10, -80, 10, -86, 10,
339
+ -32, 10, -80, 10, -84, 10, -32, 10,
340
+ -80, 10, -95, 10, -32, 10, -80, 10,
341
+ -65, 10, -32, 10, -80, 10, -88, 10,
342
+ -32, 10, -80, 10, -90, 10, -32, 10,
343
+ -79, 10, -121, 10, -32, 10, -80, 10,
344
+ -86, 10, -32, 10, -80, 10, -91, 10,
345
+ -32, 10, -79, 10, -115, 10, -32, 10,
346
+ -80, 10, -81, 10, -32, 10, -80, 10,
347
+ -80, 10, -32, 10, -80, 10, -65, 10,
348
+ -32, 10, -80, 10, -81, 10, -32, 10,
349
+ -80, 10, -88, 10, -32, 10, -79, 10,
350
+ -115, 10, -32, 10, -80, 10, -88, 10,
351
+ -32, 10, -80, 10, -65, 10, -32, 10,
352
+ -80, 10, -75, 10, -32, 10, -79, 10,
353
+ -121, 10, -32, 10, -80, 10, -74, 10,
354
+ 10, 95, 10, 70, 10, 69, 10, 65,
355
+ 10, 84, 10, 85, 10, 82, 10, 69,
356
+ 10, 95, 10, 69, 10, 78, 10, 68,
357
+ 10, 95, 10, 37, -69, -65, 0
358
+ ]
359
+
360
+ class << self
361
+ attr_accessor :_lexer_single_lengths
362
+ private :_lexer_single_lengths, :_lexer_single_lengths=
363
+ end
364
+ self._lexer_single_lengths = [
365
+ 0, 10, 1, 9, 1, 1, 1, 1,
366
+ 1, 1, 1, 1, 1, 1, 1, 1,
367
+ 1, 1, 1, 1, 1, 1, 1, 2,
368
+ 2, 9, 1, 1, 2, 2, 3, 3,
369
+ 3, 3, 2, 2, 2, 1, 1, 1,
370
+ 1, 1, 1, 1, 1, 1, 1, 1,
371
+ 1, 1, 1, 1, 3, 5, 3, 2,
372
+ 4, 3, 2, 4, 9, 1, 1, 1,
373
+ 1, 1, 1, 1, 1, 1, 1, 1,
374
+ 1, 1, 1, 1, 1, 1, 1, 1,
375
+ 1, 1, 1, 1, 1, 1, 1, 1,
376
+ 1, 1, 1, 1, 1, 1, 1, 1,
377
+ 1, 1, 1, 1, 1, 1, 1, 1,
378
+ 1, 1, 1, 1, 1, 1, 1, 1,
379
+ 1, 1, 1, 1, 1, 1, 1, 5,
380
+ 2, 2, 2, 2, 2, 2, 2, 2,
381
+ 2, 2, 2, 2, 2, 2, 2, 9,
382
+ 1, 1, 2, 1, 1, 1, 1, 1,
383
+ 1, 1, 1, 1, 7, 2, 8, 2,
384
+ 2, 2, 2, 2, 2, 2, 2, 2,
385
+ 2, 2, 2, 2, 2, 2, 2, 2,
386
+ 2, 2, 2, 2, 2, 2, 2, 2,
387
+ 2, 2, 2, 2, 2, 2, 2, 2,
388
+ 2, 2, 2, 2, 2, 2, 2, 2,
389
+ 2, 2, 2, 2, 2, 2, 2, 2,
390
+ 2, 2, 2, 2, 2, 2, 2, 2,
391
+ 2, 2, 2, 2, 2, 2, 2, 2,
392
+ 2, 2, 2, 2, 2, 2, 2, 2,
393
+ 2, 2, 2, 2, 2, 2, 2, 2,
394
+ 2, 2, 2, 2, 2, 2, 2, 2,
395
+ 2, 2, 2, 2, 2, 2, 2, 2,
396
+ 2, 2, 2, 2, 2, 2, 2, 2,
397
+ 2, 2, 2, 2, 2, 2, 2, 2,
398
+ 2, 2, 2, 2, 2, 2, 2, 2,
399
+ 2, 2, 2, 2, 2, 2, 2, 2,
400
+ 2, 2, 2, 2, 2, 2, 2, 2,
401
+ 2, 2, 2, 2, 2, 2, 2, 2,
402
+ 2, 2, 2, 2, 1, 1, 1, 1,
403
+ 1, 1, 1, 1, 1, 1, 1, 1,
404
+ 1, 1, 1, 1, 1, 1, 1, 1,
405
+ 1, 6, 2, 6, 2, 2, 2, 2,
406
+ 2, 2, 2, 2, 2, 2, 2, 2,
407
+ 2, 2, 2, 2, 2, 2, 2, 2,
408
+ 2, 2, 2, 2, 2, 2, 2, 2,
409
+ 2, 2, 2, 2, 2, 2, 2, 2,
410
+ 2, 2, 2, 2, 2, 2, 2, 2,
411
+ 2, 2, 2, 2, 2, 2, 2, 2,
412
+ 2, 2, 2, 2, 2, 2, 2, 2,
413
+ 2, 2, 2, 2, 2, 2, 2, 2,
414
+ 2, 2, 2, 2, 2, 2, 2, 2,
415
+ 2, 2, 2, 2, 2, 2, 2, 2,
416
+ 2, 2, 2, 2, 2, 2, 1, 1,
417
+ 1, 1, 1, 1, 1, 1, 1, 1,
418
+ 1, 1, 1, 1, 1, 1, 1, 1,
419
+ 1, 1, 1, 1, 1, 1, 1, 1,
420
+ 1, 1, 1, 1, 1, 1, 1, 1,
421
+ 1, 1, 1, 1, 1, 1, 1, 1,
422
+ 1, 1, 1, 1, 1, 1, 7, 2,
423
+ 8, 2, 2, 2, 2, 2, 2, 2,
424
+ 2, 2, 2, 2, 2, 2, 2, 2,
425
+ 2, 2, 2, 2, 2, 2, 2, 2,
426
+ 2, 2, 2, 2, 2, 2, 2, 2,
427
+ 2, 2, 2, 2, 2, 2, 2, 2,
428
+ 2, 2, 2, 2, 2, 2, 2, 2,
429
+ 2, 2, 2, 2, 2, 2, 2, 2,
430
+ 3, 2, 2, 2, 2, 2, 2, 2,
431
+ 2, 2, 2, 2, 2, 2, 2, 2,
432
+ 2, 2, 2, 2, 2, 2, 2, 2,
433
+ 2, 2, 2, 2, 2, 2, 2, 2,
434
+ 2, 2, 2, 2, 2, 2, 2, 2,
435
+ 2, 2, 2, 2, 2, 2, 2, 2,
436
+ 2, 2, 2, 2, 2, 2, 2, 2,
437
+ 2, 2, 2, 2, 2, 2, 2, 2,
438
+ 2, 2, 2, 2, 2, 2, 2, 2,
439
+ 2, 2, 2, 2, 2, 2, 2, 2,
440
+ 2, 2, 2, 2, 2, 2, 2, 2,
441
+ 2, 2, 2, 2, 2, 2, 2, 2,
442
+ 2, 1, 1, 1, 1, 1, 1, 1,
443
+ 1, 1, 1, 1, 1, 1, 1, 1,
444
+ 1, 1, 1, 1, 1, 1, 1, 1,
445
+ 1, 1, 1, 1, 1, 1, 1, 1,
446
+ 1, 1, 1, 1, 1, 7, 2, 9,
447
+ 2, 2, 2, 2, 2, 2, 2, 2,
448
+ 2, 2, 2, 2, 2, 2, 2, 2,
449
+ 2, 2, 2, 2, 2, 2, 2, 2,
450
+ 2, 2, 2, 2, 2, 2, 2, 2,
451
+ 2, 2, 2, 2, 2, 2, 2, 2,
452
+ 2, 2, 2, 2, 2, 2, 2, 2,
453
+ 2, 2, 2, 2, 2, 2, 2, 3,
454
+ 2, 2, 2, 2, 2, 2, 2, 2,
455
+ 2, 2, 2, 2, 2, 2, 2, 2,
456
+ 2, 2, 2, 2, 2, 2, 2, 2,
457
+ 2, 2, 2, 2, 2, 2, 2, 2,
458
+ 2, 2, 2, 2, 2, 2, 2, 2,
459
+ 2, 2, 2, 2, 2, 2, 2, 2,
460
+ 2, 2, 2, 2, 2, 2, 2, 2,
461
+ 2, 2, 2, 2, 2, 2, 2, 2,
462
+ 2, 2, 2, 2, 2, 2, 2, 2,
463
+ 2, 2, 2, 2, 2, 2, 2, 2,
464
+ 2, 2, 2, 2, 2, 2, 2, 2,
465
+ 2, 2, 2, 2, 2, 2, 2, 2,
466
+ 2, 2, 2, 2, 2, 2, 2, 2,
467
+ 2, 2, 2, 2, 2, 2, 2, 1,
468
+ 1, 0
469
+ ]
470
+
471
+ class << self
472
+ attr_accessor :_lexer_range_lengths
473
+ private :_lexer_range_lengths, :_lexer_range_lengths=
474
+ end
475
+ self._lexer_range_lengths = [
476
+ 0, 1, 0, 0, 0, 0, 0, 0,
477
+ 0, 0, 0, 0, 0, 0, 0, 0,
478
+ 0, 0, 0, 0, 0, 0, 0, 0,
479
+ 0, 1, 0, 0, 0, 0, 1, 1,
480
+ 1, 1, 1, 1, 0, 0, 0, 0,
481
+ 0, 0, 0, 0, 0, 0, 0, 0,
482
+ 0, 0, 0, 0, 1, 1, 1, 1,
483
+ 1, 0, 0, 1, 1, 0, 0, 0,
484
+ 0, 0, 0, 0, 0, 0, 0, 0,
485
+ 0, 0, 0, 0, 0, 0, 0, 0,
486
+ 0, 0, 0, 0, 0, 0, 0, 0,
487
+ 0, 0, 0, 0, 0, 0, 0, 0,
488
+ 0, 0, 0, 0, 0, 0, 0, 0,
489
+ 0, 0, 0, 0, 0, 0, 0, 0,
490
+ 0, 0, 0, 0, 0, 0, 0, 1,
491
+ 0, 0, 0, 0, 0, 0, 0, 0,
492
+ 0, 0, 0, 0, 0, 0, 0, 1,
493
+ 0, 0, 0, 0, 0, 0, 0, 0,
494
+ 0, 0, 0, 0, 1, 0, 0, 0,
495
+ 0, 0, 0, 0, 0, 0, 0, 0,
496
+ 0, 0, 0, 0, 0, 0, 0, 0,
497
+ 0, 0, 0, 0, 0, 0, 0, 0,
498
+ 0, 0, 0, 0, 0, 0, 0, 0,
499
+ 0, 0, 0, 0, 0, 0, 0, 0,
500
+ 0, 0, 0, 0, 0, 0, 0, 0,
501
+ 0, 0, 0, 0, 0, 0, 0, 0,
502
+ 0, 0, 0, 0, 0, 0, 0, 0,
503
+ 0, 0, 0, 0, 0, 0, 0, 0,
504
+ 0, 0, 0, 0, 0, 0, 0, 0,
505
+ 0, 0, 0, 0, 0, 0, 0, 0,
506
+ 0, 0, 0, 0, 0, 0, 0, 0,
507
+ 0, 0, 0, 0, 0, 0, 0, 0,
508
+ 0, 0, 0, 0, 0, 0, 0, 0,
509
+ 0, 0, 0, 0, 0, 0, 0, 0,
510
+ 0, 0, 0, 0, 0, 0, 0, 0,
511
+ 0, 0, 0, 0, 0, 0, 0, 0,
512
+ 0, 0, 0, 0, 0, 0, 0, 0,
513
+ 0, 0, 0, 0, 0, 0, 0, 0,
514
+ 0, 0, 0, 0, 0, 0, 0, 0,
515
+ 0, 0, 0, 0, 0, 0, 0, 0,
516
+ 0, 1, 0, 0, 0, 0, 0, 0,
517
+ 0, 0, 0, 0, 0, 0, 0, 0,
518
+ 0, 0, 0, 0, 0, 0, 0, 0,
519
+ 0, 0, 0, 0, 0, 0, 0, 0,
520
+ 0, 0, 0, 0, 0, 0, 0, 0,
521
+ 0, 0, 0, 0, 0, 0, 0, 0,
522
+ 0, 0, 0, 0, 0, 0, 0, 0,
523
+ 0, 0, 0, 0, 0, 0, 0, 0,
524
+ 0, 0, 0, 0, 0, 0, 0, 0,
525
+ 0, 0, 0, 0, 0, 0, 0, 0,
526
+ 0, 0, 0, 0, 0, 0, 0, 0,
527
+ 0, 0, 0, 0, 0, 0, 0, 0,
528
+ 0, 0, 0, 0, 0, 0, 0, 0,
529
+ 0, 0, 0, 0, 0, 0, 0, 0,
530
+ 0, 0, 0, 0, 0, 0, 0, 0,
531
+ 0, 0, 0, 0, 0, 0, 0, 0,
532
+ 0, 0, 0, 0, 0, 0, 0, 0,
533
+ 0, 0, 0, 0, 0, 0, 1, 0,
534
+ 0, 0, 0, 0, 0, 0, 0, 0,
535
+ 0, 0, 0, 0, 0, 0, 0, 0,
536
+ 0, 0, 0, 0, 0, 0, 0, 0,
537
+ 0, 0, 0, 0, 0, 0, 0, 0,
538
+ 0, 0, 0, 0, 0, 0, 0, 0,
539
+ 0, 0, 0, 0, 0, 0, 0, 0,
540
+ 0, 0, 0, 0, 0, 0, 0, 0,
541
+ 0, 0, 0, 0, 0, 0, 0, 0,
542
+ 0, 0, 0, 0, 0, 0, 0, 0,
543
+ 0, 0, 0, 0, 0, 0, 0, 0,
544
+ 0, 0, 0, 0, 0, 0, 0, 0,
545
+ 0, 0, 0, 0, 0, 0, 0, 0,
546
+ 0, 0, 0, 0, 0, 0, 0, 0,
547
+ 0, 0, 0, 0, 0, 0, 0, 0,
548
+ 0, 0, 0, 0, 0, 0, 0, 0,
549
+ 0, 0, 0, 0, 0, 0, 0, 0,
550
+ 0, 0, 0, 0, 0, 0, 0, 0,
551
+ 0, 0, 0, 0, 0, 0, 0, 0,
552
+ 0, 0, 0, 0, 0, 0, 0, 0,
553
+ 0, 0, 0, 0, 0, 0, 0, 0,
554
+ 0, 0, 0, 0, 0, 0, 0, 0,
555
+ 0, 0, 0, 0, 0, 0, 0, 0,
556
+ 0, 0, 0, 0, 0, 0, 0, 0,
557
+ 0, 0, 0, 0, 0, 1, 0, 0,
558
+ 0, 0, 0, 0, 0, 0, 0, 0,
559
+ 0, 0, 0, 0, 0, 0, 0, 0,
560
+ 0, 0, 0, 0, 0, 0, 0, 0,
561
+ 0, 0, 0, 0, 0, 0, 0, 0,
562
+ 0, 0, 0, 0, 0, 0, 0, 0,
563
+ 0, 0, 0, 0, 0, 0, 0, 0,
564
+ 0, 0, 0, 0, 0, 0, 0, 0,
565
+ 0, 0, 0, 0, 0, 0, 0, 0,
566
+ 0, 0, 0, 0, 0, 0, 0, 0,
567
+ 0, 0, 0, 0, 0, 0, 0, 0,
568
+ 0, 0, 0, 0, 0, 0, 0, 0,
569
+ 0, 0, 0, 0, 0, 0, 0, 0,
570
+ 0, 0, 0, 0, 0, 0, 0, 0,
571
+ 0, 0, 0, 0, 0, 0, 0, 0,
572
+ 0, 0, 0, 0, 0, 0, 0, 0,
573
+ 0, 0, 0, 0, 0, 0, 0, 0,
574
+ 0, 0, 0, 0, 0, 0, 0, 0,
575
+ 0, 0, 0, 0, 0, 0, 0, 0,
576
+ 0, 0, 0, 0, 0, 0, 0, 0,
577
+ 0, 0, 0, 0, 0, 0, 0, 0,
578
+ 0, 0, 0, 0, 0, 0, 0, 0,
579
+ 0, 0
580
+ ]
581
+
582
+ class << self
583
+ attr_accessor :_lexer_index_offsets
584
+ private :_lexer_index_offsets, :_lexer_index_offsets=
585
+ end
586
+ self._lexer_index_offsets = [
587
+ 0, 0, 12, 14, 24, 26, 28, 30,
588
+ 32, 34, 36, 38, 40, 42, 44, 46,
589
+ 48, 50, 52, 54, 56, 58, 60, 62,
590
+ 65, 68, 79, 81, 83, 86, 89, 94,
591
+ 99, 104, 109, 113, 117, 120, 122, 124,
592
+ 126, 128, 130, 132, 134, 136, 138, 140,
593
+ 142, 144, 146, 148, 150, 155, 162, 167,
594
+ 171, 177, 181, 184, 190, 201, 203, 205,
595
+ 207, 209, 211, 213, 215, 217, 219, 221,
596
+ 223, 225, 227, 229, 231, 233, 235, 237,
597
+ 239, 241, 243, 245, 247, 249, 251, 253,
598
+ 255, 257, 259, 261, 263, 265, 267, 269,
599
+ 271, 273, 275, 277, 279, 281, 283, 285,
600
+ 287, 289, 291, 293, 295, 297, 299, 301,
601
+ 303, 305, 307, 309, 311, 313, 315, 317,
602
+ 324, 327, 330, 333, 336, 339, 342, 345,
603
+ 348, 351, 354, 357, 360, 363, 366, 369,
604
+ 380, 382, 384, 387, 389, 391, 393, 395,
605
+ 397, 399, 401, 403, 405, 414, 417, 426,
606
+ 429, 432, 435, 438, 441, 444, 447, 450,
607
+ 453, 456, 459, 462, 465, 468, 471, 474,
608
+ 477, 480, 483, 486, 489, 492, 495, 498,
609
+ 501, 504, 507, 510, 513, 516, 519, 522,
610
+ 525, 528, 531, 534, 537, 540, 543, 546,
611
+ 549, 552, 555, 558, 561, 564, 567, 570,
612
+ 573, 576, 579, 582, 585, 588, 591, 594,
613
+ 597, 600, 603, 606, 609, 612, 615, 618,
614
+ 621, 624, 627, 630, 633, 636, 639, 642,
615
+ 645, 648, 651, 654, 657, 660, 663, 666,
616
+ 669, 672, 675, 678, 681, 684, 687, 690,
617
+ 693, 696, 699, 702, 705, 708, 711, 714,
618
+ 717, 720, 723, 726, 729, 732, 735, 738,
619
+ 741, 744, 747, 750, 753, 756, 759, 762,
620
+ 765, 768, 771, 774, 777, 780, 783, 786,
621
+ 789, 792, 795, 798, 801, 804, 807, 810,
622
+ 813, 816, 819, 822, 825, 828, 831, 834,
623
+ 837, 840, 843, 846, 849, 852, 855, 858,
624
+ 861, 864, 867, 870, 873, 875, 877, 879,
625
+ 881, 883, 885, 887, 889, 891, 893, 895,
626
+ 897, 899, 901, 903, 905, 907, 909, 911,
627
+ 913, 915, 923, 926, 933, 936, 939, 942,
628
+ 945, 948, 951, 954, 957, 960, 963, 966,
629
+ 969, 972, 975, 978, 981, 984, 987, 990,
630
+ 993, 996, 999, 1002, 1005, 1008, 1011, 1014,
631
+ 1017, 1020, 1023, 1026, 1029, 1032, 1035, 1038,
632
+ 1041, 1044, 1047, 1050, 1053, 1056, 1059, 1062,
633
+ 1065, 1068, 1071, 1074, 1077, 1080, 1083, 1086,
634
+ 1089, 1092, 1095, 1098, 1101, 1104, 1107, 1110,
635
+ 1113, 1116, 1119, 1122, 1125, 1128, 1131, 1134,
636
+ 1137, 1140, 1143, 1146, 1149, 1152, 1155, 1158,
637
+ 1161, 1164, 1167, 1170, 1173, 1176, 1179, 1182,
638
+ 1185, 1188, 1191, 1194, 1197, 1200, 1203, 1205,
639
+ 1207, 1209, 1211, 1213, 1215, 1217, 1219, 1221,
640
+ 1223, 1225, 1227, 1229, 1231, 1233, 1235, 1237,
641
+ 1239, 1241, 1243, 1245, 1247, 1249, 1251, 1253,
642
+ 1255, 1257, 1259, 1261, 1263, 1265, 1267, 1269,
643
+ 1271, 1273, 1275, 1277, 1279, 1281, 1283, 1285,
644
+ 1287, 1289, 1291, 1293, 1295, 1297, 1299, 1308,
645
+ 1311, 1320, 1323, 1326, 1329, 1332, 1335, 1338,
646
+ 1341, 1344, 1347, 1350, 1353, 1356, 1359, 1362,
647
+ 1365, 1368, 1371, 1374, 1377, 1380, 1383, 1386,
648
+ 1389, 1392, 1395, 1398, 1401, 1404, 1407, 1410,
649
+ 1413, 1416, 1419, 1422, 1425, 1428, 1431, 1434,
650
+ 1437, 1440, 1443, 1446, 1449, 1452, 1455, 1458,
651
+ 1461, 1464, 1467, 1470, 1473, 1476, 1479, 1482,
652
+ 1485, 1489, 1492, 1495, 1498, 1501, 1504, 1507,
653
+ 1510, 1513, 1516, 1519, 1522, 1525, 1528, 1531,
654
+ 1534, 1537, 1540, 1543, 1546, 1549, 1552, 1555,
655
+ 1558, 1561, 1564, 1567, 1570, 1573, 1576, 1579,
656
+ 1582, 1585, 1588, 1591, 1594, 1597, 1600, 1603,
657
+ 1606, 1609, 1612, 1615, 1618, 1621, 1624, 1627,
658
+ 1630, 1633, 1636, 1639, 1642, 1645, 1648, 1651,
659
+ 1654, 1657, 1660, 1663, 1666, 1669, 1672, 1675,
660
+ 1678, 1681, 1684, 1687, 1690, 1693, 1696, 1699,
661
+ 1702, 1705, 1708, 1711, 1714, 1717, 1720, 1723,
662
+ 1726, 1729, 1732, 1735, 1738, 1741, 1744, 1747,
663
+ 1750, 1753, 1756, 1759, 1762, 1765, 1768, 1771,
664
+ 1774, 1777, 1779, 1781, 1783, 1785, 1787, 1789,
665
+ 1791, 1793, 1795, 1797, 1799, 1801, 1803, 1805,
666
+ 1807, 1809, 1811, 1813, 1815, 1817, 1819, 1821,
667
+ 1823, 1825, 1827, 1829, 1831, 1833, 1835, 1837,
668
+ 1839, 1841, 1843, 1845, 1847, 1849, 1858, 1861,
669
+ 1871, 1874, 1877, 1880, 1883, 1886, 1889, 1892,
670
+ 1895, 1898, 1901, 1904, 1907, 1910, 1913, 1916,
671
+ 1919, 1922, 1925, 1928, 1931, 1934, 1937, 1940,
672
+ 1943, 1946, 1949, 1952, 1955, 1958, 1961, 1964,
673
+ 1967, 1970, 1973, 1976, 1979, 1982, 1985, 1988,
674
+ 1991, 1994, 1997, 2000, 2003, 2006, 2009, 2012,
675
+ 2015, 2018, 2021, 2024, 2027, 2030, 2033, 2036,
676
+ 2040, 2043, 2046, 2049, 2052, 2055, 2058, 2061,
677
+ 2064, 2067, 2070, 2073, 2076, 2079, 2082, 2085,
678
+ 2088, 2091, 2094, 2097, 2100, 2103, 2106, 2109,
679
+ 2112, 2115, 2118, 2121, 2124, 2127, 2130, 2133,
680
+ 2136, 2139, 2142, 2145, 2148, 2151, 2154, 2157,
681
+ 2160, 2163, 2166, 2169, 2172, 2175, 2178, 2181,
682
+ 2184, 2187, 2190, 2193, 2196, 2199, 2202, 2205,
683
+ 2208, 2211, 2214, 2217, 2220, 2223, 2226, 2229,
684
+ 2232, 2235, 2238, 2241, 2244, 2247, 2250, 2253,
685
+ 2256, 2259, 2262, 2265, 2268, 2271, 2274, 2277,
686
+ 2280, 2283, 2286, 2289, 2292, 2295, 2298, 2301,
687
+ 2304, 2307, 2310, 2313, 2316, 2319, 2322, 2325,
688
+ 2328, 2331, 2334, 2337, 2340, 2343, 2346, 2349,
689
+ 2352, 2355, 2358, 2361, 2364, 2367, 2370, 2373,
690
+ 2375, 2377
691
+ ]
692
+
693
+ class << self
694
+ attr_accessor :_lexer_indicies
695
+ private :_lexer_indicies, :_lexer_indicies=
696
+ end
697
+ self._lexer_indicies = [
698
+ 1, 2, 4, 3, 5, 6, 7, 8,
699
+ 9, 10, 3, 0, 11, 0, 12, 13,
700
+ 14, 15, 16, 17, 18, 19, 20, 0,
701
+ 21, 0, 22, 0, 23, 0, 24, 0,
702
+ 25, 0, 26, 0, 27, 0, 28, 0,
703
+ 29, 0, 30, 0, 31, 0, 32, 0,
704
+ 33, 0, 34, 0, 35, 0, 36, 0,
705
+ 37, 0, 38, 0, 39, 0, 41, 42,
706
+ 40, 44, 45, 43, 1, 4, 3, 5,
707
+ 6, 7, 8, 9, 10, 3, 0, 46,
708
+ 0, 47, 0, 49, 50, 48, 52, 53,
709
+ 51, 56, 55, 57, 55, 54, 60, 59,
710
+ 61, 59, 58, 60, 59, 62, 59, 58,
711
+ 60, 59, 63, 59, 58, 65, 64, 64,
712
+ 0, 4, 66, 66, 0, 68, 69, 67,
713
+ 4, 0, 70, 0, 71, 0, 72, 0,
714
+ 73, 0, 74, 0, 75, 0, 76, 0,
715
+ 77, 0, 78, 0, 79, 0, 80, 0,
716
+ 81, 0, 82, 0, 83, 0, 0, 0,
717
+ 0, 0, 84, 85, 86, 85, 85, 88,
718
+ 87, 84, 4, 89, 9, 89, 0, 90,
719
+ 91, 90, 0, 94, 93, 95, 96, 93,
720
+ 92, 0, 98, 99, 97, 0, 98, 97,
721
+ 94, 100, 98, 99, 100, 97, 101, 94,
722
+ 102, 103, 104, 105, 106, 107, 108, 102,
723
+ 0, 109, 0, 110, 0, 111, 0, 112,
724
+ 0, 113, 0, 114, 0, 115, 0, 116,
725
+ 0, 117, 0, 118, 0, 119, 0, 120,
726
+ 0, 121, 0, 122, 0, 123, 0, 124,
727
+ 0, 125, 0, 126, 0, 127, 0, 128,
728
+ 0, 129, 0, 130, 0, 131, 0, 132,
729
+ 0, 133, 0, 134, 0, 135, 0, 136,
730
+ 0, 137, 0, 138, 0, 139, 0, 140,
731
+ 0, 141, 0, 38, 0, 142, 0, 143,
732
+ 0, 144, 0, 145, 0, 146, 0, 147,
733
+ 0, 148, 0, 149, 0, 150, 0, 151,
734
+ 0, 152, 0, 153, 0, 154, 0, 155,
735
+ 0, 156, 0, 157, 0, 158, 0, 159,
736
+ 0, 160, 0, 161, 0, 162, 0, 163,
737
+ 0, 165, 164, 167, 166, 168, 167, 169,
738
+ 170, 170, 169, 166, 171, 167, 166, 172,
739
+ 167, 166, 173, 167, 166, 174, 167, 166,
740
+ 175, 167, 166, 176, 167, 166, 177, 167,
741
+ 166, 178, 167, 166, 179, 167, 166, 180,
742
+ 167, 166, 181, 167, 166, 182, 167, 166,
743
+ 183, 167, 166, 184, 167, 166, 167, 185,
744
+ 166, 186, 188, 187, 189, 190, 191, 192,
745
+ 193, 194, 187, 0, 195, 0, 196, 0,
746
+ 197, 198, 0, 199, 0, 200, 0, 201,
747
+ 0, 202, 0, 203, 0, 204, 0, 205,
748
+ 0, 207, 206, 209, 208, 210, 209, 211,
749
+ 212, 213, 214, 212, 211, 208, 215, 209,
750
+ 208, 216, 217, 218, 219, 220, 221, 222,
751
+ 209, 208, 223, 209, 208, 224, 209, 208,
752
+ 225, 209, 208, 226, 209, 208, 227, 209,
753
+ 208, 228, 209, 208, 229, 209, 208, 230,
754
+ 209, 208, 231, 209, 208, 232, 209, 208,
755
+ 233, 209, 208, 234, 209, 208, 235, 209,
756
+ 208, 236, 209, 208, 237, 209, 208, 238,
757
+ 209, 208, 239, 209, 208, 240, 209, 208,
758
+ 209, 241, 208, 209, 242, 208, 243, 209,
759
+ 208, 244, 209, 208, 245, 209, 208, 246,
760
+ 209, 208, 247, 209, 208, 248, 209, 208,
761
+ 249, 209, 208, 250, 209, 208, 251, 209,
762
+ 208, 252, 209, 208, 253, 209, 208, 254,
763
+ 209, 208, 255, 209, 208, 256, 209, 208,
764
+ 257, 209, 208, 258, 209, 208, 259, 209,
765
+ 208, 260, 209, 208, 261, 209, 208, 262,
766
+ 209, 208, 263, 209, 208, 264, 209, 208,
767
+ 265, 209, 208, 266, 209, 208, 267, 209,
768
+ 208, 268, 209, 208, 269, 209, 208, 270,
769
+ 209, 208, 271, 209, 208, 272, 209, 208,
770
+ 273, 209, 208, 274, 209, 208, 240, 209,
771
+ 208, 275, 209, 208, 276, 209, 208, 277,
772
+ 209, 208, 278, 209, 208, 279, 209, 208,
773
+ 280, 209, 208, 281, 209, 208, 282, 209,
774
+ 208, 240, 209, 208, 283, 209, 208, 284,
775
+ 209, 208, 285, 209, 208, 286, 209, 208,
776
+ 287, 209, 208, 288, 209, 208, 289, 209,
777
+ 208, 290, 209, 208, 291, 209, 208, 292,
778
+ 209, 208, 293, 209, 208, 294, 209, 208,
779
+ 209, 241, 208, 295, 209, 208, 296, 209,
780
+ 208, 297, 209, 208, 298, 209, 208, 299,
781
+ 209, 208, 300, 209, 208, 301, 209, 208,
782
+ 302, 209, 208, 303, 209, 208, 304, 209,
783
+ 208, 305, 209, 208, 306, 209, 208, 307,
784
+ 209, 208, 308, 209, 208, 309, 209, 208,
785
+ 310, 209, 208, 311, 209, 208, 312, 209,
786
+ 208, 313, 209, 208, 314, 209, 208, 315,
787
+ 209, 208, 316, 209, 208, 317, 209, 208,
788
+ 318, 209, 208, 319, 209, 208, 320, 209,
789
+ 208, 280, 209, 208, 321, 209, 208, 322,
790
+ 209, 208, 323, 209, 208, 324, 209, 208,
791
+ 325, 209, 208, 326, 209, 208, 327, 209,
792
+ 208, 328, 209, 208, 237, 209, 208, 329,
793
+ 209, 208, 330, 209, 208, 331, 209, 208,
794
+ 332, 209, 208, 333, 209, 208, 334, 209,
795
+ 208, 335, 209, 208, 336, 209, 208, 337,
796
+ 209, 208, 338, 209, 208, 339, 209, 208,
797
+ 340, 209, 208, 341, 209, 208, 342, 209,
798
+ 208, 343, 209, 208, 344, 209, 208, 345,
799
+ 209, 208, 346, 209, 208, 347, 209, 208,
800
+ 348, 209, 208, 349, 209, 208, 350, 209,
801
+ 208, 351, 209, 208, 294, 209, 208, 209,
802
+ 352, 208, 209, 353, 208, 209, 354, 208,
803
+ 209, 355, 208, 209, 356, 208, 209, 357,
804
+ 208, 209, 358, 208, 209, 359, 208, 209,
805
+ 360, 208, 209, 361, 208, 209, 362, 208,
806
+ 209, 363, 208, 209, 364, 208, 209, 365,
807
+ 208, 366, 0, 367, 0, 368, 0, 369,
808
+ 0, 370, 0, 38, 0, 371, 0, 372,
809
+ 0, 373, 0, 374, 0, 375, 0, 376,
810
+ 0, 377, 0, 378, 0, 379, 0, 380,
811
+ 0, 381, 0, 382, 0, 383, 0, 385,
812
+ 384, 387, 386, 388, 387, 389, 390, 391,
813
+ 390, 389, 386, 392, 387, 386, 393, 394,
814
+ 395, 396, 397, 387, 386, 398, 387, 386,
815
+ 399, 387, 386, 400, 387, 386, 401, 387,
816
+ 386, 402, 387, 386, 403, 387, 386, 404,
817
+ 387, 386, 405, 387, 386, 406, 387, 386,
818
+ 407, 387, 386, 408, 387, 386, 409, 387,
819
+ 386, 410, 387, 386, 411, 387, 386, 412,
820
+ 387, 386, 413, 387, 386, 414, 387, 386,
821
+ 415, 387, 386, 416, 387, 386, 417, 387,
822
+ 386, 418, 387, 386, 387, 419, 386, 420,
823
+ 387, 386, 421, 387, 386, 422, 387, 386,
824
+ 423, 387, 386, 424, 387, 386, 425, 387,
825
+ 386, 426, 387, 386, 427, 387, 386, 418,
826
+ 387, 386, 428, 387, 386, 429, 387, 386,
827
+ 430, 387, 386, 431, 387, 386, 432, 387,
828
+ 386, 433, 387, 386, 434, 387, 386, 435,
829
+ 387, 386, 415, 387, 386, 436, 387, 386,
830
+ 437, 387, 386, 438, 387, 386, 439, 387,
831
+ 386, 440, 387, 386, 441, 387, 386, 442,
832
+ 387, 386, 443, 387, 386, 444, 387, 386,
833
+ 445, 387, 386, 446, 387, 386, 447, 387,
834
+ 386, 448, 387, 386, 449, 387, 386, 425,
835
+ 387, 386, 450, 387, 386, 451, 387, 386,
836
+ 452, 387, 386, 453, 387, 386, 454, 387,
837
+ 386, 455, 387, 386, 456, 387, 386, 457,
838
+ 387, 386, 458, 387, 386, 459, 387, 386,
839
+ 460, 387, 386, 461, 387, 386, 462, 387,
840
+ 386, 463, 387, 386, 464, 387, 386, 465,
841
+ 387, 386, 466, 387, 386, 467, 387, 386,
842
+ 468, 387, 386, 469, 387, 386, 425, 387,
843
+ 386, 387, 470, 386, 387, 471, 386, 387,
844
+ 472, 386, 387, 473, 386, 387, 474, 386,
845
+ 387, 475, 386, 387, 476, 386, 387, 477,
846
+ 386, 387, 478, 386, 387, 479, 386, 387,
847
+ 480, 386, 387, 481, 386, 387, 482, 386,
848
+ 387, 483, 386, 484, 0, 485, 0, 486,
849
+ 0, 487, 0, 488, 0, 489, 0, 490,
850
+ 0, 491, 0, 492, 0, 493, 0, 494,
851
+ 0, 495, 0, 496, 0, 497, 0, 498,
852
+ 0, 499, 0, 500, 0, 501, 0, 502,
853
+ 0, 503, 0, 504, 0, 505, 0, 506,
854
+ 0, 507, 0, 508, 0, 509, 0, 368,
855
+ 0, 510, 0, 511, 0, 512, 0, 513,
856
+ 0, 514, 0, 515, 0, 516, 0, 517,
857
+ 0, 518, 0, 519, 0, 520, 0, 521,
858
+ 0, 522, 0, 523, 0, 524, 0, 525,
859
+ 0, 526, 0, 527, 0, 528, 0, 530,
860
+ 529, 532, 531, 533, 532, 534, 535, 536,
861
+ 537, 535, 534, 531, 538, 532, 531, 539,
862
+ 540, 541, 542, 543, 544, 545, 532, 531,
863
+ 546, 532, 531, 547, 532, 531, 548, 532,
864
+ 531, 549, 532, 531, 550, 532, 531, 551,
865
+ 532, 531, 552, 532, 531, 553, 532, 531,
866
+ 554, 532, 531, 555, 532, 531, 556, 532,
867
+ 531, 557, 532, 531, 558, 532, 531, 559,
868
+ 532, 531, 560, 532, 531, 561, 532, 531,
869
+ 562, 532, 531, 563, 532, 531, 532, 564,
870
+ 531, 532, 565, 531, 566, 532, 531, 567,
871
+ 532, 531, 568, 532, 531, 569, 532, 531,
872
+ 570, 532, 531, 571, 532, 531, 572, 532,
873
+ 531, 573, 532, 531, 574, 532, 531, 575,
874
+ 532, 531, 576, 532, 531, 577, 532, 531,
875
+ 578, 532, 531, 579, 532, 531, 580, 532,
876
+ 531, 581, 532, 531, 582, 532, 531, 583,
877
+ 532, 531, 584, 532, 531, 585, 532, 531,
878
+ 586, 532, 531, 587, 532, 531, 588, 532,
879
+ 531, 589, 532, 531, 590, 532, 531, 591,
880
+ 532, 531, 592, 532, 531, 593, 532, 531,
881
+ 594, 532, 531, 595, 532, 531, 596, 532,
882
+ 531, 597, 532, 531, 563, 532, 531, 598,
883
+ 532, 531, 599, 532, 531, 600, 601, 532,
884
+ 531, 602, 532, 531, 603, 532, 531, 604,
885
+ 532, 531, 605, 532, 531, 606, 532, 531,
886
+ 607, 532, 531, 532, 564, 531, 608, 532,
887
+ 531, 609, 532, 531, 610, 532, 531, 611,
888
+ 532, 531, 612, 532, 531, 563, 532, 531,
889
+ 613, 532, 531, 614, 532, 531, 615, 532,
890
+ 531, 616, 532, 531, 617, 532, 531, 618,
891
+ 532, 531, 619, 532, 531, 620, 532, 531,
892
+ 621, 532, 531, 622, 532, 531, 623, 532,
893
+ 531, 607, 532, 531, 624, 532, 531, 625,
894
+ 532, 531, 626, 532, 531, 627, 532, 531,
895
+ 628, 532, 531, 629, 532, 531, 630, 532,
896
+ 531, 631, 532, 531, 632, 532, 531, 633,
897
+ 532, 531, 634, 532, 531, 635, 532, 531,
898
+ 636, 532, 531, 637, 532, 531, 638, 532,
899
+ 531, 639, 532, 531, 640, 532, 531, 641,
900
+ 532, 531, 642, 532, 531, 643, 532, 531,
901
+ 644, 532, 531, 645, 532, 531, 646, 532,
902
+ 531, 647, 532, 531, 648, 532, 531, 649,
903
+ 532, 531, 610, 532, 531, 650, 532, 531,
904
+ 651, 532, 531, 652, 532, 531, 653, 532,
905
+ 531, 654, 532, 531, 655, 532, 531, 656,
906
+ 532, 531, 657, 532, 531, 560, 532, 531,
907
+ 658, 532, 531, 659, 532, 531, 660, 532,
908
+ 531, 661, 532, 531, 662, 532, 531, 663,
909
+ 532, 531, 664, 532, 531, 665, 532, 531,
910
+ 666, 532, 531, 667, 532, 531, 668, 532,
911
+ 531, 669, 532, 531, 670, 532, 531, 671,
912
+ 532, 531, 672, 532, 531, 673, 532, 531,
913
+ 674, 532, 531, 675, 532, 531, 676, 532,
914
+ 531, 677, 532, 531, 604, 532, 531, 532,
915
+ 678, 531, 532, 679, 531, 532, 680, 531,
916
+ 532, 681, 531, 532, 682, 531, 532, 683,
917
+ 531, 532, 684, 531, 532, 685, 531, 532,
918
+ 686, 531, 532, 687, 531, 532, 688, 531,
919
+ 532, 689, 531, 532, 690, 531, 532, 691,
920
+ 531, 692, 0, 693, 0, 694, 0, 695,
921
+ 0, 696, 0, 697, 0, 698, 0, 699,
922
+ 0, 35, 0, 700, 0, 701, 0, 702,
923
+ 0, 703, 0, 704, 0, 705, 0, 706,
924
+ 0, 707, 0, 708, 0, 709, 0, 710,
925
+ 0, 711, 0, 712, 0, 713, 0, 714,
926
+ 0, 715, 0, 716, 0, 717, 0, 718,
927
+ 0, 719, 0, 720, 0, 721, 0, 722,
928
+ 0, 723, 0, 724, 0, 726, 725, 728,
929
+ 727, 729, 728, 730, 731, 732, 733, 731,
930
+ 730, 727, 734, 728, 727, 735, 736, 737,
931
+ 738, 739, 740, 741, 742, 728, 727, 743,
932
+ 728, 727, 744, 728, 727, 745, 728, 727,
933
+ 746, 728, 727, 747, 728, 727, 748, 728,
934
+ 727, 749, 728, 727, 750, 728, 727, 751,
935
+ 728, 727, 752, 728, 727, 753, 728, 727,
936
+ 754, 728, 727, 755, 728, 727, 756, 728,
937
+ 727, 757, 728, 727, 758, 728, 727, 759,
938
+ 728, 727, 760, 728, 727, 728, 761, 727,
939
+ 728, 762, 727, 763, 728, 727, 764, 728,
940
+ 727, 765, 728, 727, 766, 728, 727, 767,
941
+ 728, 727, 768, 728, 727, 769, 728, 727,
942
+ 770, 728, 727, 771, 728, 727, 772, 728,
943
+ 727, 773, 728, 727, 774, 728, 727, 775,
944
+ 728, 727, 776, 728, 727, 777, 728, 727,
945
+ 778, 728, 727, 779, 728, 727, 780, 728,
946
+ 727, 781, 728, 727, 782, 728, 727, 783,
947
+ 728, 727, 784, 728, 727, 785, 728, 727,
948
+ 786, 728, 727, 787, 728, 727, 788, 728,
949
+ 727, 789, 728, 727, 790, 728, 727, 791,
950
+ 728, 727, 792, 728, 727, 793, 728, 727,
951
+ 794, 728, 727, 760, 728, 727, 795, 728,
952
+ 727, 796, 728, 727, 797, 798, 728, 727,
953
+ 799, 728, 727, 800, 728, 727, 801, 728,
954
+ 727, 802, 728, 727, 803, 728, 727, 804,
955
+ 728, 727, 728, 761, 727, 805, 728, 727,
956
+ 806, 728, 727, 807, 728, 727, 808, 728,
957
+ 727, 809, 728, 727, 760, 728, 727, 810,
958
+ 728, 727, 811, 728, 727, 812, 728, 727,
959
+ 813, 728, 727, 814, 728, 727, 815, 728,
960
+ 727, 816, 728, 727, 817, 728, 727, 818,
961
+ 728, 727, 819, 728, 727, 820, 728, 727,
962
+ 804, 728, 727, 821, 728, 727, 822, 728,
963
+ 727, 823, 728, 727, 824, 728, 727, 825,
964
+ 728, 727, 826, 728, 727, 827, 728, 727,
965
+ 828, 728, 727, 829, 728, 727, 830, 728,
966
+ 727, 831, 728, 727, 832, 728, 727, 833,
967
+ 728, 727, 834, 728, 727, 835, 728, 727,
968
+ 836, 728, 727, 837, 728, 727, 838, 728,
969
+ 727, 839, 728, 727, 840, 728, 727, 841,
970
+ 728, 727, 842, 728, 727, 843, 728, 727,
971
+ 844, 728, 727, 845, 728, 727, 846, 728,
972
+ 727, 807, 728, 727, 847, 728, 727, 848,
973
+ 728, 727, 849, 728, 727, 850, 728, 727,
974
+ 851, 728, 727, 852, 728, 727, 853, 728,
975
+ 727, 854, 728, 727, 855, 728, 727, 856,
976
+ 728, 727, 857, 728, 727, 858, 728, 727,
977
+ 859, 728, 727, 860, 728, 727, 801, 728,
978
+ 727, 861, 728, 727, 862, 728, 727, 863,
979
+ 728, 727, 864, 728, 727, 865, 728, 727,
980
+ 866, 728, 727, 867, 728, 727, 868, 728,
981
+ 727, 757, 728, 727, 869, 728, 727, 870,
982
+ 728, 727, 871, 728, 727, 872, 728, 727,
983
+ 873, 728, 727, 874, 728, 727, 875, 728,
984
+ 727, 876, 728, 727, 877, 728, 727, 878,
985
+ 728, 727, 879, 728, 727, 880, 728, 727,
986
+ 881, 728, 727, 882, 728, 727, 883, 728,
987
+ 727, 884, 728, 727, 885, 728, 727, 886,
988
+ 728, 727, 887, 728, 727, 888, 728, 727,
989
+ 801, 728, 727, 728, 889, 727, 728, 890,
990
+ 727, 728, 891, 727, 728, 892, 727, 728,
991
+ 893, 727, 728, 894, 727, 728, 895, 727,
992
+ 728, 896, 727, 728, 897, 727, 728, 898,
993
+ 727, 728, 899, 727, 728, 900, 727, 728,
994
+ 901, 727, 728, 902, 727, 903, 0, 3,
995
+ 0, 904, 0
996
+ ]
997
+
998
+ class << self
999
+ attr_accessor :_lexer_trans_targs
1000
+ private :_lexer_trans_targs, :_lexer_trans_targs=
1001
+ end
1002
+ self._lexer_trans_targs = [
1003
+ 0, 2, 823, 25, 25, 26, 36, 38,
1004
+ 22, 52, 55, 3, 4, 61, 95, 136,
1005
+ 306, 414, 441, 617, 626, 5, 6, 7,
1006
+ 8, 9, 10, 11, 12, 13, 14, 15,
1007
+ 16, 17, 18, 19, 20, 21, 22, 23,
1008
+ 24, 25, 37, 24, 25, 37, 27, 28,
1009
+ 29, 30, 29, 29, 30, 29, 31, 31,
1010
+ 31, 32, 31, 31, 31, 32, 33, 34,
1011
+ 35, 25, 35, 36, 25, 37, 39, 40,
1012
+ 41, 42, 43, 44, 45, 46, 47, 48,
1013
+ 49, 50, 51, 825, 53, 54, 25, 53,
1014
+ 52, 54, 55, 56, 57, 59, 60, 58,
1015
+ 56, 57, 58, 56, 59, 2, 60, 26,
1016
+ 36, 38, 22, 52, 55, 62, 63, 64,
1017
+ 65, 66, 67, 68, 69, 70, 71, 72,
1018
+ 73, 74, 75, 76, 77, 78, 79, 80,
1019
+ 81, 82, 83, 84, 85, 86, 87, 88,
1020
+ 89, 90, 91, 92, 93, 94, 96, 97,
1021
+ 98, 99, 100, 101, 102, 103, 104, 105,
1022
+ 106, 107, 108, 109, 110, 111, 112, 113,
1023
+ 114, 115, 116, 117, 118, 119, 118, 119,
1024
+ 120, 119, 25, 121, 122, 123, 124, 125,
1025
+ 126, 127, 128, 129, 130, 131, 132, 133,
1026
+ 134, 135, 2, 25, 25, 26, 36, 38,
1027
+ 22, 52, 55, 137, 138, 139, 300, 140,
1028
+ 141, 142, 143, 144, 145, 146, 147, 148,
1029
+ 147, 148, 149, 148, 25, 286, 169, 150,
1030
+ 151, 170, 204, 213, 226, 253, 262, 152,
1031
+ 153, 154, 155, 156, 157, 158, 159, 160,
1032
+ 161, 162, 163, 164, 165, 166, 167, 168,
1033
+ 169, 135, 171, 172, 173, 174, 175, 176,
1034
+ 177, 178, 179, 180, 181, 182, 183, 184,
1035
+ 185, 186, 187, 188, 189, 190, 191, 192,
1036
+ 193, 194, 195, 196, 197, 198, 199, 200,
1037
+ 201, 202, 203, 205, 206, 207, 208, 209,
1038
+ 210, 211, 212, 214, 215, 216, 217, 218,
1039
+ 219, 220, 221, 222, 223, 224, 225, 227,
1040
+ 228, 229, 230, 231, 232, 233, 234, 235,
1041
+ 236, 237, 238, 239, 240, 241, 242, 243,
1042
+ 244, 245, 246, 247, 248, 249, 250, 251,
1043
+ 252, 254, 255, 256, 257, 258, 259, 260,
1044
+ 261, 263, 264, 265, 266, 267, 268, 269,
1045
+ 270, 271, 272, 273, 274, 275, 276, 277,
1046
+ 278, 279, 280, 281, 282, 283, 284, 285,
1047
+ 287, 288, 289, 290, 291, 292, 293, 294,
1048
+ 295, 296, 297, 298, 299, 25, 301, 302,
1049
+ 303, 304, 305, 307, 308, 309, 310, 311,
1050
+ 312, 313, 314, 315, 316, 317, 318, 319,
1051
+ 320, 321, 320, 321, 322, 321, 25, 400,
1052
+ 323, 324, 346, 355, 364, 379, 325, 326,
1053
+ 327, 328, 329, 330, 331, 332, 333, 334,
1054
+ 335, 336, 337, 338, 339, 340, 341, 342,
1055
+ 343, 344, 345, 135, 347, 348, 349, 350,
1056
+ 351, 352, 353, 354, 356, 357, 358, 359,
1057
+ 360, 361, 362, 363, 365, 366, 367, 368,
1058
+ 369, 370, 371, 372, 373, 374, 375, 376,
1059
+ 377, 378, 380, 381, 382, 383, 384, 385,
1060
+ 386, 387, 388, 389, 390, 391, 392, 393,
1061
+ 394, 395, 396, 397, 398, 399, 401, 402,
1062
+ 403, 404, 405, 406, 407, 408, 409, 410,
1063
+ 411, 412, 413, 25, 415, 416, 417, 418,
1064
+ 419, 420, 421, 422, 423, 424, 425, 426,
1065
+ 427, 428, 429, 430, 431, 432, 433, 434,
1066
+ 435, 436, 437, 438, 439, 440, 442, 443,
1067
+ 444, 445, 446, 447, 448, 449, 450, 451,
1068
+ 452, 453, 454, 455, 456, 457, 458, 459,
1069
+ 460, 461, 462, 461, 462, 463, 462, 25,
1070
+ 603, 483, 464, 465, 484, 518, 534, 546,
1071
+ 573, 582, 466, 467, 468, 469, 470, 471,
1072
+ 472, 473, 474, 475, 476, 477, 478, 479,
1073
+ 480, 481, 482, 483, 135, 485, 486, 487,
1074
+ 488, 489, 490, 491, 492, 493, 494, 495,
1075
+ 496, 497, 498, 499, 500, 501, 502, 503,
1076
+ 504, 505, 506, 507, 508, 509, 510, 511,
1077
+ 512, 513, 514, 515, 516, 517, 519, 520,
1078
+ 521, 528, 522, 523, 524, 525, 526, 527,
1079
+ 529, 530, 531, 532, 533, 535, 536, 537,
1080
+ 538, 539, 540, 541, 542, 543, 544, 545,
1081
+ 547, 548, 549, 550, 551, 552, 553, 554,
1082
+ 555, 556, 557, 558, 559, 560, 561, 562,
1083
+ 563, 564, 565, 566, 567, 568, 569, 570,
1084
+ 571, 572, 574, 575, 576, 577, 578, 579,
1085
+ 580, 581, 583, 584, 585, 586, 587, 588,
1086
+ 589, 590, 591, 592, 593, 594, 595, 596,
1087
+ 597, 598, 599, 600, 601, 602, 604, 605,
1088
+ 606, 607, 608, 609, 610, 611, 612, 613,
1089
+ 614, 615, 616, 25, 618, 619, 620, 621,
1090
+ 622, 623, 624, 625, 627, 628, 629, 630,
1091
+ 631, 632, 633, 634, 635, 636, 637, 638,
1092
+ 639, 640, 641, 642, 643, 644, 645, 646,
1093
+ 647, 648, 649, 650, 651, 652, 653, 652,
1094
+ 653, 654, 653, 25, 809, 674, 655, 656,
1095
+ 675, 709, 725, 737, 764, 779, 788, 657,
1096
+ 658, 659, 660, 661, 662, 663, 664, 665,
1097
+ 666, 667, 668, 669, 670, 671, 672, 673,
1098
+ 674, 135, 676, 677, 678, 679, 680, 681,
1099
+ 682, 683, 684, 685, 686, 687, 688, 689,
1100
+ 690, 691, 692, 693, 694, 695, 696, 697,
1101
+ 698, 699, 700, 701, 702, 703, 704, 705,
1102
+ 706, 707, 708, 710, 711, 712, 719, 713,
1103
+ 714, 715, 716, 717, 718, 720, 721, 722,
1104
+ 723, 724, 726, 727, 728, 729, 730, 731,
1105
+ 732, 733, 734, 735, 736, 738, 739, 740,
1106
+ 741, 742, 743, 744, 745, 746, 747, 748,
1107
+ 749, 750, 751, 752, 753, 754, 755, 756,
1108
+ 757, 758, 759, 760, 761, 762, 763, 765,
1109
+ 766, 767, 768, 769, 770, 771, 772, 773,
1110
+ 774, 775, 776, 777, 778, 780, 781, 782,
1111
+ 783, 784, 785, 786, 787, 789, 790, 791,
1112
+ 792, 793, 794, 795, 796, 797, 798, 799,
1113
+ 800, 801, 802, 803, 804, 805, 806, 807,
1114
+ 808, 810, 811, 812, 813, 814, 815, 816,
1115
+ 817, 818, 819, 820, 821, 822, 25, 824,
1116
+ 0
1117
+ ]
1118
+
1119
+ class << self
1120
+ attr_accessor :_lexer_trans_actions
1121
+ private :_lexer_trans_actions, :_lexer_trans_actions=
1122
+ end
1123
+ self._lexer_trans_actions = [
1124
+ 43, 29, 0, 0, 54, 3, 1, 0,
1125
+ 29, 1, 35, 0, 0, 0, 0, 0,
1126
+ 0, 0, 0, 0, 0, 0, 0, 0,
1127
+ 0, 0, 0, 0, 0, 0, 0, 0,
1128
+ 0, 0, 0, 0, 0, 0, 0, 0,
1129
+ 57, 149, 126, 0, 110, 23, 0, 0,
1130
+ 7, 139, 48, 0, 102, 9, 5, 45,
1131
+ 134, 45, 0, 33, 122, 33, 33, 0,
1132
+ 11, 106, 0, 0, 114, 25, 0, 0,
1133
+ 0, 0, 0, 0, 0, 0, 0, 0,
1134
+ 0, 0, 0, 0, 0, 27, 118, 27,
1135
+ 51, 0, 0, 0, 37, 37, 54, 37,
1136
+ 87, 0, 0, 39, 0, 96, 0, 93,
1137
+ 90, 41, 96, 90, 99, 0, 0, 0,
1138
+ 0, 0, 0, 0, 0, 0, 0, 0,
1139
+ 0, 0, 0, 0, 0, 0, 0, 0,
1140
+ 0, 0, 0, 0, 0, 0, 0, 0,
1141
+ 0, 0, 0, 0, 0, 0, 0, 0,
1142
+ 0, 0, 0, 0, 0, 0, 0, 0,
1143
+ 0, 0, 0, 0, 0, 0, 0, 0,
1144
+ 0, 0, 0, 0, 57, 144, 0, 54,
1145
+ 84, 0, 81, 0, 0, 0, 0, 0,
1146
+ 0, 0, 0, 0, 0, 0, 0, 0,
1147
+ 0, 21, 63, 31, 130, 60, 57, 31,
1148
+ 63, 57, 66, 0, 0, 0, 0, 0,
1149
+ 0, 0, 0, 0, 0, 0, 57, 144,
1150
+ 0, 54, 84, 0, 78, 33, 84, 0,
1151
+ 0, 0, 0, 0, 0, 0, 0, 0,
1152
+ 0, 0, 0, 0, 0, 0, 0, 0,
1153
+ 0, 0, 0, 0, 0, 0, 0, 0,
1154
+ 0, 19, 0, 0, 0, 0, 0, 0,
1155
+ 0, 0, 0, 0, 0, 0, 0, 0,
1156
+ 0, 0, 0, 0, 0, 0, 0, 0,
1157
+ 0, 0, 0, 0, 0, 0, 0, 0,
1158
+ 0, 0, 0, 0, 0, 0, 0, 0,
1159
+ 0, 0, 0, 0, 0, 0, 0, 0,
1160
+ 0, 0, 0, 0, 0, 0, 0, 0,
1161
+ 0, 0, 0, 0, 0, 0, 0, 0,
1162
+ 0, 0, 0, 0, 0, 0, 0, 0,
1163
+ 0, 0, 0, 0, 0, 0, 0, 0,
1164
+ 0, 0, 0, 0, 0, 0, 0, 0,
1165
+ 0, 0, 0, 0, 0, 0, 0, 0,
1166
+ 0, 0, 0, 0, 0, 0, 0, 0,
1167
+ 0, 0, 0, 0, 0, 0, 0, 0,
1168
+ 0, 0, 0, 0, 0, 0, 0, 0,
1169
+ 0, 0, 0, 0, 0, 19, 0, 0,
1170
+ 0, 0, 0, 0, 0, 0, 0, 0,
1171
+ 0, 0, 0, 0, 0, 0, 0, 0,
1172
+ 57, 144, 0, 54, 84, 0, 69, 33,
1173
+ 0, 0, 0, 0, 0, 0, 0, 0,
1174
+ 0, 0, 0, 0, 0, 0, 0, 0,
1175
+ 0, 0, 0, 0, 0, 0, 0, 0,
1176
+ 0, 0, 0, 13, 0, 0, 0, 0,
1177
+ 0, 0, 0, 0, 0, 0, 0, 0,
1178
+ 0, 0, 0, 0, 0, 0, 0, 0,
1179
+ 0, 0, 0, 0, 0, 0, 0, 0,
1180
+ 0, 0, 0, 0, 0, 0, 0, 0,
1181
+ 0, 0, 0, 0, 0, 0, 0, 0,
1182
+ 0, 0, 0, 0, 0, 0, 0, 0,
1183
+ 0, 0, 0, 0, 0, 0, 0, 0,
1184
+ 0, 0, 0, 13, 0, 0, 0, 0,
1185
+ 0, 0, 0, 0, 0, 0, 0, 0,
1186
+ 0, 0, 0, 0, 0, 0, 0, 0,
1187
+ 0, 0, 0, 0, 0, 0, 0, 0,
1188
+ 0, 0, 0, 0, 0, 0, 0, 0,
1189
+ 0, 0, 0, 0, 0, 0, 0, 0,
1190
+ 0, 57, 144, 0, 54, 84, 0, 72,
1191
+ 33, 84, 0, 0, 0, 0, 0, 0,
1192
+ 0, 0, 0, 0, 0, 0, 0, 0,
1193
+ 0, 0, 0, 0, 0, 0, 0, 0,
1194
+ 0, 0, 0, 0, 15, 0, 0, 0,
1195
+ 0, 0, 0, 0, 0, 0, 0, 0,
1196
+ 0, 0, 0, 0, 0, 0, 0, 0,
1197
+ 0, 0, 0, 0, 0, 0, 0, 0,
1198
+ 0, 0, 0, 0, 0, 0, 0, 0,
1199
+ 0, 0, 0, 0, 0, 0, 0, 0,
1200
+ 0, 0, 0, 0, 0, 0, 0, 0,
1201
+ 0, 0, 0, 0, 0, 0, 0, 0,
1202
+ 0, 0, 0, 0, 0, 0, 0, 0,
1203
+ 0, 0, 0, 0, 0, 0, 0, 0,
1204
+ 0, 0, 0, 0, 0, 0, 0, 0,
1205
+ 0, 0, 0, 0, 0, 0, 0, 0,
1206
+ 0, 0, 0, 0, 0, 0, 0, 0,
1207
+ 0, 0, 0, 0, 0, 0, 0, 0,
1208
+ 0, 0, 0, 0, 0, 0, 0, 0,
1209
+ 0, 0, 0, 0, 0, 0, 0, 0,
1210
+ 0, 0, 0, 15, 0, 0, 0, 0,
1211
+ 0, 0, 0, 0, 0, 0, 0, 0,
1212
+ 0, 0, 0, 0, 0, 0, 0, 0,
1213
+ 0, 0, 0, 0, 0, 0, 0, 0,
1214
+ 0, 0, 0, 0, 0, 57, 144, 0,
1215
+ 54, 84, 0, 75, 33, 84, 0, 0,
1216
+ 0, 0, 0, 0, 0, 0, 0, 0,
1217
+ 0, 0, 0, 0, 0, 0, 0, 0,
1218
+ 0, 0, 0, 0, 0, 0, 0, 0,
1219
+ 0, 17, 0, 0, 0, 0, 0, 0,
1220
+ 0, 0, 0, 0, 0, 0, 0, 0,
1221
+ 0, 0, 0, 0, 0, 0, 0, 0,
1222
+ 0, 0, 0, 0, 0, 0, 0, 0,
1223
+ 0, 0, 0, 0, 0, 0, 0, 0,
1224
+ 0, 0, 0, 0, 0, 0, 0, 0,
1225
+ 0, 0, 0, 0, 0, 0, 0, 0,
1226
+ 0, 0, 0, 0, 0, 0, 0, 0,
1227
+ 0, 0, 0, 0, 0, 0, 0, 0,
1228
+ 0, 0, 0, 0, 0, 0, 0, 0,
1229
+ 0, 0, 0, 0, 0, 0, 0, 0,
1230
+ 0, 0, 0, 0, 0, 0, 0, 0,
1231
+ 0, 0, 0, 0, 0, 0, 0, 0,
1232
+ 0, 0, 0, 0, 0, 0, 0, 0,
1233
+ 0, 0, 0, 0, 0, 0, 0, 0,
1234
+ 0, 0, 0, 0, 0, 0, 0, 0,
1235
+ 0, 0, 0, 0, 0, 0, 0, 0,
1236
+ 0, 0, 0, 0, 0, 0, 17, 0,
1237
+ 0
1238
+ ]
1239
+
1240
+ class << self
1241
+ attr_accessor :_lexer_eof_actions
1242
+ private :_lexer_eof_actions, :_lexer_eof_actions=
1243
+ end
1244
+ self._lexer_eof_actions = [
1245
+ 0, 43, 43, 43, 43, 43, 43, 43,
1246
+ 43, 43, 43, 43, 43, 43, 43, 43,
1247
+ 43, 43, 43, 43, 43, 43, 43, 43,
1248
+ 43, 43, 43, 43, 43, 43, 43, 43,
1249
+ 43, 43, 43, 43, 43, 43, 43, 43,
1250
+ 43, 43, 43, 43, 43, 43, 43, 43,
1251
+ 43, 43, 43, 43, 43, 43, 43, 43,
1252
+ 43, 43, 43, 43, 43, 43, 43, 43,
1253
+ 43, 43, 43, 43, 43, 43, 43, 43,
1254
+ 43, 43, 43, 43, 43, 43, 43, 43,
1255
+ 43, 43, 43, 43, 43, 43, 43, 43,
1256
+ 43, 43, 43, 43, 43, 43, 43, 43,
1257
+ 43, 43, 43, 43, 43, 43, 43, 43,
1258
+ 43, 43, 43, 43, 43, 43, 43, 43,
1259
+ 43, 43, 43, 43, 43, 43, 43, 43,
1260
+ 43, 43, 43, 43, 43, 43, 43, 43,
1261
+ 43, 43, 43, 43, 43, 43, 43, 43,
1262
+ 43, 43, 43, 43, 43, 43, 43, 43,
1263
+ 43, 43, 43, 43, 43, 43, 43, 43,
1264
+ 43, 43, 43, 43, 43, 43, 43, 43,
1265
+ 43, 43, 43, 43, 43, 43, 43, 43,
1266
+ 43, 43, 43, 43, 43, 43, 43, 43,
1267
+ 43, 43, 43, 43, 43, 43, 43, 43,
1268
+ 43, 43, 43, 43, 43, 43, 43, 43,
1269
+ 43, 43, 43, 43, 43, 43, 43, 43,
1270
+ 43, 43, 43, 43, 43, 43, 43, 43,
1271
+ 43, 43, 43, 43, 43, 43, 43, 43,
1272
+ 43, 43, 43, 43, 43, 43, 43, 43,
1273
+ 43, 43, 43, 43, 43, 43, 43, 43,
1274
+ 43, 43, 43, 43, 43, 43, 43, 43,
1275
+ 43, 43, 43, 43, 43, 43, 43, 43,
1276
+ 43, 43, 43, 43, 43, 43, 43, 43,
1277
+ 43, 43, 43, 43, 43, 43, 43, 43,
1278
+ 43, 43, 43, 43, 43, 43, 43, 43,
1279
+ 43, 43, 43, 43, 43, 43, 43, 43,
1280
+ 43, 43, 43, 43, 43, 43, 43, 43,
1281
+ 43, 43, 43, 43, 43, 43, 43, 43,
1282
+ 43, 43, 43, 43, 43, 43, 43, 43,
1283
+ 43, 43, 43, 43, 43, 43, 43, 43,
1284
+ 43, 43, 43, 43, 43, 43, 43, 43,
1285
+ 43, 43, 43, 43, 43, 43, 43, 43,
1286
+ 43, 43, 43, 43, 43, 43, 43, 43,
1287
+ 43, 43, 43, 43, 43, 43, 43, 43,
1288
+ 43, 43, 43, 43, 43, 43, 43, 43,
1289
+ 43, 43, 43, 43, 43, 43, 43, 43,
1290
+ 43, 43, 43, 43, 43, 43, 43, 43,
1291
+ 43, 43, 43, 43, 43, 43, 43, 43,
1292
+ 43, 43, 43, 43, 43, 43, 43, 43,
1293
+ 43, 43, 43, 43, 43, 43, 43, 43,
1294
+ 43, 43, 43, 43, 43, 43, 43, 43,
1295
+ 43, 43, 43, 43, 43, 43, 43, 43,
1296
+ 43, 43, 43, 43, 43, 43, 43, 43,
1297
+ 43, 43, 43, 43, 43, 43, 43, 43,
1298
+ 43, 43, 43, 43, 43, 43, 43, 43,
1299
+ 43, 43, 43, 43, 43, 43, 43, 43,
1300
+ 43, 43, 43, 43, 43, 43, 43, 43,
1301
+ 43, 43, 43, 43, 43, 43, 43, 43,
1302
+ 43, 43, 43, 43, 43, 43, 43, 43,
1303
+ 43, 43, 43, 43, 43, 43, 43, 43,
1304
+ 43, 43, 43, 43, 43, 43, 43, 43,
1305
+ 43, 43, 43, 43, 43, 43, 43, 43,
1306
+ 43, 43, 43, 43, 43, 43, 43, 43,
1307
+ 43, 43, 43, 43, 43, 43, 43, 43,
1308
+ 43, 43, 43, 43, 43, 43, 43, 43,
1309
+ 43, 43, 43, 43, 43, 43, 43, 43,
1310
+ 43, 43, 43, 43, 43, 43, 43, 43,
1311
+ 43, 43, 43, 43, 43, 43, 43, 43,
1312
+ 43, 43, 43, 43, 43, 43, 43, 43,
1313
+ 43, 43, 43, 43, 43, 43, 43, 43,
1314
+ 43, 43, 43, 43, 43, 43, 43, 43,
1315
+ 43, 43, 43, 43, 43, 43, 43, 43,
1316
+ 43, 43, 43, 43, 43, 43, 43, 43,
1317
+ 43, 43, 43, 43, 43, 43, 43, 43,
1318
+ 43, 43, 43, 43, 43, 43, 43, 43,
1319
+ 43, 43, 43, 43, 43, 43, 43, 43,
1320
+ 43, 43, 43, 43, 43, 43, 43, 43,
1321
+ 43, 43, 43, 43, 43, 43, 43, 43,
1322
+ 43, 43, 43, 43, 43, 43, 43, 43,
1323
+ 43, 43, 43, 43, 43, 43, 43, 43,
1324
+ 43, 43, 43, 43, 43, 43, 43, 43,
1325
+ 43, 43, 43, 43, 43, 43, 43, 43,
1326
+ 43, 43, 43, 43, 43, 43, 43, 43,
1327
+ 43, 43, 43, 43, 43, 43, 43, 43,
1328
+ 43, 43, 43, 43, 43, 43, 43, 43,
1329
+ 43, 43, 43, 43, 43, 43, 43, 43,
1330
+ 43, 43, 43, 43, 43, 43, 43, 43,
1331
+ 43, 43, 43, 43, 43, 43, 43, 43,
1332
+ 43, 43, 43, 43, 43, 43, 43, 43,
1333
+ 43, 43, 43, 43, 43, 43, 43, 43,
1334
+ 43, 43, 43, 43, 43, 43, 43, 43,
1335
+ 43, 43, 43, 43, 43, 43, 43, 43,
1336
+ 43, 43, 43, 43, 43, 43, 43, 43,
1337
+ 43, 43, 43, 43, 43, 43, 43, 43,
1338
+ 43, 43, 43, 43, 43, 43, 43, 43,
1339
+ 43, 43, 43, 43, 43, 43, 43, 43,
1340
+ 43, 43, 43, 43, 43, 43, 43, 43,
1341
+ 43, 43, 43, 43, 43, 43, 43, 43,
1342
+ 43, 43, 43, 43, 43, 43, 43, 43,
1343
+ 43, 43, 43, 43, 43, 43, 43, 43,
1344
+ 43, 43, 43, 43, 43, 43, 43, 43,
1345
+ 43, 43, 43, 43, 43, 43, 43, 43,
1346
+ 43, 43, 43, 43, 43, 43, 43, 43,
1347
+ 43, 43, 43, 43, 43, 43, 43, 43,
1348
+ 43, 43
1349
+ ]
1350
+
1351
+ class << self
1352
+ attr_accessor :lexer_start
1353
+ end
1354
+ self.lexer_start = 1;
1355
+ class << self
1356
+ attr_accessor :lexer_first_final
1357
+ end
1358
+ self.lexer_first_final = 825;
1359
+ class << self
1360
+ attr_accessor :lexer_error
1361
+ end
1362
+ self.lexer_error = 0;
1363
+
1364
+ class << self
1365
+ attr_accessor :lexer_en_main
1366
+ end
1367
+ self.lexer_en_main = 1;
1368
+
1369
+
1370
+ # line 130 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
1371
+ end
1372
+
1373
+ def scan(data)
1374
+ data = (data + "\n%_FEATURE_END_%").unpack("c*") # Explicit EOF simplifies things considerably
1375
+ eof = pe = data.length
1376
+
1377
+ @line_number = 1
1378
+ @last_newline = 0
1379
+
1380
+
1381
+ # line 1382 "lib/gherkin/lexer/tl.rb"
1382
+ begin
1383
+ p ||= 0
1384
+ pe ||= data.length
1385
+ cs = lexer_start
1386
+ end
1387
+
1388
+ # line 140 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
1389
+
1390
+ # line 1391 "lib/gherkin/lexer/tl.rb"
1391
+ begin
1392
+ _klen, _trans, _keys, _acts, _nacts = nil
1393
+ _goto_level = 0
1394
+ _resume = 10
1395
+ _eof_trans = 15
1396
+ _again = 20
1397
+ _test_eof = 30
1398
+ _out = 40
1399
+ while true
1400
+ _trigger_goto = false
1401
+ if _goto_level <= 0
1402
+ if p == pe
1403
+ _goto_level = _test_eof
1404
+ next
1405
+ end
1406
+ if cs == 0
1407
+ _goto_level = _out
1408
+ next
1409
+ end
1410
+ end
1411
+ if _goto_level <= _resume
1412
+ _keys = _lexer_key_offsets[cs]
1413
+ _trans = _lexer_index_offsets[cs]
1414
+ _klen = _lexer_single_lengths[cs]
1415
+ _break_match = false
1416
+
1417
+ begin
1418
+ if _klen > 0
1419
+ _lower = _keys
1420
+ _upper = _keys + _klen - 1
1421
+
1422
+ loop do
1423
+ break if _upper < _lower
1424
+ _mid = _lower + ( (_upper - _lower) >> 1 )
1425
+
1426
+ if data[p] < _lexer_trans_keys[_mid]
1427
+ _upper = _mid - 1
1428
+ elsif data[p] > _lexer_trans_keys[_mid]
1429
+ _lower = _mid + 1
1430
+ else
1431
+ _trans += (_mid - _keys)
1432
+ _break_match = true
1433
+ break
1434
+ end
1435
+ end # loop
1436
+ break if _break_match
1437
+ _keys += _klen
1438
+ _trans += _klen
1439
+ end
1440
+ _klen = _lexer_range_lengths[cs]
1441
+ if _klen > 0
1442
+ _lower = _keys
1443
+ _upper = _keys + (_klen << 1) - 2
1444
+ loop do
1445
+ break if _upper < _lower
1446
+ _mid = _lower + (((_upper-_lower) >> 1) & ~1)
1447
+ if data[p] < _lexer_trans_keys[_mid]
1448
+ _upper = _mid - 2
1449
+ elsif data[p] > _lexer_trans_keys[_mid+1]
1450
+ _lower = _mid + 2
1451
+ else
1452
+ _trans += ((_mid - _keys) >> 1)
1453
+ _break_match = true
1454
+ break
1455
+ end
1456
+ end # loop
1457
+ break if _break_match
1458
+ _trans += _klen
1459
+ end
1460
+ end while false
1461
+ _trans = _lexer_indicies[_trans]
1462
+ cs = _lexer_trans_targs[_trans]
1463
+ if _lexer_trans_actions[_trans] != 0
1464
+ _acts = _lexer_trans_actions[_trans]
1465
+ _nacts = _lexer_actions[_acts]
1466
+ _acts += 1
1467
+ while _nacts > 0
1468
+ _nacts -= 1
1469
+ _acts += 1
1470
+ case _lexer_actions[_acts - 1]
1471
+ when 0 then
1472
+ # line 11 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
1473
+ begin
1474
+
1475
+ @content_start = p
1476
+ @current_line = @line_number
1477
+ @start_col = p - @last_newline - "#{@keyword}:".length
1478
+ end
1479
+ when 1 then
1480
+ # line 17 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
1481
+ begin
1482
+
1483
+ @current_line = @line_number
1484
+ @start_col = p - @last_newline
1485
+ end
1486
+ when 2 then
1487
+ # line 22 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
1488
+ begin
1489
+
1490
+ @content_start = p
1491
+ end
1492
+ when 3 then
1493
+ # line 26 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
1494
+ begin
1495
+
1496
+ @docstring_content_type_start = p
1497
+ end
1498
+ when 4 then
1499
+ # line 29 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
1500
+ begin
1501
+
1502
+ @docstring_content_type_end = p
1503
+ end
1504
+ when 5 then
1505
+ # line 33 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
1506
+ begin
1507
+
1508
+ con = unindent(@start_col, utf8_pack(data[@content_start...@next_keyword_start-1]).sub(/(\r?\n)?([\t ])*\Z/, '').gsub(/\\"\\"\\"/, '"""'))
1509
+ con_type = utf8_pack(data[@docstring_content_type_start...@docstring_content_type_end]).strip
1510
+ @listener.doc_string(con_type, con, @current_line)
1511
+ end
1512
+ when 6 then
1513
+ # line 38 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
1514
+ begin
1515
+
1516
+ p = store_keyword_content(:feature, data, p, eof)
1517
+ end
1518
+ when 7 then
1519
+ # line 42 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
1520
+ begin
1521
+
1522
+ p = store_keyword_content(:background, data, p, eof)
1523
+ end
1524
+ when 8 then
1525
+ # line 46 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
1526
+ begin
1527
+
1528
+ p = store_keyword_content(:scenario, data, p, eof)
1529
+ end
1530
+ when 9 then
1531
+ # line 50 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
1532
+ begin
1533
+
1534
+ p = store_keyword_content(:scenario_outline, data, p, eof)
1535
+ end
1536
+ when 10 then
1537
+ # line 54 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
1538
+ begin
1539
+
1540
+ p = store_keyword_content(:examples, data, p, eof)
1541
+ end
1542
+ when 11 then
1543
+ # line 58 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
1544
+ begin
1545
+
1546
+ con = utf8_pack(data[@content_start...p]).strip
1547
+ @listener.step(@keyword, con, @current_line)
1548
+ end
1549
+ when 12 then
1550
+ # line 63 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
1551
+ begin
1552
+
1553
+ con = utf8_pack(data[@content_start...p]).strip
1554
+ @listener.comment(con, @line_number)
1555
+ @keyword_start = nil
1556
+ end
1557
+ when 13 then
1558
+ # line 69 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
1559
+ begin
1560
+
1561
+ con = utf8_pack(data[@content_start...p]).strip
1562
+ @listener.tag(con, @current_line)
1563
+ @keyword_start = nil
1564
+ end
1565
+ when 14 then
1566
+ # line 75 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
1567
+ begin
1568
+
1569
+ @line_number += 1
1570
+ end
1571
+ when 15 then
1572
+ # line 79 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
1573
+ begin
1574
+
1575
+ @last_newline = p + 1
1576
+ end
1577
+ when 16 then
1578
+ # line 83 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
1579
+ begin
1580
+
1581
+ @keyword_start ||= p
1582
+ end
1583
+ when 17 then
1584
+ # line 87 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
1585
+ begin
1586
+
1587
+ @keyword = utf8_pack(data[@keyword_start...p]).sub(/:$/,'')
1588
+ @keyword_start = nil
1589
+ end
1590
+ when 18 then
1591
+ # line 92 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
1592
+ begin
1593
+
1594
+ @next_keyword_start = p
1595
+ end
1596
+ when 19 then
1597
+ # line 96 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
1598
+ begin
1599
+
1600
+ p = p - 1
1601
+ current_row = []
1602
+ @current_line = @line_number
1603
+ end
1604
+ when 20 then
1605
+ # line 102 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
1606
+ begin
1607
+
1608
+ @content_start = p
1609
+ end
1610
+ when 21 then
1611
+ # line 106 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
1612
+ begin
1613
+
1614
+ con = utf8_pack(data[@content_start...p]).strip
1615
+ current_row << con.gsub(/\\\|/, "|").gsub(/\\n/, "\n").gsub(/\\\\/, "\\")
1616
+ end
1617
+ when 22 then
1618
+ # line 111 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
1619
+ begin
1620
+
1621
+ @listener.row(current_row, @current_line)
1622
+ end
1623
+ when 23 then
1624
+ # line 115 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
1625
+ begin
1626
+
1627
+ if cs < lexer_first_final
1628
+ content = current_line_content(data, p)
1629
+ 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])
1630
+ else
1631
+ @listener.eof
1632
+ end
1633
+ end
1634
+ # line 1635 "lib/gherkin/lexer/tl.rb"
1635
+ end # action switch
1636
+ end
1637
+ end
1638
+ if _trigger_goto
1639
+ next
1640
+ end
1641
+ end
1642
+ if _goto_level <= _again
1643
+ if cs == 0
1644
+ _goto_level = _out
1645
+ next
1646
+ end
1647
+ p += 1
1648
+ if p != pe
1649
+ _goto_level = _resume
1650
+ next
1651
+ end
1652
+ end
1653
+ if _goto_level <= _test_eof
1654
+ if p == eof
1655
+ __acts = _lexer_eof_actions[cs]
1656
+ __nacts = _lexer_actions[__acts]
1657
+ __acts += 1
1658
+ while __nacts > 0
1659
+ __nacts -= 1
1660
+ __acts += 1
1661
+ case _lexer_actions[__acts - 1]
1662
+ when 23 then
1663
+ # line 115 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
1664
+ begin
1665
+
1666
+ if cs < lexer_first_final
1667
+ content = current_line_content(data, p)
1668
+ 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])
1669
+ else
1670
+ @listener.eof
1671
+ end
1672
+ end
1673
+ # line 1674 "lib/gherkin/lexer/tl.rb"
1674
+ end # eof action switch
1675
+ end
1676
+ if _trigger_goto
1677
+ next
1678
+ end
1679
+ end
1680
+ end
1681
+ if _goto_level <= _out
1682
+ break
1683
+ end
1684
+ end
1685
+ end
1686
+
1687
+ # line 141 "/Users/ahellesoy/github/gherkin/tasks/../ragel/i18n/tl.rb.rl"
1688
+ end
1689
+
1690
+ def unindent(startcol, text)
1691
+ text.gsub(/^[\t ]{0,#{startcol}}/, "")
1692
+ end
1693
+
1694
+ def store_keyword_content(event, data, p, eof)
1695
+ end_point = (!@next_keyword_start or (p == eof)) ? p : @next_keyword_start
1696
+ content = unindent(@start_col + 2, utf8_pack(data[@content_start...end_point])).rstrip
1697
+ content_lines = content.split("\n")
1698
+ name = content_lines.shift || ""
1699
+ name.strip!
1700
+ description = content_lines.join("\n")
1701
+ @listener.__send__(event, @keyword, name, description, @current_line)
1702
+ @next_keyword_start ? @next_keyword_start - 1 : p
1703
+ ensure
1704
+ @next_keyword_start = nil
1705
+ end
1706
+
1707
+ def current_line_content(data, p)
1708
+ rest = data[@last_newline..-1]
1709
+ utf8_pack(rest[0..rest.index(10)||-1]).strip # 10 is \n
1710
+ end
1711
+
1712
+ if (RUBY_VERSION =~ /^1\.9/)
1713
+ def utf8_pack(array)
1714
+ array.pack("c*").force_encoding("UTF-8")
1715
+ end
1716
+ else
1717
+ def utf8_pack(array)
1718
+ array.pack("c*")
1719
+ end
1720
+ end
1721
+ end
1722
+ end
1723
+ end