racc 1.5.0 → 1.5.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d8ef721486df64a0671227425cfe65236120a1fcd50eb47beb438f56ec695d84
4
- data.tar.gz: c557e798345c2048e2c6c011c7f4d5a9fca4a1a56df5f0a9e6f504b448525365
3
+ metadata.gz: ede048f5b10ea4728a4a739fb63e168d9624c992c6f01e29dbf356d25a1c759a
4
+ data.tar.gz: cd9295a2f89b3501bbaca98f31822fa232131765534e5084d94ae6ffa375ff35
5
5
  SHA512:
6
- metadata.gz: b0251224598376abd45a97a63b84eed99cad5fcb49c0046db2f5f4a6469ea76cd452f5a77c428b9dbe4d4f9b09137f538c03c1936e643f6786c6935f3584ef7c
7
- data.tar.gz: 85ff1df73d7047c567432136c8461a46b3b8d66546cbea7de47dd4c174167467d24f42123e324eb742d3b7ce0fe8d9be0f8d9bc1fa3631cb29d3cd6a78bbf3b5
6
+ metadata.gz: cc57d6d6b9823be80962064cd80625b7cdcad3cf2438e9374d0716a672da3b93823d14c6a4212c106b6988a9e1634f46a150bf8e1472891ef04c23e6b7a8f3d2
7
+ data.tar.gz: faa069318a620e3f179780ce81a5e50424d45652c827122e0f2cac1ecd937561ae8231ff1bc2066629123e21c99ea4ff5f86eef65216f25825874c2441a7c902
@@ -16,8 +16,6 @@
16
16
  == Requirement
17
17
 
18
18
  * Ruby 1.8.x or later.
19
- (*) make and C compiler.
20
-
21
19
 
22
20
  == Installation
23
21
 
@@ -36,9 +34,9 @@
36
34
 
37
35
  You can install Racc into your favorite directory by giving
38
36
  options to setup.rb. e.g.
39
-
37
+
40
38
  $ ruby setup.rb config --prefix=/usr
41
-
39
+
42
40
  For details, try "ruby setup.rb --help".
43
41
 
44
42
 
data/bin/racc CHANGED
@@ -51,7 +51,7 @@ def main
51
51
  logfilename = path
52
52
  }
53
53
  parser.on('-e', '--executable [RUBYPATH]', 'Makes executable parser.') {|path|
54
- executable = true
54
+ make_executable = true
55
55
  rubypath = (path == 'ruby' ? nil : path)
56
56
  }
57
57
  parser.on('-E', '--embedded', "Embeds Racc runtime in output.") {
@@ -71,10 +71,6 @@ def main
71
71
  'Uses CLASSNAME instead of Racc::Parser.') {|name|
72
72
  superclass = name
73
73
  }
74
- parser.on('--runtime=FEATURE',
75
- "Uses FEATURE instead of 'racc/parser'") {|feat|
76
- runtime = feature
77
- }
78
74
  parser.on('-C', '--check-only', 'Checks syntax and quit immediately.') {|fl|
79
75
  check_only = fl
80
76
  }
@@ -88,20 +84,20 @@ def main
88
84
  debug_flags = Racc::DebugFlags.parse_option_string(flags)
89
85
  }
90
86
  #parser.on('--no-extensions', 'Run Racc without any Ruby extension.') {
91
- # Racc.const_set :Racc_No_Extentions, true
87
+ # Racc.const_set :Racc_No_Extensions, true
92
88
  #}
93
89
  parser.on('--version', 'Prints version and quit.') {
94
90
  puts "racc version #{Racc::Version}"
95
91
  exit 0
96
92
  }
97
93
  parser.on('--runtime-version', 'Prints runtime version and quit.') {
98
- printf "racc runtime version %s (rev. %s); %s\n",
94
+ printf "racc runtime version %s; %s\n",
99
95
  Racc::Parser::Racc_Runtime_Version,
100
96
  if Racc::Parser.racc_runtime_type == 'ruby'
101
- sprintf('ruby core version %s (rev. %s)',
97
+ sprintf('ruby core version %s',
102
98
  Racc::Parser::Racc_Runtime_Core_Version_R)
103
99
  else
104
- sprintf('c core version %s (rev. %s)',
100
+ sprintf('c core version %s',
105
101
  Racc::Parser::Racc_Runtime_Core_Version_C)
106
102
  end
107
103
  exit 0
@@ -184,8 +180,12 @@ def main
184
180
  log_useless states.grammar
185
181
  log_conflict states
186
182
  else
187
- report_useless states.grammar
188
- report_conflict states
183
+ has_useless = report_useless states.grammar
184
+ has_conflicts = report_conflict states
185
+ if has_useless || has_conflicts
186
+ preamble = make_logfile ? 'C' : 'Turn on logging with "-v" and c'
187
+ $stderr.puts %Q{#{preamble}heck ".output" file for details}
188
+ end
189
189
  end
190
190
 
191
191
  profiler.report
@@ -201,13 +201,29 @@ def make_filename(path, suffix)
201
201
  path.sub(/(?:\..*?)?\z/, suffix)
202
202
  end
203
203
 
204
+ LIST_LIMIT = 10
205
+ def report_list(enum, label)
206
+ c = enum.count
207
+ if c > 0
208
+ $stderr.puts "#{c} #{label}:"
209
+ enum.first(LIST_LIMIT).each do |item|
210
+ $stderr.puts " #{yield item}"
211
+ end
212
+ $stderr.puts " ..." if c > LIST_LIMIT
213
+ end
214
+ end
215
+
216
+ # @return [Boolean] if anything was reported
204
217
  def report_conflict(states)
205
218
  if states.should_report_srconflict?
219
+ reported = true
206
220
  $stderr.puts "#{states.n_srconflicts} shift/reduce conflicts"
207
221
  end
208
222
  if states.rrconflict_exist?
223
+ reported = true
209
224
  $stderr.puts "#{states.n_rrconflicts} reduce/reduce conflicts"
210
225
  end
226
+ reported
211
227
  end
212
228
 
213
229
  def log_conflict(states)
@@ -222,16 +238,17 @@ def log_conflict(states)
222
238
  }
223
239
  end
224
240
 
241
+ # @return [Boolean] if anything was reported
225
242
  def report_useless(grammar)
226
- if grammar.useless_nonterminal_exist?
227
- $stderr.puts "#{grammar.n_useless_nonterminals} useless nonterminals"
228
- end
229
- if grammar.useless_rule_exist?
230
- $stderr.puts "#{grammar.n_useless_rules} useless rules"
231
- end
243
+ reported = report_list(grammar.each_useless_nonterminal, 'useless nonterminals', &:to_s)
244
+
245
+ reported ||= report_list(grammar.each_useless_rule, 'useless rules') { |r| "##{r.ident} (#{r.target})" }
246
+
232
247
  if grammar.start.useless?
233
248
  $stderr.puts 'fatal: start symbol does not derive any sentence'
249
+ reported = true
234
250
  end
251
+ reported
235
252
  end
236
253
 
237
254
  def log_useless(grammar)
@@ -605,7 +605,7 @@ parse_main(struct cparse_params *v, VALUE tok, VALUE val, int resume)
605
605
  user_yyerror:
606
606
  if (v->errstatus == 3) {
607
607
  if (v->t == vFINAL_TOKEN) {
608
- v->retval = Qfalse;
608
+ v->retval = Qnil;
609
609
  v->fin = CP_FIN_EOT;
610
610
  return;
611
611
  }
@@ -819,14 +819,12 @@ reduce0(RB_BLOCK_CALL_FUNC_ARGLIST(_, data))
819
819
  void
820
820
  Init_cparse(void)
821
821
  {
822
- #undef rb_intern
823
- #define rb_intern(str) rb_intern_const(str)
824
822
  VALUE Racc, Parser;
825
- ID id_racc = rb_intern("Racc");
823
+ ID id_racc = rb_intern_const("Racc");
826
824
 
827
825
  if (rb_const_defined(rb_cObject, id_racc)) {
828
826
  Racc = rb_const_get(rb_cObject, id_racc);
829
- Parser = rb_const_get_at(Racc, rb_intern("Parser"));
827
+ Parser = rb_const_get_at(Racc, rb_intern_const("Parser"));
830
828
  }
831
829
  else {
832
830
  Racc = rb_define_module("Racc");
@@ -846,16 +844,16 @@ Init_cparse(void)
846
844
 
847
845
  RaccBug = rb_eRuntimeError;
848
846
 
849
- id_yydebug = rb_intern("@yydebug");
850
- id_nexttoken = rb_intern("next_token");
851
- id_onerror = rb_intern("on_error");
852
- id_noreduce = rb_intern("_reduce_none");
853
- id_errstatus = rb_intern("@racc_error_status");
854
-
855
- id_d_shift = rb_intern("racc_shift");
856
- id_d_reduce = rb_intern("racc_reduce");
857
- id_d_accept = rb_intern("racc_accept");
858
- id_d_read_token = rb_intern("racc_read_token");
859
- id_d_next_state = rb_intern("racc_next_state");
860
- id_d_e_pop = rb_intern("racc_e_pop");
847
+ id_yydebug = rb_intern_const("@yydebug");
848
+ id_nexttoken = rb_intern_const("next_token");
849
+ id_onerror = rb_intern_const("on_error");
850
+ id_noreduce = rb_intern_const("_reduce_none");
851
+ id_errstatus = rb_intern_const("@racc_error_status");
852
+
853
+ id_d_shift = rb_intern_const("racc_shift");
854
+ id_d_reduce = rb_intern_const("racc_reduce");
855
+ id_d_accept = rb_intern_const("racc_accept");
856
+ id_d_read_token = rb_intern_const("racc_read_token");
857
+ id_d_next_state = rb_intern_const("racc_next_state");
858
+ id_d_e_pop = rb_intern_const("racc_e_pop");
861
859
  }
@@ -5,9 +5,8 @@
5
5
  # Copyright (c) 1999-2006 Minero Aoki
6
6
  #
7
7
  # This program is free software.
8
- # You can distribute/modify this program under the terms of
9
- # the GNU LGPL, Lesser General Public License version 2.1.
10
- # For details of the GNU LGPL, see the file "COPYING".
8
+ # You can distribute/modify this program under the same terms of ruby.
9
+ # see the file "COPYING".
11
10
  #
12
11
  #++
13
12
 
@@ -5,9 +5,8 @@
5
5
  # Copyright (c) 1999-2006 Minero Aoki
6
6
  #
7
7
  # This program is free software.
8
- # You can distribute/modify this program under the terms of
9
- # the GNU LGPL, Lesser General Public License version 2.1.
10
- # For details of LGPL, see the file "COPYING".
8
+ # You can distribute/modify this program under the same terms of ruby.
9
+ # see the file "COPYING".
11
10
  #
12
11
  #++
13
12
 
@@ -86,14 +86,15 @@ module Racc
86
86
  end
87
87
 
88
88
  def n_useless_nonterminals
89
- @n_useless_nonterminals ||=
90
- begin
91
- n = 0
92
- @symboltable.each_nonterminal do |sym|
93
- n += 1 if sym.useless?
94
- end
95
- n
96
- end
89
+ @n_useless_nonterminals ||= each_useless_nonterminal.count
90
+ end
91
+
92
+ def each_useless_nonterminal
93
+ return to_enum __method__ unless block_given?
94
+
95
+ @symboltable.each_nonterminal do |sym|
96
+ yield sym if sym.useless?
97
+ end
97
98
  end
98
99
 
99
100
  def useless_rule_exist?
@@ -101,14 +102,15 @@ module Racc
101
102
  end
102
103
 
103
104
  def n_useless_rules
104
- @n_useless_rules ||=
105
- begin
106
- n = 0
107
- each do |r|
108
- n += 1 if r.useless?
109
- end
110
- n
111
- end
105
+ @n_useless_rules ||= each_useless_rule.count
106
+ end
107
+
108
+ def each_useless_rule
109
+ return to_enum __method__ unless block_given?
110
+
111
+ each do |r|
112
+ yield r if r.useless?
113
+ end
112
114
  end
113
115
 
114
116
  def nfa
@@ -5,9 +5,8 @@
5
5
  # Copyright (c) 1999-2006 Minero Aoki
6
6
  #
7
7
  # This program is free software.
8
- # You can distribute/modify this program under the terms of
9
- # the GNU LGPL, Lesser General Public License version 2.1.
10
- # For details of the GNU LGPL, see the file "COPYING".
8
+ # You can distribute/modify this program under the same terms of ruby.
9
+ # see the file "COPYING".
11
10
  #
12
11
  #++
13
12
 
@@ -288,7 +287,7 @@ module Racc
288
287
  end
289
288
 
290
289
  def add_user_code(label, src)
291
- @result.params.send(USER_CODE_LABELS[label]).push src
290
+ @result.params.public_send(USER_CODE_LABELS[label]).push src
292
291
  end
293
292
 
294
293
  end
@@ -11,7 +11,7 @@
11
11
  #++
12
12
 
13
13
  module Racc
14
- VERSION = '1.5.0'
14
+ VERSION = '1.5.1'
15
15
  Version = VERSION
16
16
  Copyright = 'Copyright (c) 1999-2006 Minero Aoki'
17
17
  end
@@ -5,9 +5,8 @@
5
5
  # Copyright (c) 1999-2006 Minero Aoki
6
6
  #
7
7
  # This program is free software.
8
- # You can distribute/modify this program under the terms of
9
- # the GNU LGPL, Lesser General Public License version 2.1.
10
- # For details of the GNU LGPL, see the file "COPYING".
8
+ # You can distribute/modify this program under the same terms of ruby.
9
+ # see the file "COPYING".
11
10
  #
12
11
  #++
13
12
 
@@ -5,9 +5,8 @@
5
5
  # Copyright (c) 1999-2006 Minero Aoki
6
6
  #
7
7
  # This program is free software.
8
- # You can distribute/modify this program under the terms of
9
- # the GNU LGPL, Lesser General Public License version 2.1.
10
- # For details of the GNU LGPL, see the file "COPYING".
8
+ # You can distribute/modify this program under the same terms of ruby.
9
+ # see the file "COPYING".
11
10
  #
12
11
  #++
13
12
 
@@ -181,8 +181,8 @@ end
181
181
  # Your own parser is completely yours.
182
182
  module Racc
183
183
 
184
- unless defined?(Racc_No_Extentions)
185
- Racc_No_Extentions = false # :nodoc:
184
+ unless defined?(Racc_No_Extensions)
185
+ Racc_No_Extensions = false # :nodoc:
186
186
  end
187
187
 
188
188
  class Parser
@@ -202,7 +202,7 @@ module Racc
202
202
  unless new.respond_to?(:_racc_do_parse_c, true)
203
203
  raise LoadError, 'old cparse.so'
204
204
  end
205
- if Racc_No_Extentions
205
+ if Racc_No_Extensions
206
206
  raise LoadError, 'selecting ruby version of racc runtime core'
207
207
  end
208
208
 
@@ -326,7 +326,7 @@ module Racc
326
326
  # It must 'yield' the token, which format is [TOKEN-SYMBOL, VALUE].
327
327
  class_eval %{
328
328
  def yyparse(recv, mid)
329
- #{Racc_YY_Parse_Method}(recv, mid, _racc_setup(), true)
329
+ #{Racc_YY_Parse_Method}(recv, mid, _racc_setup(), false)
330
330
  end
331
331
  }
332
332
 
@@ -179,8 +179,8 @@ end
179
179
  # Your own parser is completely yours.
180
180
  module Racc
181
181
 
182
- unless defined?(Racc_No_Extentions)
183
- Racc_No_Extentions = false # :nodoc:
182
+ unless defined?(Racc_No_Extensions)
183
+ Racc_No_Extensions = false # :nodoc:
184
184
  end
185
185
 
186
186
  class Parser
@@ -200,7 +200,7 @@ module Racc
200
200
  unless new.respond_to?(:_racc_do_parse_c, true)
201
201
  raise LoadError, 'old cparse.so'
202
202
  end
203
- if Racc_No_Extentions
203
+ if Racc_No_Extensions
204
204
  raise LoadError, 'selecting ruby version of racc runtime core'
205
205
  end
206
206
 
@@ -324,7 +324,7 @@ module Racc
324
324
  # It must 'yield' the token, which format is [TOKEN-SYMBOL, VALUE].
325
325
  class_eval %{
326
326
  def yyparse(recv, mid)
327
- #{Racc_YY_Parse_Method}(recv, mid, _racc_setup(), true)
327
+ #{Racc_YY_Parse_Method}(recv, mid, _racc_setup(), false)
328
328
  end
329
329
  }
330
330
 
@@ -10,7 +10,6 @@
10
10
  #
11
11
  #++
12
12
 
13
- require 'enumerator'
14
13
  require 'racc/compat'
15
14
  require 'racc/sourcetext'
16
15
  require 'racc/parser-text'
@@ -5,9 +5,8 @@
5
5
  # Copyright (c) 1999-2006 Minero Aoki
6
6
  #
7
7
  # This program is free software.
8
- # You can distribute/modify this program under the terms of
9
- # the GNU LGPL, Lesser General Public License version 2.1.
10
- # For details of LGPL, see the file "COPYING".
8
+ # You can distribute/modify this program under the same terms of ruby.
9
+ # see the file "COPYING".
11
10
  #
12
11
  #++
13
12
 
@@ -5,9 +5,8 @@
5
5
  # Copyright (c) 1999-2006 Minero Aoki
6
6
  #
7
7
  # This program is free software.
8
- # You can distribute/modify this program under the terms of
9
- # the GNU LGPL, Lesser General Public License version 2.1.
10
- # For details of LGPL, see the file "COPYING".
8
+ # You can distribute/modify this program under the same terms of ruby.
9
+ # see the file "COPYING".
11
10
  #
12
11
  #++
13
12
 
@@ -231,7 +230,7 @@ module Racc
231
230
  map = '-' * 10240
232
231
 
233
232
  # sort long to short
234
- entries.sort! {|a,b| b[0].size <=> a[0].size }
233
+ entries.sort_by!.with_index {|a,i| [-a[0].size, i] }
235
234
 
236
235
  entries.each do |arr, chkval, expr, min, ptri|
237
236
  if upper + arr.size > map.size
@@ -86,11 +86,11 @@ module Racc
86
86
  end
87
87
 
88
88
  def assert_output_unchanged(asset)
89
- # racc generates the difference results in GitHub Actions
90
- omit unless RUBY_PLATFORM =~ /darwin/
91
-
92
89
  file = File.basename(asset, '.y')
93
90
 
91
+ # Code to re-generate the expectation files
92
+ # File.write("#{REGRESS_DIR}/#{file}", File.read("#{@TAB_DIR}/#{file}"))
93
+
94
94
  expected = File.read("#{REGRESS_DIR}/#{file}")
95
95
  actual = File.read("#{@TAB_DIR}/#{file}")
96
96
  result = (strip_version(expected) == strip_version(actual))
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # DO NOT MODIFY!!!!
3
- # This file is automatically generated by Racc 1.4.16
3
+ # This file is automatically generated by Racc 1.5.0
4
4
  # from Racc grammar file "".
5
5
  #
6
6
 
@@ -17,81 +17,81 @@ module_eval(<<'...end cadenza.y/module_eval...', 'cadenza.y', 171)
17
17
  ##### State transition tables begin ###
18
18
 
19
19
  racc_action_table = [
20
- 37, 89, 90, 20, 21, 22, 23, 24, 121, 3,
21
- 89, 4, 72, 37, 71, 3, 68, 39, 3, 29,
22
- 43, 37, 65, 66, 33, 9, 34, 110, 74, 50,
23
- 35, 9, 37, 36, 9, 122, 38, 33, 128, 34,
24
- 77, 78, 79, 35, 89, 33, 36, 34, 37, 38,
25
- 3, 35, 46, 17, 36, 85, 33, 38, 34, 37,
26
- 76, 103, 35, 75, 83, 36, 9, 131, 38, 54,
27
- 55, 3, 33, 4, 34, 124, 78, 79, 35, 65,
28
- 66, 36, 67, 33, 38, 34, 125, 9, 109, 35,
29
- 56, 57, 36, 54, 55, 38, 20, 21, 22, 23,
30
- 24, 20, 21, 22, 23, 24, 20, 21, 22, 23,
31
- 24, 108, 29, 65, 66, 54, 55, 29, 56, 57,
32
- 111, 107, 29, 20, 21, 22, 23, 24, 20, 21,
33
- 22, 23, 24, 20, 21, 22, 23, 24, 112, 29,
34
- 3, 113, 116, 114, 29, 115, 3, 103, 39, 29,
35
- 20, 21, 22, 23, 24, 120, 9, 20, 21, 22,
36
- 23, 24, 9, 3, nil, 4, 29, 3, 3, 43,
37
- 46, nil, 3, 29, 87, 3, 3, 4, 116, 9,
38
- 56, 57, nil, 9, 9, 56, 57, 3, 9, 116,
39
- nil, 9, 9, 20, 21, 22, 23, 24, 20, 21,
40
- 22, 23, 24, 9, 65, 66, 56, 57, nil, 29,
41
- 56, 57, 106, nil, 29, 58, 59, 60, 61, 62,
42
- 63, 58, 59, 60, 61, 62, 63, 20, 21, 22,
43
- 23, 24, 20, 21, 22, 23, 24, 20, 21, 22,
44
- 23, 24, 20, 21, 22, 23, 24, 20, 21, 22,
45
- 23, 24, 20, 21, 22, 23, 24, 20, 21, 22,
46
- 23, 24, 20, 21, 22, 23, 24, 20, 21, 22,
47
- 23, 24, 20, 21, 22, 23, 24, 20, 21, 22,
48
- 23, 24, 56, 57, 65, 66 ]
20
+ 37, 89, 65, 66, 20, 21, 22, 23, 24, 17,
21
+ 106, 37, 3, 76, 4, 3, 75, 4, 50, 37,
22
+ 29, 68, 65, 66, 33, 67, 34, 110, 9, 74,
23
+ 35, 9, 37, 36, 71, 33, 38, 34, 77, 78,
24
+ 79, 35, 72, 33, 36, 34, 37, 38, 3, 35,
25
+ 39, 83, 36, 54, 55, 38, 33, 89, 34, 37,
26
+ 90, 3, 35, 43, 9, 36, 85, 103, 38, 108,
27
+ 33, 109, 34, 56, 57, 111, 35, 9, 3, 36,
28
+ 46, 122, 38, 33, 112, 34, 113, 78, 79, 35,
29
+ 114, 3, 36, 4, 9, 38, 20, 21, 22, 23,
30
+ 24, 20, 21, 22, 23, 24, 115, 9, 65, 66,
31
+ 65, 66, 29, 54, 55, 120, 107, 29, 20, 21,
32
+ 22, 23, 24, 20, 21, 22, 23, 24, 20, 21,
33
+ 22, 23, 24, 3, 29, 39, 3, 121, 4, 29,
34
+ 3, 3, 43, 46, 29, 3, 124, 87, 125, 9,
35
+ 54, 55, 9, 56, 57, 128, 9, 9, 3, 103,
36
+ 116, 9, 20, 21, 22, 23, 24, 20, 21, 22,
37
+ 23, 24, 131, 3, 9, 116, 56, 57, 29, 3,
38
+ 89, 116, nil, 29, 20, 21, 22, 23, 24, 9,
39
+ 20, 21, 22, 23, 24, 9, 56, 57, 56, 57,
40
+ 29, 20, 21, 22, 23, 24, 29, 58, 59, 60,
41
+ 61, 62, 63, 56, 57, 56, 57, 29, 58, 59,
42
+ 60, 61, 62, 63, 20, 21, 22, 23, 24, 20,
43
+ 21, 22, 23, 24, 20, 21, 22, 23, 24, 20,
44
+ 21, 22, 23, 24, 20, 21, 22, 23, 24, 20,
45
+ 21, 22, 23, 24, 20, 21, 22, 23, 24, 20,
46
+ 21, 22, 23, 24, 20, 21, 22, 23, 24, 20,
47
+ 21, 22, 23, 24, 20, 21, 22, 23, 24, 65,
48
+ 66 ]
49
49
 
50
50
  racc_action_check = [
51
- 87, 73, 53, 37, 37, 37, 37, 37, 85, 2,
52
- 52, 2, 36, 39, 35, 5, 32, 5, 6, 37,
53
- 6, 46, 51, 51, 87, 2, 87, 73, 37, 17,
54
- 87, 5, 43, 87, 6, 87, 87, 39, 122, 39,
55
- 39, 39, 39, 39, 129, 46, 39, 46, 116, 39,
56
- 7, 46, 7, 1, 46, 46, 43, 46, 43, 4,
57
- 38, 125, 43, 38, 43, 43, 7, 126, 43, 26,
58
- 26, 8, 116, 8, 116, 103, 116, 116, 116, 31,
59
- 31, 116, 31, 4, 116, 4, 105, 8, 72, 4,
60
- 27, 27, 4, 93, 93, 4, 24, 24, 24, 24,
61
- 24, 33, 33, 33, 33, 33, 34, 34, 34, 34,
62
- 34, 71, 24, 70, 70, 94, 94, 33, 95, 95,
63
- 75, 70, 34, 108, 108, 108, 108, 108, 89, 89,
64
- 89, 89, 89, 124, 124, 124, 124, 124, 76, 108,
65
- 118, 77, 118, 78, 89, 79, 41, 67, 41, 124,
66
- 3, 3, 3, 3, 3, 83, 118, 20, 20, 20,
67
- 20, 20, 41, 42, nil, 42, 3, 45, 48, 45,
68
- 48, nil, 49, 20, 49, 0, 82, 0, 82, 42,
69
- 96, 96, nil, 45, 48, 97, 97, 81, 49, 81,
70
- nil, 0, 82, 65, 65, 65, 65, 65, 66, 66,
71
- 66, 66, 66, 81, 69, 69, 98, 98, nil, 65,
72
- 99, 99, 69, nil, 66, 28, 28, 28, 28, 28,
73
- 28, 64, 64, 64, 64, 64, 64, 57, 57, 57,
74
- 57, 57, 29, 29, 29, 29, 29, 58, 58, 58,
75
- 58, 58, 59, 59, 59, 59, 59, 63, 63, 63,
76
- 63, 63, 54, 54, 54, 54, 54, 55, 55, 55,
77
- 55, 55, 56, 56, 56, 56, 56, 61, 61, 61,
78
- 61, 61, 62, 62, 62, 62, 62, 60, 60, 60,
79
- 60, 60, 100, 100, 123, 123 ]
51
+ 4, 73, 69, 69, 37, 37, 37, 37, 37, 1,
52
+ 69, 39, 0, 38, 0, 2, 38, 2, 17, 43,
53
+ 37, 32, 31, 31, 4, 31, 4, 73, 0, 37,
54
+ 4, 2, 46, 4, 35, 39, 4, 39, 39, 39,
55
+ 39, 39, 36, 43, 39, 43, 87, 39, 5, 43,
56
+ 5, 43, 43, 26, 26, 43, 46, 52, 46, 116,
57
+ 53, 6, 46, 6, 5, 46, 46, 67, 46, 71,
58
+ 87, 72, 87, 27, 27, 75, 87, 6, 7, 87,
59
+ 7, 87, 87, 116, 76, 116, 77, 116, 116, 116,
60
+ 78, 8, 116, 8, 7, 116, 3, 3, 3, 3,
61
+ 3, 20, 20, 20, 20, 20, 79, 8, 70, 70,
62
+ 51, 51, 3, 93, 93, 83, 70, 20, 24, 24,
63
+ 24, 24, 24, 33, 33, 33, 33, 33, 34, 34,
64
+ 34, 34, 34, 41, 24, 41, 42, 85, 42, 33,
65
+ 45, 48, 45, 48, 34, 49, 103, 49, 105, 41,
66
+ 94, 94, 42, 95, 95, 122, 45, 48, 81, 125,
67
+ 81, 49, 65, 65, 65, 65, 65, 66, 66, 66,
68
+ 66, 66, 126, 82, 81, 82, 96, 96, 65, 118,
69
+ 129, 118, nil, 66, 89, 89, 89, 89, 89, 82,
70
+ 108, 108, 108, 108, 108, 118, 97, 97, 98, 98,
71
+ 89, 124, 124, 124, 124, 124, 108, 28, 28, 28,
72
+ 28, 28, 28, 99, 99, 100, 100, 124, 64, 64,
73
+ 64, 64, 64, 64, 29, 29, 29, 29, 29, 54,
74
+ 54, 54, 54, 54, 55, 55, 55, 55, 55, 56,
75
+ 56, 56, 56, 56, 57, 57, 57, 57, 57, 58,
76
+ 58, 58, 58, 58, 59, 59, 59, 59, 59, 60,
77
+ 60, 60, 60, 60, 61, 61, 61, 61, 61, 62,
78
+ 62, 62, 62, 62, 63, 63, 63, 63, 63, 123,
79
+ 123 ]
80
80
 
81
81
  racc_action_pointer = [
82
- 151, 53, -15, 147, 56, -9, -6, 26, 47, nil,
83
- nil, nil, nil, nil, nil, nil, nil, 29, nil, nil,
84
- 154, nil, nil, nil, 93, nil, 60, 79, 202, 229,
85
- nil, 59, -9, 98, 103, 11, 9, 0, 57, 10,
86
- nil, 122, 139, 29, nil, 143, 18, nil, 144, 148,
87
- nil, 2, 8, -6, 249, 254, 259, 224, 234, 239,
88
- 274, 264, 269, 244, 208, 190, 195, 144, nil, 184,
89
- 93, 77, 60, -1, nil, 92, 110, 113, 115, 117,
90
- nil, 163, 152, 127, nil, -20, nil, -3, nil, 125,
91
- nil, nil, nil, 84, 106, 107, 169, 174, 195, 199,
92
- 271, nil, nil, 53, nil, 63, nil, nil, 120, nil,
93
- nil, nil, nil, nil, nil, nil, 45, nil, 116, nil,
94
- nil, nil, 10, 264, 130, 58, 39, nil, nil, 42,
82
+ -12, 9, -9, 93, -3, 24, 37, 54, 67, nil,
83
+ nil, nil, nil, nil, nil, nil, nil, 18, nil, nil,
84
+ 98, nil, nil, nil, 115, nil, 44, 62, 194, 221,
85
+ nil, 2, -4, 120, 125, 31, 39, 1, 10, 8,
86
+ nil, 109, 112, 16, nil, 116, 29, nil, 117, 121,
87
+ nil, 90, 55, 52, 226, 231, 236, 241, 246, 251,
88
+ 256, 261, 266, 271, 205, 159, 164, 64, nil, -18,
89
+ 88, 35, 43, -1, nil, 47, 56, 58, 62, 78,
90
+ nil, 134, 149, 87, nil, 109, nil, 43, nil, 181,
91
+ nil, nil, nil, 104, 141, 142, 165, 185, 187, 202,
92
+ 204, nil, nil, 124, nil, 125, nil, nil, 187, nil,
93
+ nil, nil, nil, nil, nil, nil, 56, nil, 155, nil,
94
+ nil, nil, 127, 259, 198, 156, 144, nil, nil, 178,
95
95
  nil, nil ]
96
96
 
97
97
  racc_action_default = [
@@ -111,37 +111,37 @@ racc_action_default = [
111
111
  -32, -46 ]
112
112
 
113
113
  racc_goto_table = [
114
- 18, 40, 19, 32, 104, 51, 52, 105, 2, 88,
115
- 47, 101, 102, 41, 45, 48, 49, 44, 69, 70,
116
- 1, 42, 51, 73, 53, 95, 96, 97, 98, 99,
117
- 100, 91, 92, 93, 94, 64, nil, 80, nil, 18,
118
- nil, 19, nil, 18, nil, 19, 18, 18, 19, 19,
119
- 82, 86, nil, nil, nil, nil, 84, 81, nil, nil,
114
+ 19, 40, 18, 32, 104, 52, 51, 1, 2, 64,
115
+ 47, 91, 92, 41, 45, 48, 49, 44, 42, 69,
116
+ 70, 105, 73, 51, 53, 95, 96, 97, 98, 99,
117
+ 100, 93, 94, 101, 102, 88, nil, 80, nil, 19,
118
+ nil, 18, nil, 19, nil, 18, 19, 19, 18, 18,
119
+ 82, 86, nil, nil, 81, nil, 84, nil, nil, nil,
120
120
  nil, nil, 130, nil, nil, nil, nil, nil, nil, nil,
121
- nil, nil, nil, nil, 123, nil, nil, 117, 119, nil,
122
- 18, nil, 19, nil, nil, nil, nil, nil, nil, 118,
121
+ nil, nil, nil, nil, nil, 123, nil, 117, 119, nil,
122
+ 19, nil, 18, nil, nil, nil, nil, nil, nil, 118,
123
123
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
124
- nil, nil, nil, nil, nil, nil, nil, nil, 126, 51,
125
- 129, nil, nil, nil, 127, nil, 18, nil, 19 ]
124
+ nil, nil, nil, nil, nil, nil, nil, nil, 126, 129,
125
+ 51, nil, nil, nil, 127, nil, 19, nil, 18 ]
126
126
 
127
127
  racc_goto_check = [
128
- 28, 16, 27, 6, 11, 4, 3, 12, 2, 25,
129
- 22, 10, 10, 2, 2, 2, 2, 19, 4, 4,
130
- 1, 15, 4, 3, 6, 8, 8, 8, 8, 8,
131
- 8, 5, 5, 7, 7, 9, nil, 16, nil, 28,
132
- nil, 27, nil, 28, nil, 27, 28, 28, 27, 27,
133
- 2, 22, nil, nil, nil, nil, 19, 15, nil, nil,
128
+ 27, 16, 28, 6, 11, 3, 4, 1, 2, 9,
129
+ 22, 5, 5, 2, 2, 2, 2, 19, 15, 4,
130
+ 4, 12, 3, 4, 6, 8, 8, 8, 8, 8,
131
+ 8, 7, 7, 10, 10, 25, nil, 16, nil, 27,
132
+ nil, 28, nil, 27, nil, 28, 27, 27, 28, 28,
133
+ 2, 22, nil, nil, 15, nil, 19, nil, nil, nil,
134
134
  nil, nil, 11, nil, nil, nil, nil, nil, nil, nil,
135
- nil, nil, nil, nil, 4, nil, nil, 16, 16, nil,
136
- 28, nil, 27, nil, nil, nil, nil, nil, nil, 2,
135
+ nil, nil, nil, nil, nil, 4, nil, 16, 16, nil,
136
+ 27, nil, 28, nil, nil, nil, nil, nil, nil, 2,
137
137
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
138
- nil, nil, nil, nil, nil, nil, nil, nil, 6, 4,
139
- 3, nil, nil, nil, 16, nil, 28, nil, 27 ]
138
+ nil, nil, nil, nil, nil, nil, nil, nil, 6, 3,
139
+ 4, nil, nil, nil, 16, nil, 27, nil, 28 ]
140
140
 
141
141
  racc_goto_pointer = [
142
- nil, 20, 8, -14, -15, -23, 0, -23, -33, 6,
143
- -54, -63, -60, nil, nil, 16, -4, nil, nil, 11,
144
- nil, nil, 3, nil, nil, -40, nil, 0, -2 ]
142
+ nil, 7, 8, -15, -14, -43, 0, -25, -33, -20,
143
+ -32, -63, -46, nil, nil, 13, -4, nil, nil, 11,
144
+ nil, nil, 3, nil, nil, -14, nil, -2, 0 ]
145
145
 
146
146
  racc_goto_default = [
147
147
  nil, nil, nil, nil, 31, 25, nil, 26, 27, 28,