motiro 0.6.10 → 0.6.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (166) hide show
  1. data/AUTHORS +7 -11
  2. data/LICENSE +602 -262
  3. data/README +6 -7
  4. data/README.en +5 -6
  5. data/README.pt-br +6 -6
  6. data/app/controllers/account_controller.rb +5 -6
  7. data/app/controllers/application.rb +5 -6
  8. data/app/controllers/javascript_controller.rb +6 -7
  9. data/app/controllers/report_controller.rb +5 -6
  10. data/app/controllers/root_controller.rb +5 -1
  11. data/app/controllers/wiki_controller.rb +10 -8
  12. data/app/core/cache_reporter.rb +6 -7
  13. data/app/core/cache_reporter_fetcher.rb +6 -6
  14. data/app/core/chief_editor.rb +5 -6
  15. data/app/core/license.rb +598 -0
  16. data/app/core/reporter.rb +6 -7
  17. data/app/core/reporter_driver.rb +5 -5
  18. data/app/core/reporter_fetcher.rb +6 -7
  19. data/app/core/settings.rb +5 -6
  20. data/app/core/version.rb +1 -1
  21. data/app/core/wiki_reporter.rb +5 -6
  22. data/app/helpers/application_helper.rb +33 -16
  23. data/app/helpers/default_page_provider.rb +6 -7
  24. data/app/helpers/report_helper.rb +5 -6
  25. data/app/helpers/wiki_helper.rb +48 -0
  26. data/app/models/change.rb +5 -6
  27. data/app/models/chunk.rb +5 -6
  28. data/app/models/feed_observer.rb +6 -7
  29. data/app/models/headline.rb +5 -6
  30. data/app/models/page.rb +16 -7
  31. data/app/models/revision.rb +9 -9
  32. data/app/models/user.rb +6 -9
  33. data/app/models/wiki_reference.rb +5 -6
  34. data/app/models/wiki_sweeper.rb +6 -7
  35. data/app/ports/chdir_runner.rb +6 -7
  36. data/app/ports/runner.rb +5 -5
  37. data/app/reporters/darcs_connection.rb +6 -7
  38. data/app/reporters/darcs_reporter.rb +9 -10
  39. data/app/reporters/darcs_temp_repo.rb +5 -6
  40. data/app/reporters/events_reporter.rb +5 -6
  41. data/app/reporters/features_reporter.rb +5 -6
  42. data/app/reporters/subversion_reporter.rb +5 -6
  43. data/app/reporters/svn_connection.rb +6 -6
  44. data/app/reporters/svn_settings.rb +5 -5
  45. data/app/views/account/_authorization.rhtml +31 -23
  46. data/app/views/account/_availability.rhtml +1 -3
  47. data/app/views/javascript/motiro.rjs +6 -8
  48. data/app/views/layouts/_bottom.rhtml +7 -0
  49. data/app/views/report/list.rhtml +1 -1
  50. data/app/views/root/license.rhtml +5 -0
  51. data/app/views/wiki/_editbar.rhtml +2 -18
  52. data/app/views/wiki/_properties_show.rhtml +2 -1
  53. data/app/views/wiki/_show_event.rhtml +3 -1
  54. data/app/views/wiki/_show_feature.rhtml +2 -2
  55. data/app/views/wiki/diff.rhtml +2 -2
  56. data/app/views/wiki/page_feed.rxml +1 -13
  57. data/app/views/wiki/raw.rhtml +7 -0
  58. data/app/views/wiki/show.rhtml +1 -1
  59. data/app/views/wiki/sourcediff.rhtml +2 -2
  60. data/bin/motiro +5 -6
  61. data/config/initializers/motiro_core.rb +1 -0
  62. data/config/routes.rb +9 -6
  63. data/db/translation/pt-BR.rb +20 -6
  64. data/lib/array_extensions.rb +6 -7
  65. data/lib/diff_chunk_builder.rb +5 -6
  66. data/lib/differ.rb +5 -6
  67. data/lib/string_extensions.rb +5 -6
  68. data/lib/stub_hash.rb +5 -6
  69. data/lib/tasks/packaging.rake +7 -7
  70. data/lib/tasks/testing.rake +5 -6
  71. data/lib/tick_daemon.rb +5 -6
  72. data/lib/wiki_link_handler.rb +5 -6
  73. data/lib/wiki_renderer.rb +5 -6
  74. data/public/images/calendar.gif +0 -0
  75. data/public/images/done.gif +0 -0
  76. data/public/images/error.gif +0 -0
  77. data/public/images/not-done.gif +0 -0
  78. data/public/images/rss.gif +0 -0
  79. data/public/stylesheets/motiro.css +163 -170
  80. data/script/ticker +5 -6
  81. data/test/acceptance/account_test.rb +6 -7
  82. data/test/acceptance/darcs_test.rb +6 -7
  83. data/test/acceptance/events_test.rb +5 -6
  84. data/test/acceptance/main_page_test.rb +6 -7
  85. data/test/acceptance/subversion_test.rb +5 -6
  86. data/test/acceptance/ts_all_suites.rb +5 -6
  87. data/test/acceptance/wiki_test.rb +5 -6
  88. data/test/contract/darcs_test.rb +5 -6
  89. data/test/contract/svn_test.rb +5 -6
  90. data/test/fixtures/pages.yml +12 -0
  91. data/test/fixtures/revisions.yml +61 -0
  92. data/test/functional/report_controller_test.rb +5 -6
  93. data/test/functional/report_features_test.rb +5 -6
  94. data/test/functional/report_subversion_test.rb +5 -6
  95. data/test/functional/root_controller_test.rb +19 -4
  96. data/test/functional/wiki_controller_test.rb +66 -8
  97. data/test/lib/acceptance_test_case.rb +6 -7
  98. data/test/lib/darcs_excerpts.rb +5 -6
  99. data/test/lib/darcs_repo.rb +5 -6
  100. data/test/lib/hash_extensions.rb +5 -6
  101. data/test/lib/live_mode_test.rb +6 -7
  102. data/test/lib/netutils.rb +6 -7
  103. data/test/lib/platform_thread.rb +5 -5
  104. data/test/lib/selenium_extensions.rb +6 -7
  105. data/test/lib/stubio.rb +6 -7
  106. data/test/lib/webserver.rb +5 -6
  107. data/test/meta/darcs_repo_test.rb +6 -6
  108. data/test/meta/local_svn_test.rb +6 -7
  109. data/test/meta/platform_thread_test.rb +5 -5
  110. data/test/meta/stubio_test.rb +6 -7
  111. data/test/stubs/wiki_link_handler.rb +5 -6
  112. data/test/test_helper.rb +5 -6
  113. data/test/unit/array_extensions_test.rb +5 -6
  114. data/test/unit/cache_reporter_fetcher_test.rb +5 -6
  115. data/test/unit/cache_reporter_test.rb +5 -6
  116. data/test/unit/change_test.rb +5 -6
  117. data/test/unit/chdir_runner_test.rb +5 -6
  118. data/test/unit/chief_editor_test.rb +5 -6
  119. data/test/unit/darcs_connection_test.rb +5 -6
  120. data/test/unit/darcs_reporter_test.rb +14 -6
  121. data/test/unit/darcs_temp_repo_test.rb +5 -6
  122. data/test/unit/default_page_provider_test.rb +5 -6
  123. data/test/unit/diff_chunk_builder_test.rb +6 -7
  124. data/test/unit/headline_test.rb +5 -6
  125. data/test/unit/page_test.rb +45 -6
  126. data/test/unit/reporter_driver_test.rb +6 -7
  127. data/test/unit/reporter_test.rb +6 -7
  128. data/test/unit/revision_test.rb +17 -13
  129. data/test/unit/runner_test.rb +5 -6
  130. data/test/unit/string_extensions_test.rb +6 -7
  131. data/test/unit/svn_connection_test.rb +5 -5
  132. data/test/unit/svn_reporter_interaction_test.rb +6 -7
  133. data/test/unit/svn_reporter_test.rb +5 -6
  134. data/test/unit/svn_settings_test.rb +6 -7
  135. data/test/unit/user_test.rb +6 -11
  136. data/test/unit/wiki_link_handler_test.rb +5 -6
  137. data/test/unit/wiki_renderer_test.rb +7 -7
  138. data/test/unit/wiki_reporter_test.rb +5 -6
  139. data/vendor/mediacloth-trunk/lib/mediacloth/mediawikiast.rb +15 -0
  140. data/vendor/mediacloth-trunk/lib/mediacloth/mediawikihtmlgenerator.rb +18 -3
  141. data/vendor/mediacloth-trunk/lib/mediacloth/mediawikilexer.rb +48 -9
  142. data/vendor/mediacloth-trunk/lib/mediacloth/mediawikilinkhandler.rb +7 -0
  143. data/vendor/mediacloth-trunk/lib/mediacloth/mediawikiparser.rb +534 -485
  144. data/vendor/mediacloth-trunk/lib/mediacloth/mediawikiparser.y +25 -1
  145. data/vendor/mediacloth-trunk/lib/mediacloth/mediawikiwalker.rb +13 -0
  146. data/vendor/mediacloth-trunk/test/data/html1 +3 -3
  147. data/vendor/mediacloth-trunk/test/data/html10 +16 -16
  148. data/vendor/mediacloth-trunk/test/data/html11 +1 -1
  149. data/vendor/mediacloth-trunk/test/data/html13 +1 -1
  150. data/vendor/mediacloth-trunk/test/data/html4 +1 -1
  151. data/vendor/mediacloth-trunk/test/data/html5 +4 -4
  152. data/vendor/mediacloth-trunk/test/data/html7 +13 -1
  153. data/vendor/mediacloth-trunk/test/data/html9 +1 -1
  154. data/vendor/mediacloth-trunk/test/data/input1 +2 -0
  155. data/vendor/mediacloth-trunk/test/data/input7 +13 -1
  156. data/vendor/mediacloth-trunk/test/data/lex1 +1 -1
  157. data/vendor/mediacloth-trunk/test/data/lex7 +13 -1
  158. data/vendor/mediacloth-trunk/test/htmlgenerator.rb +26 -1
  159. data/vendor/mediacloth-trunk/test/lexer.rb +10 -0
  160. metadata +95 -103
  161. data/build/build.rb +0 -29
  162. data/config/report/subversion.yml +0 -26
  163. data/public/images/calendar.png +0 -0
  164. data/public/images/done.png +0 -0
  165. data/public/images/not-done.png +0 -0
  166. data/public/images/rss.png +0 -0
@@ -45,6 +45,13 @@ class InternalLinkAST < AST
45
45
  attr_accessor :locator
46
46
  end
47
47
 
48
+ #The node to represent a Mediawiki category link
49
+ class CategoryLinkAST < AST
50
+ #Holds the category locator, which is composed of a category name only
51
+ #(e.g. the name of the category)
52
+ attr_accessor :locator
53
+ end
54
+
48
55
  #The node to represent a MediaWiki resource reference (embedded images, videos,
49
56
  #etc.)
50
57
  class ResourceLinkAST < AST
@@ -120,3 +127,11 @@ end
120
127
  class VariableAST < AST
121
128
  attr_accessor :text
122
129
  end
130
+
131
+ #The node to represent categories to which this page belongs
132
+ class CategoryAST < AST
133
+ #Holds the name of the category
134
+ attr_accessor :locator
135
+ #Holds the string the page is to be sorted as
136
+ attr_accessor :sort_as
137
+ end
@@ -49,7 +49,7 @@ class MediaWikiHTMLGenerator < MediaWikiWalker
49
49
  # Utility method that converts the string specified into a specially formatted text
50
50
  # string which can be used as an XHTML link anchor name.
51
51
  def MediaWikiHTMLGenerator.anchor_for(str)
52
- str.strip.squeeze(' ').gsub(' ', '_')
52
+ str.strip.squeeze(' ').gsub(' ', '_').gsub('\'', '_')
53
53
  end
54
54
 
55
55
 
@@ -60,8 +60,12 @@ protected
60
60
  end
61
61
 
62
62
  def parse_paragraph(ast)
63
- if ast.children
64
- "<p>" + super(ast) + "</p>"
63
+ if (children = ast.children)
64
+ if children.size == 1 and ((text = children.first.contents) == "\n\n" || text == "\r\n\r\n")
65
+ "<p><br />#{text}</p>"
66
+ else
67
+ "<p>#{super(ast)}</p>"
68
+ end
65
69
  else
66
70
  "<p><br /></p>"
67
71
  end
@@ -129,6 +133,17 @@ protected
129
133
  link_handler.link_for_resource(ast.prefix, ast.locator, options)
130
134
  end
131
135
 
136
+ def parse_category_link(ast)
137
+ text = parse_wiki_ast(ast)
138
+ text = MediaWikiHTMLGenerator.escape(ast.locator) if text.length == 0
139
+ link_handler.link_for_category(ast.locator, text)
140
+ end
141
+
142
+ def parse_category(ast)
143
+ text = parse_wiki_ast(ast)
144
+ link_handler.category_add(ast.locator, ast.sort_as)
145
+ end
146
+
132
147
  def parse_internal_link_item(ast)
133
148
  text = super(ast)
134
149
  text.strip
@@ -25,7 +25,7 @@ class MediaWikiLexer
25
25
  # text; or spans of XHTML, or wiki-escape, markup
26
26
  @formatting_lexer_table = {}
27
27
  @formatting_lexer_table["'"] = method(:match_quote)
28
- @formatting_lexer_table["<"] = method(:match_right_angle)
28
+ @formatting_lexer_table["<"] = method(:match_left_angle)
29
29
  @formatting_lexer_table["&"] = method(:match_ampersand)
30
30
  @formatting_lexer_table["{"] = method(:match_left_curly)
31
31
 
@@ -83,6 +83,15 @@ class MediaWikiLexer
83
83
  @intlink_lexer_table["\n"] = method(:match_newline_in_intlink)
84
84
  @intlink_lexer_table[":"] = method(:match_colon_in_intlink)
85
85
  @intlink_lexer_table["|"] = method(:match_pipe_in_intlink)
86
+ @intlink_lexer_table["C"] = method(:match_c_char_in_intlink)
87
+
88
+ # Lexer table used inside the category name of the left half of an
89
+ # internal link
90
+ @intlink_cat_lexer_table = {}
91
+ @intlink_cat_lexer_table["]"] = method(:match_right_square_in_intlink)
92
+ @intlink_cat_lexer_table["\r"] = method(:match_newline_in_intlink)
93
+ @intlink_cat_lexer_table["\n"] = method(:match_newline_in_intlink)
94
+ @intlink_cat_lexer_table["|"] = method(:match_pipe_in_intlink)
86
95
 
87
96
  # Lexer table used inside the right half of an internal link
88
97
  @intlink_opt_lexer_table = @formatting_lexer_table.dup
@@ -119,8 +128,12 @@ class MediaWikiLexer
119
128
  @pre_lexer_table["\n"] = method(:match_newline_in_pre)
120
129
 
121
130
  # Lexer table used when inside spans of wiki-escaped text
122
- @escape_lexer_table = {}
123
- @escape_lexer_table["<"] = method(:match_right_angle_in_tag)
131
+ @nowiki_lexer_table = {}
132
+ @nowiki_lexer_table["<"] = method(:match_left_angle_in_nowiki)
133
+
134
+ # Lexer table used when inside spans of math
135
+ @math_lexer_table = {}
136
+ @math_lexer_table["<"] = method(:match_left_angle_in_math)
124
137
 
125
138
  # Lexer table used when inside a wiki variable reference
126
139
  @variable_lexer_table = {}
@@ -251,7 +264,7 @@ class MediaWikiLexer
251
264
  end
252
265
  end
253
266
 
254
- def match_right_angle
267
+ def match_left_angle
255
268
  next_char = @text[@cursor + 1]
256
269
  if next_char == 47
257
270
  # Might be an XHTML end tag
@@ -278,7 +291,10 @@ class MediaWikiLexer
278
291
  if ((c = scanner.get_byte) == '>' or (c == '/' and scanner.get_byte == '>'))
279
292
  # Found an XHTML start or empty tag
280
293
  if tag_name == 'nowiki'
281
- @lexer_table.push(@escape_lexer_table)
294
+ @lexer_table.push(@nowiki_lexer_table)
295
+ elsif tag_name == 'math'
296
+ @lexer_table.push(@math_lexer_table)
297
+ start_span(:TAG, tag_name)
282
298
  else
283
299
  start_span(:TAG, tag_name)
284
300
  attrs.collect do
@@ -381,12 +397,25 @@ class MediaWikiLexer
381
397
  end
382
398
 
383
399
  def match_colon_in_intlink
400
+ if not @pending.is_empty_token?
401
+ @lexer_table.pop
402
+ @lexer_table.push(@resourcelink_opt_lexer_table)
403
+ end
384
404
  append_to_tokens([:RESOURCESEP, ":"])
385
- @lexer_table.pop
386
- @lexer_table.push(@resourcelink_opt_lexer_table)
387
405
  @cursor += 1
388
406
  end
389
407
 
408
+ def match_c_char_in_intlink
409
+ if @text[@cursor, 9] == 'Category:'
410
+ append_to_tokens([:CATEGORY, 'Category:'])
411
+ @lexer_table.pop
412
+ @lexer_table.push(@intlink_cat_lexer_table)
413
+ @cursor += 9
414
+ else
415
+ match_text
416
+ end
417
+ end
418
+
390
419
  def match_newline_in_link
391
420
  end_span(:LINK)
392
421
  @lexer_table.pop
@@ -398,7 +427,7 @@ class MediaWikiLexer
398
427
  end
399
428
 
400
429
  def match_h_char
401
- if @text[@cursor, 7] == 'http://'
430
+ if @text[@cursor, 7] == 'http://' || @text[@cursor, 8] == 'https://'
402
431
  text = @text[@cursor, 7]
403
432
  @cursor += 7
404
433
  while @cursor < @text.size and TOKEN_CHAR_TABLE[@text[@cursor]] do
@@ -509,7 +538,7 @@ class MediaWikiLexer
509
538
  end
510
539
  end
511
540
 
512
- def match_right_angle_in_tag
541
+ def match_left_angle_in_nowiki
513
542
  if @text[@cursor, 9] == '</nowiki>'
514
543
  @cursor += 9
515
544
  @lexer_table.pop
@@ -518,6 +547,16 @@ class MediaWikiLexer
518
547
  end
519
548
  end
520
549
 
550
+ def match_left_angle_in_math
551
+ if @text[@cursor, 7] == '</math>'
552
+ end_span(:TAG, 'math')
553
+ @cursor += 7
554
+ @lexer_table.pop
555
+ else
556
+ match_text
557
+ end
558
+ end
559
+
521
560
  def match_left_curly
522
561
  if at_start_of_line? and @text[@cursor + 1, 1] == '|'
523
562
  start_span(:TABLE, "{|")
@@ -56,6 +56,13 @@ class MediaWikiLinkHandler
56
56
  "<a href=\"javascript:void(0)\">#{prefix}:#{resource}(#{options.join(', ')})</a>"
57
57
  end
58
58
 
59
+ def category_add(name, sort)
60
+ end
61
+
62
+ def link_for_category(category, text)
63
+ "<a href=\"javascript:void(0)\">#{text}</a>"
64
+ end
65
+
59
66
  protected
60
67
 
61
68
  #A Builder object for rendering XHTML code without having to deal directly
@@ -12,7 +12,7 @@ require 'mediacloth/mediawikiast'
12
12
 
13
13
  class MediaWikiParser < Racc::Parser
14
14
 
15
- module_eval <<'..end mediawikiparser.y modeval..id6b37ece63a', 'mediawikiparser.y', 474
15
+ module_eval <<'..end mediawikiparser.y modeval..id82fc340af4', 'mediawikiparser.y', 498
16
16
 
17
17
  attr_accessor :lexer
18
18
 
@@ -33,405 +33,417 @@ end
33
33
  def next_token
34
34
  return @lexer.lex
35
35
  end
36
- ..end mediawikiparser.y modeval..id6b37ece63a
36
+ ..end mediawikiparser.y modeval..id82fc340af4
37
37
 
38
38
  ##### racc 1.4.5 generates ###
39
39
 
40
40
  racc_reduce_table = [
41
41
  0, 0, :racc_error,
42
- 1, 53, :_reduce_1,
43
- 1, 55, :_reduce_2,
44
- 1, 55, :_reduce_3,
45
- 1, 55, :_reduce_4,
46
- 1, 55, :_reduce_5,
47
- 1, 55, :_reduce_6,
48
- 1, 55, :_reduce_7,
49
- 1, 55, :_reduce_8,
50
- 1, 55, :_reduce_9,
51
- 1, 55, :_reduce_10,
52
- 3, 55, :_reduce_11,
53
- 3, 55, :_reduce_12,
54
- 6, 55, :_reduce_13,
55
- 4, 55, :_reduce_14,
56
- 1, 55, :_reduce_none,
57
- 0, 64, :_reduce_16,
58
- 1, 64, :_reduce_17,
59
- 3, 62, :_reduce_18,
60
- 4, 62, :_reduce_19,
61
- 0, 69, :_reduce_20,
62
- 2, 69, :_reduce_21,
63
- 3, 69, :_reduce_22,
64
- 1, 65, :_reduce_23,
65
- 3, 65, :_reduce_24,
66
- 1, 70, :_reduce_25,
67
- 3, 70, :_reduce_26,
68
- 0, 67, :_reduce_27,
69
- 2, 67, :_reduce_28,
70
- 0, 66, :_reduce_29,
71
- 2, 66, :_reduce_30,
72
- 3, 66, :_reduce_31,
73
- 1, 54, :_reduce_32,
74
- 2, 54, :_reduce_33,
75
- 1, 56, :_reduce_34,
76
- 1, 56, :_reduce_35,
77
- 3, 68, :_reduce_36,
78
- 4, 68, :_reduce_37,
79
- 0, 73, :_reduce_38,
80
- 4, 73, :_reduce_39,
81
- 5, 73, :_reduce_40,
82
- 0, 74, :_reduce_41,
83
- 3, 74, :_reduce_42,
84
- 4, 74, :_reduce_43,
85
- 3, 74, :_reduce_44,
86
- 4, 74, :_reduce_45,
87
- 1, 71, :_reduce_46,
88
- 1, 71, :_reduce_47,
89
- 1, 71, :_reduce_48,
90
- 1, 71, :_reduce_49,
91
- 1, 71, :_reduce_50,
92
- 1, 71, :_reduce_51,
93
- 2, 72, :_reduce_52,
94
- 2, 72, :_reduce_53,
95
- 3, 72, :_reduce_54,
96
- 3, 72, :_reduce_55,
97
- 4, 57, :_reduce_56,
98
- 4, 58, :_reduce_57,
99
- 0, 77, :_reduce_58,
100
- 3, 76, :_reduce_59,
101
- 0, 76, :_reduce_60,
102
- 2, 75, :_reduce_61,
103
- 3, 75, :_reduce_62,
104
- 4, 59, :_reduce_63,
105
- 3, 59, :_reduce_64,
106
- 2, 78, :_reduce_65,
107
- 3, 78, :_reduce_66,
108
- 2, 79, :_reduce_67,
109
- 0, 79, :_reduce_68,
42
+ 1, 54, :_reduce_1,
43
+ 1, 56, :_reduce_2,
44
+ 1, 56, :_reduce_3,
45
+ 1, 56, :_reduce_4,
46
+ 1, 56, :_reduce_5,
47
+ 1, 56, :_reduce_6,
48
+ 1, 56, :_reduce_7,
49
+ 1, 56, :_reduce_8,
50
+ 1, 56, :_reduce_9,
51
+ 1, 56, :_reduce_10,
52
+ 3, 56, :_reduce_11,
53
+ 3, 56, :_reduce_12,
54
+ 6, 56, :_reduce_13,
55
+ 4, 56, :_reduce_14,
56
+ 5, 56, :_reduce_15,
57
+ 6, 56, :_reduce_16,
58
+ 1, 56, :_reduce_none,
59
+ 0, 65, :_reduce_18,
60
+ 1, 65, :_reduce_19,
61
+ 3, 63, :_reduce_20,
62
+ 4, 63, :_reduce_21,
63
+ 0, 71, :_reduce_22,
64
+ 2, 71, :_reduce_23,
65
+ 3, 71, :_reduce_24,
66
+ 1, 66, :_reduce_25,
67
+ 3, 66, :_reduce_26,
68
+ 1, 72, :_reduce_27,
69
+ 3, 72, :_reduce_28,
70
+ 0, 68, :_reduce_29,
71
+ 2, 68, :_reduce_30,
72
+ 0, 69, :_reduce_31,
73
+ 2, 69, :_reduce_32,
74
+ 0, 67, :_reduce_33,
75
+ 2, 67, :_reduce_34,
76
+ 3, 67, :_reduce_35,
77
+ 1, 55, :_reduce_36,
78
+ 2, 55, :_reduce_37,
79
+ 1, 57, :_reduce_38,
80
+ 1, 57, :_reduce_39,
81
+ 3, 70, :_reduce_40,
82
+ 4, 70, :_reduce_41,
83
+ 0, 75, :_reduce_42,
84
+ 4, 75, :_reduce_43,
85
+ 5, 75, :_reduce_44,
86
+ 0, 76, :_reduce_45,
87
+ 3, 76, :_reduce_46,
88
+ 4, 76, :_reduce_47,
89
+ 3, 76, :_reduce_48,
90
+ 4, 76, :_reduce_49,
91
+ 1, 73, :_reduce_50,
92
+ 1, 73, :_reduce_51,
93
+ 1, 73, :_reduce_52,
94
+ 1, 73, :_reduce_53,
95
+ 1, 73, :_reduce_54,
96
+ 1, 73, :_reduce_55,
97
+ 2, 74, :_reduce_56,
98
+ 2, 74, :_reduce_57,
99
+ 3, 74, :_reduce_58,
100
+ 3, 74, :_reduce_59,
101
+ 4, 58, :_reduce_60,
102
+ 4, 59, :_reduce_61,
103
+ 0, 79, :_reduce_62,
104
+ 3, 78, :_reduce_63,
105
+ 0, 78, :_reduce_64,
106
+ 2, 77, :_reduce_65,
107
+ 3, 77, :_reduce_66,
108
+ 4, 60, :_reduce_67,
109
+ 3, 60, :_reduce_68,
110
110
  2, 80, :_reduce_69,
111
111
  3, 80, :_reduce_70,
112
- 3, 60, :_reduce_71,
113
- 3, 61, :_reduce_72,
114
- 3, 63, :_reduce_73 ]
112
+ 2, 81, :_reduce_71,
113
+ 0, 81, :_reduce_72,
114
+ 2, 82, :_reduce_73,
115
+ 3, 82, :_reduce_74,
116
+ 3, 61, :_reduce_75,
117
+ 3, 62, :_reduce_76,
118
+ 3, 64, :_reduce_77 ]
115
119
 
116
- racc_reduce_n = 74
120
+ racc_reduce_n = 78
117
121
 
118
- racc_shift_n = 135
122
+ racc_shift_n = 146
119
123
 
120
124
  racc_action_table = [
121
- 5, 10, 51, 15, 81, 24, 83, 81, 33, 83,
122
- 112, 81, 8, 83, 16, 21, 82, 26, 30, 32,
123
- 1, 3, 81, 9, 83, 14, 54, 98, 56, 29,
124
- 81, 75, 83, 93, 95, 12, 43, 5, 10, 27,
125
- 15, 101, 24, 53, -60, 33, 104, 18, 20, 8,
126
- 77, 16, 21, 92, 26, 30, 32, 1, 3, 81,
127
- 9, 83, 14, 43, 72, -60, 29, 110, 62, 38,
128
- 60, 59, 12, 115, 5, 10, 27, 15, 116, 24,
129
- -58, 56, 33, 90, 18, 20, 8, 78, 16, 21,
130
- 121, 26, 30, 32, 1, 3, 56, 9, 49, 14,
131
- 53, 47, 126, 29, 38, 53, 53, 80, 131, 12,
132
- 43, 38, nil, 27, nil, 5, 10, nil, 15, nil,
133
- 24, 18, 20, 33, nil, 126, nil, 8, nil, 16,
134
- 21, nil, 26, 30, 32, 1, 3, nil, 9, nil,
125
+ 61, 5, 9, 52, 15, 83, 23, 85, 118, 33,
126
+ 84, 60, 83, 7, 85, 16, 20, 40, 25, 30,
127
+ 32, 1, 4, 83, 8, 85, 14, 83, 80, 85,
128
+ 29, 83, 55, 85, 56, 79, 11, 44, 74, 44,
129
+ 26, 95, 97, 105, 54, 77, 108, -64, 17, 19,
130
+ 62, 5, 9, 83, 15, 85, 23, 99, 98, 33,
131
+ 114, -64, 64, 7, 117, 16, 20, 100, 25, 30,
132
+ 32, 1, 4, 63, 8, 120, 14, 121, 94, -62,
133
+ 29, 56, 51, 92, 128, 48, 11, 56, 5, 9,
134
+ 26, 15, 54, 23, 95, 40, 33, 133, 17, 19,
135
+ 7, 135, 16, 20, 136, 25, 30, 32, 1, 4,
136
+ 44, 8, 54, 14, 54, 82, 141, 29, 40, 144,
137
+ 122, nil, nil, 11, nil, nil, nil, 26, nil, 5,
138
+ 9, nil, 15, nil, 23, 17, 19, 33, nil, 133,
139
+ nil, 7, nil, 16, 20, nil, 25, 30, 32, 1,
140
+ 4, nil, 8, nil, 14, nil, nil, nil, 29, nil,
141
+ nil, nil, nil, nil, 11, nil, nil, nil, 26, nil,
142
+ 5, 9, 42, 15, nil, 23, 17, 19, 33, nil,
143
+ nil, nil, 7, nil, 16, 20, nil, 25, 30, 32,
144
+ 1, 4, nil, 8, nil, 14, nil, nil, nil, 29,
145
+ nil, nil, nil, nil, nil, 11, nil, 5, 9, 26,
146
+ 15, nil, 23, nil, nil, 33, nil, 17, 19, 7,
147
+ nil, 16, 20, nil, 25, 30, 32, 1, 4, nil,
148
+ 8, nil, 14, nil, nil, nil, 29, nil, nil, nil,
149
+ nil, nil, 11, nil, 5, 9, 26, 15, nil, 23,
150
+ nil, nil, 33, nil, 17, 19, 7, nil, 16, 20,
151
+ nil, 25, 30, 32, 1, 4, nil, 8, nil, 14,
152
+ nil, nil, nil, 29, nil, nil, nil, nil, nil, 11,
153
+ nil, 5, 9, 26, 15, 47, 23, nil, nil, 33,
154
+ nil, 17, 19, 7, nil, 16, 20, nil, 25, 30,
155
+ 32, 1, 4, nil, 8, nil, 14, nil, nil, nil,
156
+ 29, nil, nil, nil, nil, nil, 11, nil, 5, 9,
157
+ 26, 15, nil, 23, nil, nil, 33, nil, 17, 19,
158
+ 7, nil, 16, 20, nil, 25, 30, 32, 1, 4,
159
+ nil, 8, nil, 14, nil, nil, nil, 29, nil, nil,
160
+ nil, nil, nil, 11, nil, 5, 9, 26, 15, nil,
161
+ 23, nil, nil, 33, 129, 17, 19, 7, nil, 16,
162
+ 20, nil, 25, 30, 32, 1, 4, nil, 8, nil,
135
163
  14, nil, nil, nil, 29, nil, nil, nil, nil, nil,
136
- 12, nil, nil, nil, 27, nil, 5, 10, 40, 15,
137
- nil, 24, 18, 20, 33, nil, nil, nil, 8, nil,
138
- 16, 21, nil, 26, 30, 32, 1, 3, nil, 9,
139
- nil, 14, nil, nil, nil, 29, nil, nil, nil, nil,
140
- nil, 12, nil, nil, nil, 27, nil, 5, 10, nil,
141
- 15, nil, 24, 18, 20, 33, nil, 126, nil, 8,
142
- nil, 16, 21, nil, 26, 30, 32, 1, 3, nil,
143
- 9, nil, 14, nil, nil, nil, 29, nil, nil, nil,
144
- nil, nil, 12, nil, 5, 10, 27, 15, nil, 24,
145
- nil, nil, 33, nil, 18, 20, 8, nil, 16, 21,
146
- nil, 26, 30, 32, 1, 3, nil, 9, nil, 14,
147
- nil, nil, nil, 29, nil, nil, nil, nil, nil, 12,
148
- nil, 5, 10, 27, 15, 45, 24, nil, nil, 33,
149
- nil, 18, 20, 8, nil, 16, 21, nil, 26, 30,
150
- 32, 1, 3, nil, 9, nil, 14, nil, nil, nil,
151
- 29, nil, nil, nil, nil, nil, 12, nil, 5, 10,
152
- 27, 15, nil, 24, nil, nil, 33, nil, 18, 20,
153
- 8, nil, 16, 21, nil, 26, 30, 32, 1, 3,
154
- nil, 9, nil, 14, nil, nil, nil, 29, nil, nil,
155
- nil, nil, nil, 12, nil, 5, 10, 27, 15, nil,
156
- 24, nil, nil, 33, nil, 18, 20, 8, nil, 16,
157
- 21, nil, 26, 30, 32, 1, 3, nil, 9, nil,
158
- 14, nil, nil, nil, 29, nil, nil, nil, nil, nil,
159
- 12, nil, 5, 10, 27, 15, nil, 24, nil, nil,
160
- 33, nil, 18, 20, 8, nil, 16, 21, nil, 26,
161
- 30, 32, 1, 3, nil, 9, nil, 14, nil, nil,
162
- nil, 29, nil, nil, nil, nil, nil, 12, nil, 5,
163
- 10, 27, 15, nil, 24, nil, nil, 33, 123, 18,
164
- 20, 8, nil, 16, 21, nil, 26, 30, 32, 1,
165
- 3, nil, 9, nil, 14, nil, nil, nil, 29, nil,
166
- nil, nil, nil, nil, 12, nil, nil, nil, 27, nil,
167
- nil, nil, nil, 120, nil, nil, 18, 20, 5, 10,
168
- nil, 15, nil, 24, nil, 118, 33, nil, nil, nil,
169
- 8, nil, 16, 21, nil, 26, 30, 32, 1, 3,
170
- nil, 9, nil, 14, nil, nil, nil, 29, nil, nil,
171
- nil, nil, nil, 12, nil, 5, 10, 27, 15, nil,
172
- 24, nil, nil, 33, nil, 18, 20, 8, nil, 16,
173
- 21, nil, 26, 30, 32, 1, 3, nil, 9, nil,
164
+ 11, nil, 5, 9, 26, 15, nil, 23, nil, nil,
165
+ 33, nil, 17, 19, 7, nil, 16, 20, nil, 25,
166
+ 30, 32, 1, 4, nil, 8, nil, 14, nil, nil,
167
+ nil, 29, nil, nil, nil, nil, nil, 11, nil, nil,
168
+ nil, 26, nil, nil, nil, nil, 126, nil, nil, 17,
169
+ 19, 5, 9, nil, 15, nil, 23, nil, 125, 33,
170
+ nil, nil, nil, 7, nil, 16, 20, nil, 25, 30,
171
+ 32, 1, 4, nil, 8, nil, 14, nil, nil, nil,
172
+ 29, nil, nil, nil, nil, nil, 11, nil, 5, 9,
173
+ 26, 15, nil, 23, nil, nil, 33, nil, 17, 19,
174
+ 7, nil, 16, 20, nil, 25, 30, 32, 1, 4,
175
+ nil, 8, nil, 14, nil, nil, nil, 29, nil, nil,
176
+ 88, nil, nil, 11, nil, 5, 9, 26, 15, nil,
177
+ 23, nil, nil, 33, nil, 17, 19, 7, nil, 16,
178
+ 20, nil, 25, 30, 32, 1, 4, nil, 8, nil,
174
179
  14, nil, nil, nil, 29, nil, nil, nil, nil, nil,
175
- 12, nil, 5, 10, 27, 15, nil, 24, nil, nil,
176
- 33, nil, 18, 20, 8, nil, 16, 21, nil, 26,
177
- 30, 32, 1, 3, nil, 9, nil, 14, nil, nil,
178
- nil, 29, nil, nil, nil, nil, 113, 12, nil, 5,
179
- 10, 27, 15, nil, 24, nil, nil, 33, nil, 18,
180
- 20, 8, nil, 16, 21, nil, 26, 30, 32, 1,
181
- 3, nil, 9, nil, 14, nil, nil, nil, 29, nil,
182
- nil, nil, nil, nil, 12, nil, 5, 10, 27, 15,
183
- nil, 24, nil, nil, 33, nil, 18, 20, 8, nil,
184
- 16, 21, nil, 26, 30, 32, 1, 3, nil, 9,
185
- nil, 14, nil, nil, nil, 29, nil, nil, 111, nil,
186
- nil, 12, nil, 5, 10, 27, 15, nil, 24, nil,
187
- nil, 33, nil, 18, 20, 8, nil, 16, 21, nil,
188
- 26, 30, 32, 1, 3, nil, 9, nil, 14, nil,
189
- nil, nil, 29, nil, nil, nil, nil, nil, 12, nil,
190
- 5, 10, 27, 15, nil, 24, nil, nil, 33, nil,
191
- 18, 20, 8, nil, 16, 21, nil, 26, 30, 32,
192
- 1, 3, nil, 9, nil, 14, nil, nil, nil, 29,
193
- nil, nil, 85, nil, nil, 12, nil, 5, 10, 27,
194
- 15, nil, 24, nil, nil, 33, nil, 18, 20, 8,
195
- nil, 16, 21, nil, 26, 30, 32, 1, 3, nil,
196
- 9, nil, 14, nil, nil, 64, 29, nil, nil, nil,
197
- nil, nil, 12, nil, 5, 10, 27, 15, nil, 24,
198
- nil, nil, 33, nil, 18, 20, 8, nil, 16, 21,
199
- nil, 26, 30, 32, 1, 3, nil, 9, nil, 14,
200
- nil, nil, nil, 29, nil, nil, nil, nil, nil, 12,
201
- nil, nil, nil, 27, nil, nil, nil, nil, nil, nil,
202
- 108, 18, 20, 5, 10, 68, 15, nil, 24, nil,
203
- nil, 33, nil, nil, nil, 8, nil, 16, 21, nil,
204
- 26, 30, 32, 1, 3, nil, 9, nil, 14, nil,
205
- nil, nil, 29, nil, nil, nil, nil, nil, 12, nil,
206
- 5, 10, 27, 15, nil, 24, nil, nil, 33, nil,
207
- 18, 20, 8, nil, 16, 21, nil, 26, 30, 32,
208
- 1, 3, nil, 9, nil, 14, nil, nil, nil, 29,
209
- nil, nil, nil, nil, nil, 12, 69, 5, 10, 27,
210
- 15, nil, 24, nil, nil, 33, nil, 18, 20, 8,
211
- nil, 16, 21, nil, 26, 30, 32, 1, 3, nil,
212
- 9, nil, 14, nil, nil, nil, 29, nil, nil, nil,
213
- nil, nil, 12, nil, 5, 10, 27, 15, nil, 24,
214
- nil, 105, 33, nil, 18, 20, 8, nil, 16, 21,
215
- nil, 26, 30, 32, 1, 3, nil, 9, nil, 14,
216
- nil, nil, nil, 29, nil, nil, nil, nil, nil, 12,
217
- nil, 5, 10, 27, 15, 74, 24, nil, nil, 33,
218
- nil, 18, 20, 8, nil, 16, 21, nil, 26, 30,
219
- 32, 1, 3, nil, 9, nil, 14, nil, nil, nil,
220
- 29, nil, nil, nil, nil, nil, 12, nil, 5, 10,
221
- 27, 15, nil, 24, nil, nil, 33, nil, 18, 20,
222
- 8, nil, 16, 21, nil, 26, 30, 32, 1, 3,
223
- nil, 9, nil, 14, nil, nil, nil, 29, nil, nil,
224
- nil, nil, nil, 12, 99, 5, 10, 27, 15, nil,
225
- 24, nil, nil, 33, nil, 18, 20, 8, nil, 16,
226
- 21, 76, 26, 30, 32, 1, 3, nil, 9, nil,
180
+ 11, nil, 5, 9, 26, 15, nil, 23, nil, nil,
181
+ 33, nil, 17, 19, 7, nil, 16, 20, nil, 25,
182
+ 30, 32, 1, 4, nil, 8, nil, 14, nil, nil,
183
+ nil, 29, nil, nil, nil, nil, nil, 11, nil, 5,
184
+ 9, 26, 15, nil, 23, nil, nil, 33, nil, 17,
185
+ 19, 7, nil, 16, 20, nil, 25, 30, 32, 1,
186
+ 4, nil, 8, nil, 14, nil, nil, nil, 29, nil,
187
+ nil, nil, nil, nil, 11, nil, 5, 9, 26, 15,
188
+ nil, 23, nil, nil, 33, nil, 17, 19, 7, nil,
189
+ 16, 20, nil, 25, 30, 32, 1, 4, nil, 8,
190
+ nil, 14, nil, nil, nil, 29, nil, nil, nil, nil,
191
+ 116, 11, nil, 5, 9, 26, 15, nil, 23, nil,
192
+ nil, 33, nil, 17, 19, 7, 65, 16, 20, nil,
193
+ 25, 30, 32, 1, 4, nil, 8, nil, 14, nil,
194
+ nil, nil, 29, nil, nil, nil, nil, nil, 11, nil,
195
+ 5, 9, 26, 15, nil, 23, nil, nil, 33, nil,
196
+ 17, 19, 7, nil, 16, 20, nil, 25, 30, 32,
197
+ 1, 4, nil, 8, nil, 14, nil, nil, nil, 29,
198
+ nil, nil, 115, nil, nil, 11, nil, 5, 9, 26,
199
+ 15, nil, 23, nil, nil, 33, nil, 17, 19, 7,
200
+ nil, 16, 20, nil, 25, 30, 32, 1, 4, nil,
201
+ 8, nil, 14, nil, nil, 69, 29, nil, nil, nil,
202
+ nil, nil, 11, nil, nil, nil, 26, nil, 5, 9,
203
+ 70, 15, nil, 23, 17, 19, 33, nil, nil, nil,
204
+ 7, nil, 16, 20, nil, 25, 30, 32, 1, 4,
205
+ nil, 8, nil, 14, nil, nil, nil, 29, nil, nil,
206
+ nil, nil, nil, 11, nil, 5, 9, 26, 15, nil,
207
+ 23, nil, nil, 33, nil, 17, 19, 7, nil, 16,
208
+ 20, nil, 25, 30, 32, 1, 4, nil, 8, nil,
227
209
  14, nil, nil, nil, 29, nil, nil, nil, nil, nil,
228
- 12, nil, 5, 10, 27, 15, nil, 24, nil, nil,
229
- 33, nil, 18, 20, 8, nil, 16, 21, nil, 26,
230
- 30, 32, 1, 3, nil, 9, nil, 14, nil, nil,
231
- 96, 29, nil, nil, nil, nil, nil, 12, nil, 5,
232
- 10, 27, 15, nil, 24, nil, nil, 33, nil, 18,
233
- 20, 8, nil, 16, 21, nil, 26, 30, 32, 1,
234
- 3, nil, 9, nil, 14, nil, nil, nil, 29, nil,
235
- nil, nil, nil, 88, 12, nil, 5, 10, 27, 15,
236
- nil, 24, nil, nil, 33, nil, 18, 20, 8, 63,
237
- 16, 21, nil, 26, 30, 32, 1, 3, nil, 9,
210
+ 11, 72, 5, 9, 26, 15, nil, 23, nil, nil,
211
+ 33, nil, 17, 19, 7, nil, 16, 20, nil, 25,
212
+ 30, 32, 1, 4, nil, 8, nil, 14, nil, nil,
213
+ nil, 29, nil, nil, nil, nil, nil, 11, nil, 5,
214
+ 9, 26, 15, nil, 23, nil, nil, 33, 113, 17,
215
+ 19, 7, nil, 16, 20, nil, 25, 30, 32, 1,
216
+ 4, nil, 8, nil, 14, nil, nil, nil, 29, nil,
217
+ nil, nil, nil, nil, 11, nil, 5, 9, 26, 15,
218
+ 76, 23, nil, 110, 33, nil, 17, 19, 7, nil,
219
+ 16, 20, nil, 25, 30, 32, 1, 4, nil, 8,
238
220
  nil, 14, nil, nil, nil, 29, nil, nil, nil, nil,
239
- nil, 12, nil, nil, nil, 27, nil, nil, nil, nil,
240
- nil, nil, nil, 18, 20 ]
221
+ nil, 11, nil, 5, 9, 26, 15, nil, 23, nil,
222
+ nil, 33, nil, 17, 19, 7, nil, 16, 20, nil,
223
+ 25, 30, 32, 1, 4, nil, 8, nil, 14, nil,
224
+ nil, nil, 29, nil, nil, nil, nil, nil, 11, nil,
225
+ 5, 9, 26, 15, nil, 23, nil, nil, 33, nil,
226
+ 17, 19, 7, nil, 16, 20, 78, 25, 30, 32,
227
+ 1, 4, nil, 8, nil, 14, nil, nil, nil, 29,
228
+ nil, nil, nil, nil, nil, 11, nil, 5, 9, 26,
229
+ 15, nil, 23, nil, nil, 33, nil, 17, 19, 7,
230
+ nil, 16, 20, nil, 25, 30, 32, 1, 4, nil,
231
+ 8, nil, 14, nil, nil, nil, 29, nil, nil, nil,
232
+ nil, nil, 11, 103, 5, 9, 26, 15, nil, 23,
233
+ nil, nil, 33, nil, 17, 19, 7, nil, 16, 20,
234
+ nil, 25, 30, 32, 1, 4, nil, 8, nil, 14,
235
+ nil, nil, 102, 29, nil, nil, nil, nil, nil, 11,
236
+ nil, 5, 9, 26, 15, nil, 23, nil, nil, 33,
237
+ nil, 17, 19, 7, nil, 16, 20, nil, 25, 30,
238
+ 32, 1, 4, nil, 8, nil, 14, nil, nil, nil,
239
+ 29, nil, nil, nil, nil, 90, 11, nil, nil, nil,
240
+ 26, nil, 5, 9, nil, 15, nil, 23, 17, 19,
241
+ 33, nil, 133, nil, 7, nil, 16, 20, nil, 25,
242
+ 30, 32, 1, 4, nil, 8, nil, 14, nil, nil,
243
+ nil, 29, nil, nil, nil, nil, nil, 11, nil, nil,
244
+ nil, 26, nil, nil, nil, nil, nil, nil, nil, 17,
245
+ 19 ]
241
246
 
242
247
  racc_action_check = [
243
- 0, 0, 27, 0, 108, 0, 108, 120, 0, 120,
244
- 87, 123, 0, 123, 0, 0, 53, 0, 0, 0,
245
- 0, 0, 82, 0, 82, 0, 29, 67, 29, 0,
246
- 105, 47, 105, 60, 60, 0, 72, 3, 3, 0,
247
- 3, 73, 3, 27, 44, 3, 79, 0, 0, 3,
248
- 49, 3, 3, 59, 3, 3, 3, 3, 3, 53,
249
- 3, 53, 3, 43, 43, 39, 3, 84, 35, 66,
250
- 33, 31, 3, 94, 8, 8, 3, 8, 95, 8,
251
- 97, 58, 8, 57, 3, 3, 8, 50, 8, 8,
252
- 107, 8, 8, 8, 8, 8, 55, 8, 24, 8,
253
- 110, 20, 116, 8, 14, 51, 121, 52, 125, 8,
254
- 12, 9, nil, 8, nil, 133, 133, nil, 133, nil,
255
- 133, 8, 8, 133, nil, 133, nil, 133, nil, 133,
256
- 133, nil, 133, 133, 133, 133, 133, nil, 133, nil,
257
- 133, nil, nil, nil, 133, nil, nil, nil, nil, nil,
258
- 133, nil, nil, nil, 133, nil, 10, 10, 10, 10,
259
- nil, 10, 133, 133, 10, nil, nil, nil, 10, nil,
260
- 10, 10, nil, 10, 10, 10, 10, 10, nil, 10,
261
- nil, 10, nil, nil, nil, 10, nil, nil, nil, nil,
262
- nil, 10, nil, nil, nil, 10, nil, 126, 126, nil,
263
- 126, nil, 126, 10, 10, 126, nil, 126, nil, 126,
264
- nil, 126, 126, nil, 126, 126, 126, 126, 126, nil,
265
- 126, nil, 126, nil, nil, nil, 126, nil, nil, nil,
266
- nil, nil, 126, nil, 118, 118, 126, 118, nil, 118,
267
- nil, nil, 118, nil, 126, 126, 118, nil, 118, 118,
268
- nil, 118, 118, 118, 118, 118, nil, 118, nil, 118,
269
- nil, nil, nil, 118, nil, nil, nil, nil, nil, 118,
270
- nil, 15, 15, 118, 15, 15, 15, nil, nil, 15,
271
- nil, 118, 118, 15, nil, 15, 15, nil, 15, 15,
248
+ 33, 95, 95, 26, 95, 126, 95, 126, 94, 95,
249
+ 54, 33, 113, 95, 113, 95, 95, 67, 95, 95,
250
+ 95, 95, 95, 110, 95, 110, 95, 129, 51, 129,
251
+ 95, 84, 29, 84, 29, 50, 95, 44, 44, 74,
252
+ 95, 61, 61, 75, 26, 48, 81, 45, 95, 95,
253
+ 33, 4, 4, 54, 4, 54, 4, 63, 62, 4,
254
+ 86, 39, 37, 4, 91, 4, 4, 66, 4, 4,
255
+ 4, 4, 4, 34, 4, 96, 4, 97, 60, 101,
256
+ 4, 59, 23, 58, 111, 19, 4, 57, 7, 7,
257
+ 4, 7, 114, 7, 118, 14, 7, 121, 4, 4,
258
+ 7, 122, 7, 7, 123, 7, 7, 7, 7, 7,
259
+ 11, 7, 52, 7, 128, 53, 132, 7, 8, 134,
260
+ 98, nil, nil, 7, nil, nil, nil, 7, nil, 133,
261
+ 133, nil, 133, nil, 133, 7, 7, 133, nil, 133,
262
+ nil, 133, nil, 133, 133, nil, 133, 133, 133, 133,
263
+ 133, nil, 133, nil, 133, nil, nil, nil, 133, nil,
264
+ nil, nil, nil, nil, 133, nil, nil, nil, 133, nil,
265
+ 9, 9, 9, 9, nil, 9, 133, 133, 9, nil,
266
+ nil, nil, 9, nil, 9, 9, nil, 9, 9, 9,
267
+ 9, 9, nil, 9, nil, 9, nil, nil, nil, 9,
268
+ nil, nil, nil, nil, nil, 9, nil, 125, 125, 9,
269
+ 125, nil, 125, nil, nil, 125, nil, 9, 9, 125,
270
+ nil, 125, 125, nil, 125, 125, 125, 125, 125, nil,
271
+ 125, nil, 125, nil, nil, nil, 125, nil, nil, nil,
272
+ nil, nil, 125, nil, 119, 119, 125, 119, nil, 119,
273
+ nil, nil, 119, nil, 125, 125, 119, nil, 119, 119,
274
+ nil, 119, 119, 119, 119, 119, nil, 119, nil, 119,
275
+ nil, nil, nil, 119, nil, nil, nil, nil, nil, 119,
276
+ nil, 15, 15, 119, 15, 15, 15, nil, nil, 15,
277
+ nil, 119, 119, 15, nil, 15, 15, nil, 15, 15,
272
278
  15, 15, 15, nil, 15, nil, 15, nil, nil, nil,
273
- 15, nil, nil, nil, nil, nil, 15, nil, 114, 114,
274
- 15, 114, nil, 114, nil, nil, 114, nil, 15, 15,
275
- 114, nil, 114, 114, nil, 114, 114, 114, 114, 114,
276
- nil, 114, nil, 114, nil, nil, nil, 114, nil, nil,
277
- nil, nil, nil, 114, nil, 21, 21, 114, 21, nil,
278
- 21, nil, nil, 21, nil, 114, 114, 21, nil, 21,
279
- 21, nil, 21, 21, 21, 21, 21, nil, 21, nil,
280
- 21, nil, nil, nil, 21, nil, nil, nil, nil, nil,
281
- 21, nil, 109, 109, 21, 109, nil, 109, nil, nil,
282
- 109, nil, 21, 21, 109, nil, 109, 109, nil, 109,
279
+ 15, nil, nil, nil, nil, nil, 15, nil, 112, 112,
280
+ 15, 112, nil, 112, nil, nil, 112, nil, 15, 15,
281
+ 112, nil, 112, 112, nil, 112, 112, 112, 112, 112,
282
+ nil, 112, nil, 112, nil, nil, nil, 112, nil, nil,
283
+ nil, nil, nil, 112, nil, 20, 20, 112, 20, nil,
284
+ 20, nil, nil, 20, 112, 112, 112, 20, nil, 20,
285
+ 20, nil, 20, 20, 20, 20, 20, nil, 20, nil,
286
+ 20, nil, nil, nil, 20, nil, nil, nil, nil, nil,
287
+ 20, nil, 109, 109, 20, 109, nil, 109, nil, nil,
288
+ 109, nil, 20, 20, 109, nil, 109, 109, nil, 109,
283
289
  109, 109, 109, 109, nil, 109, nil, 109, nil, nil,
284
- nil, 109, nil, nil, nil, nil, nil, 109, nil, 106,
285
- 106, 109, 106, nil, 106, nil, nil, 106, 109, 109,
286
- 109, 106, nil, 106, 106, nil, 106, 106, 106, 106,
287
- 106, nil, 106, nil, 106, nil, nil, nil, 106, nil,
288
- nil, nil, nil, nil, 106, nil, nil, nil, 106, nil,
289
- nil, nil, nil, 106, nil, nil, 106, 106, 103, 103,
290
- nil, 103, nil, 103, nil, 103, 103, nil, nil, nil,
291
- 103, nil, 103, 103, nil, 103, 103, 103, 103, 103,
292
- nil, 103, nil, 103, nil, nil, nil, 103, nil, nil,
293
- nil, nil, nil, 103, nil, 93, 93, 103, 93, nil,
294
- 93, nil, nil, 93, nil, 103, 103, 93, nil, 93,
295
- 93, nil, 93, 93, 93, 93, 93, nil, 93, nil,
296
- 93, nil, nil, nil, 93, nil, nil, nil, nil, nil,
297
- 93, nil, 89, 89, 93, 89, nil, 89, nil, nil,
298
- 89, nil, 93, 93, 89, nil, 89, 89, nil, 89,
299
- 89, 89, 89, 89, nil, 89, nil, 89, nil, nil,
300
- nil, 89, nil, nil, nil, nil, 89, 89, nil, 34,
301
- 34, 89, 34, nil, 34, nil, nil, 34, nil, 89,
302
- 89, 34, nil, 34, 34, nil, 34, 34, 34, 34,
303
- 34, nil, 34, nil, 34, nil, nil, nil, 34, nil,
304
- nil, nil, nil, nil, 34, nil, 86, 86, 34, 86,
305
- nil, 86, nil, nil, 86, nil, 34, 34, 86, nil,
306
- 86, 86, nil, 86, 86, 86, 86, 86, nil, 86,
307
- nil, 86, nil, nil, nil, 86, nil, nil, 86, nil,
308
- nil, 86, nil, 36, 36, 86, 36, nil, 36, nil,
309
- nil, 36, nil, 86, 86, 36, nil, 36, 36, nil,
310
- 36, 36, 36, 36, 36, nil, 36, nil, 36, nil,
311
- nil, nil, 36, nil, nil, nil, nil, nil, 36, nil,
312
- 54, 54, 36, 54, nil, 54, nil, nil, 54, nil,
313
- 36, 36, 54, nil, 54, 54, nil, 54, 54, 54,
314
- 54, 54, nil, 54, nil, 54, nil, nil, nil, 54,
315
- nil, nil, 54, nil, nil, 54, nil, 38, 38, 54,
316
- 38, nil, 38, nil, nil, 38, nil, 54, 54, 38,
317
- nil, 38, 38, nil, 38, 38, 38, 38, 38, nil,
318
- 38, nil, 38, nil, nil, 38, 38, nil, nil, nil,
319
- nil, nil, 38, nil, 83, 83, 38, 83, nil, 83,
320
- nil, nil, 83, nil, 38, 38, 83, nil, 83, 83,
321
- nil, 83, 83, 83, 83, 83, nil, 83, nil, 83,
322
- nil, nil, nil, 83, nil, nil, nil, nil, nil, 83,
323
- nil, nil, nil, 83, nil, nil, nil, nil, nil, nil,
324
- 83, 83, 83, 41, 41, 41, 41, nil, 41, nil,
325
- nil, 41, nil, nil, nil, 41, nil, 41, 41, nil,
326
- 41, 41, 41, 41, 41, nil, 41, nil, 41, nil,
327
- nil, nil, 41, nil, nil, nil, nil, nil, 41, nil,
328
- 42, 42, 41, 42, nil, 42, nil, nil, 42, nil,
329
- 41, 41, 42, nil, 42, 42, nil, 42, 42, 42,
330
- 42, 42, nil, 42, nil, 42, nil, nil, nil, 42,
331
- nil, nil, nil, nil, nil, 42, 42, 81, 81, 42,
332
- 81, nil, 81, nil, nil, 81, nil, 42, 42, 81,
333
- nil, 81, 81, nil, 81, 81, 81, 81, 81, nil,
334
- 81, nil, 81, nil, nil, nil, 81, nil, nil, nil,
335
- nil, nil, 81, nil, 77, 77, 81, 77, nil, 77,
336
- nil, 81, 77, nil, 81, 81, 77, nil, 77, 77,
337
- nil, 77, 77, 77, 77, 77, nil, 77, nil, 77,
338
- nil, nil, nil, 77, nil, nil, nil, nil, nil, 77,
339
- nil, 46, 46, 77, 46, 46, 46, nil, nil, 46,
340
- nil, 77, 77, 46, nil, 46, 46, nil, 46, 46,
341
- 46, 46, 46, nil, 46, nil, 46, nil, nil, nil,
342
- 46, nil, nil, nil, nil, nil, 46, nil, 70, 70,
343
- 46, 70, nil, 70, nil, nil, 70, nil, 46, 46,
344
- 70, nil, 70, 70, nil, 70, 70, 70, 70, 70,
345
- nil, 70, nil, 70, nil, nil, nil, 70, nil, nil,
346
- nil, nil, nil, 70, 70, 48, 48, 70, 48, nil,
347
- 48, nil, nil, 48, nil, 70, 70, 48, nil, 48,
348
- 48, 48, 48, 48, 48, 48, 48, nil, 48, nil,
349
- 48, nil, nil, nil, 48, nil, nil, nil, nil, nil,
350
- 48, nil, 65, 65, 48, 65, nil, 65, nil, nil,
351
- 65, nil, 48, 48, 65, nil, 65, 65, nil, 65,
352
- 65, 65, 65, 65, nil, 65, nil, 65, nil, nil,
353
- 65, 65, nil, nil, nil, nil, nil, 65, nil, 56,
354
- 56, 65, 56, nil, 56, nil, nil, 56, nil, 65,
355
- 65, 56, nil, 56, 56, nil, 56, 56, 56, 56,
356
- 56, nil, 56, nil, 56, nil, nil, nil, 56, nil,
357
- nil, nil, nil, 56, 56, nil, 37, 37, 56, 37,
358
- nil, 37, nil, nil, 37, nil, 56, 56, 37, 37,
359
- 37, 37, nil, 37, 37, 37, 37, 37, nil, 37,
360
- nil, 37, nil, nil, nil, 37, nil, nil, nil, nil,
361
- nil, 37, nil, nil, nil, 37, nil, nil, nil, nil,
362
- nil, nil, nil, 37, 37 ]
290
+ nil, 109, nil, nil, nil, nil, nil, 109, nil, nil,
291
+ nil, 109, nil, nil, nil, nil, 109, nil, nil, 109,
292
+ 109, 106, 106, nil, 106, nil, 106, nil, 106, 106,
293
+ nil, nil, nil, 106, nil, 106, 106, nil, 106, 106,
294
+ 106, 106, 106, nil, 106, nil, 106, nil, nil, nil,
295
+ 106, nil, nil, nil, nil, nil, 106, nil, 55, 55,
296
+ 106, 55, nil, 55, nil, nil, 55, nil, 106, 106,
297
+ 55, nil, 55, 55, nil, 55, 55, 55, 55, 55,
298
+ nil, 55, nil, 55, nil, nil, nil, 55, nil, nil,
299
+ 55, nil, nil, 55, nil, 0, 0, 55, 0, nil,
300
+ 0, nil, nil, 0, nil, 55, 55, 0, nil, 0,
301
+ 0, nil, 0, 0, 0, 0, 0, nil, 0, nil,
302
+ 0, nil, nil, nil, 0, nil, nil, nil, nil, nil,
303
+ 0, nil, 2, 2, 0, 2, nil, 2, nil, nil,
304
+ 2, nil, 0, 0, 2, nil, 2, 2, nil, 2,
305
+ 2, 2, 2, 2, nil, 2, nil, 2, nil, nil,
306
+ nil, 2, nil, nil, nil, nil, nil, 2, nil, 36,
307
+ 36, 2, 36, nil, 36, nil, nil, 36, nil, 2,
308
+ 2, 36, nil, 36, 36, nil, 36, 36, 36, 36,
309
+ 36, nil, 36, nil, 36, nil, nil, nil, 36, nil,
310
+ nil, nil, nil, nil, 36, nil, 89, 89, 36, 89,
311
+ nil, 89, nil, nil, 89, nil, 36, 36, 89, nil,
312
+ 89, 89, nil, 89, 89, 89, 89, 89, nil, 89,
313
+ nil, 89, nil, nil, nil, 89, nil, nil, nil, nil,
314
+ 89, 89, nil, 38, 38, 89, 38, nil, 38, nil,
315
+ nil, 38, nil, 89, 89, 38, 38, 38, 38, nil,
316
+ 38, 38, 38, 38, 38, nil, 38, nil, 38, nil,
317
+ nil, nil, 38, nil, nil, nil, nil, nil, 38, nil,
318
+ 87, 87, 38, 87, nil, 87, nil, nil, 87, nil,
319
+ 38, 38, 87, nil, 87, 87, nil, 87, 87, 87,
320
+ 87, 87, nil, 87, nil, 87, nil, nil, nil, 87,
321
+ nil, nil, 87, nil, nil, 87, nil, 40, 40, 87,
322
+ 40, nil, 40, nil, nil, 40, nil, 87, 87, 40,
323
+ nil, 40, 40, nil, 40, 40, 40, 40, 40, nil,
324
+ 40, nil, 40, nil, nil, 40, 40, nil, nil, nil,
325
+ nil, nil, 40, nil, nil, nil, 40, nil, 41, 41,
326
+ 41, 41, nil, 41, 40, 40, 41, nil, nil, nil,
327
+ 41, nil, 41, 41, nil, 41, 41, 41, 41, 41,
328
+ nil, 41, nil, 41, nil, nil, nil, 41, nil, nil,
329
+ nil, nil, nil, 41, nil, 43, 43, 41, 43, nil,
330
+ 43, nil, nil, 43, nil, 41, 41, 43, nil, 43,
331
+ 43, nil, 43, 43, 43, 43, 43, nil, 43, nil,
332
+ 43, nil, nil, nil, 43, nil, nil, nil, nil, nil,
333
+ 43, 43, 85, 85, 43, 85, nil, 85, nil, nil,
334
+ 85, nil, 43, 43, 85, nil, 85, 85, nil, 85,
335
+ 85, 85, 85, 85, nil, 85, nil, 85, nil, nil,
336
+ nil, 85, nil, nil, nil, nil, nil, 85, nil, 83,
337
+ 83, 85, 83, nil, 83, nil, nil, 83, 85, 85,
338
+ 85, 83, nil, 83, 83, nil, 83, 83, 83, 83,
339
+ 83, nil, 83, nil, 83, nil, nil, nil, 83, nil,
340
+ nil, nil, nil, nil, 83, nil, 46, 46, 83, 46,
341
+ 46, 46, nil, 83, 46, nil, 83, 83, 46, nil,
342
+ 46, 46, nil, 46, 46, 46, 46, 46, nil, 46,
343
+ nil, 46, nil, nil, nil, 46, nil, nil, nil, nil,
344
+ nil, 46, nil, 80, 80, 46, 80, nil, 80, nil,
345
+ nil, 80, nil, 46, 46, 80, nil, 80, 80, nil,
346
+ 80, 80, 80, 80, 80, nil, 80, nil, 80, nil,
347
+ nil, nil, 80, nil, nil, nil, nil, nil, 80, nil,
348
+ 49, 49, 80, 49, nil, 49, nil, nil, 49, nil,
349
+ 80, 80, 49, nil, 49, 49, 49, 49, 49, 49,
350
+ 49, 49, nil, 49, nil, 49, nil, nil, nil, 49,
351
+ nil, nil, nil, nil, nil, 49, nil, 71, 71, 49,
352
+ 71, nil, 71, nil, nil, 71, nil, 49, 49, 71,
353
+ nil, 71, 71, nil, 71, 71, 71, 71, 71, nil,
354
+ 71, nil, 71, nil, nil, nil, 71, nil, nil, nil,
355
+ nil, nil, 71, 71, 68, 68, 71, 68, nil, 68,
356
+ nil, nil, 68, nil, 71, 71, 68, nil, 68, 68,
357
+ nil, 68, 68, 68, 68, 68, nil, 68, nil, 68,
358
+ nil, nil, 68, 68, nil, nil, nil, nil, nil, 68,
359
+ nil, 56, 56, 68, 56, nil, 56, nil, nil, 56,
360
+ nil, 68, 68, 56, nil, 56, 56, nil, 56, 56,
361
+ 56, 56, 56, nil, 56, nil, 56, nil, nil, nil,
362
+ 56, nil, nil, nil, nil, 56, 56, nil, nil, nil,
363
+ 56, nil, 142, 142, nil, 142, nil, 142, 56, 56,
364
+ 142, nil, 142, nil, 142, nil, 142, 142, nil, 142,
365
+ 142, 142, 142, 142, nil, 142, nil, 142, nil, nil,
366
+ nil, 142, nil, nil, nil, nil, nil, 142, nil, nil,
367
+ nil, 142, nil, nil, nil, nil, nil, nil, nil, 142,
368
+ 142 ]
363
369
 
364
370
  racc_action_pointer = [
365
- -2, nil, nil, 35, nil, nil, nil, nil, 72, 82,
366
- 154, nil, 71, nil, 75, 269, nil, nil, nil, nil,
367
- 99, 343, nil, nil, 96, nil, nil, 0, nil, -7,
368
- nil, 71, nil, 68, 577, 44, 651, 1144, 725, 39,
369
- nil, 811, 848, 24, 16, nil, 959, -20, 1033, 41,
370
- 79, 62, 65, 14, 688, 61, 1107, 51, 46, 53,
371
- 21, nil, nil, nil, nil, 1070, 40, 1, nil, nil,
372
- 996, nil, -3, 13, nil, nil, nil, 922, nil, 4,
373
- nil, 885, -23, 762, 23, nil, 614, -22, nil, 540,
374
- nil, nil, nil, 503, 62, 76, nil, 51, nil, nil,
375
- nil, nil, nil, 466, nil, -15, 417, 46, -41, 380,
376
- 57, nil, nil, nil, 306, nil, 90, nil, 232, nil,
377
- -38, 63, nil, -34, nil, 97, 195, nil, nil, nil,
378
- nil, nil, nil, 113, nil ]
371
+ 513, nil, 550, nil, 49, nil, nil, 86, 89, 168,
372
+ nil, 71, nil, nil, 66, 279, nil, nil, nil, 83,
373
+ 353, nil, nil, 80, nil, nil, 1, nil, nil, -1,
374
+ nil, nil, nil, -2, 73, nil, 587, 38, 661, 35,
375
+ 735, 776, nil, 813, -2, 19, 924, nil, -6, 998,
376
+ 27, 19, 69, 73, 8, 476, 1109, 52, 51, 46,
377
+ 26, 29, 56, 57, nil, nil, 41, -12, 1072, nil,
378
+ nil, 1035, nil, nil, 0, 15, nil, nil, nil, nil,
379
+ 961, 4, nil, 887, -14, 850, 16, 698, nil, 624,
380
+ nil, 32, nil, nil, 6, -1, 64, 75, 108, nil,
381
+ nil, 50, nil, nil, nil, nil, 439, nil, nil, 390,
382
+ -22, 40, 316, -33, 49, nil, nil, nil, 82, 242,
383
+ nil, 85, 99, 93, nil, 205, -40, nil, 71, -18,
384
+ nil, nil, 105, 127, 108, nil, nil, nil, nil, nil,
385
+ nil, nil, 1150, nil, nil, nil ]
379
386
 
380
387
  racc_action_default = [
381
- -74, -51, -32, -16, -2, -46, -15, -3, -74, -74,
382
- -74, -4, -20, -5, -74, -74, -48, -34, -10, -6,
383
- -74, -74, -35, -7, -74, -8, -47, -38, -9, -68,
384
- -50, -74, -49, -74, -1, -74, -17, -74, -74, -58,
385
- -52, -74, -74, -20, -58, -53, -74, -74, -74, -23,
386
- -74, -38, -74, -41, -74, -68, -74, -74, -68, -74,
387
- -27, -33, -11, -71, -61, -74, -74, -74, -54, -18,
388
- -74, -21, -20, -74, -55, -73, -72, -74, -12, -74,
389
- -36, -74, -41, -74, -74, -65, -74, -74, -69, -74,
390
- -64, -67, 135, -74, -74, -74, -62, -60, -56, -19,
391
- -22, -57, -24, -25, -37, -41, -74, -74, -41, -74,
392
- -38, -66, -63, -70, -28, -14, -29, -59, -74, -42,
393
- -41, -38, -44, -41, -39, -74, -29, -26, -43, -40,
394
- -45, -13, -30, -29, -31 ]
388
+ -78, -55, -1, -36, -18, -50, -2, -78, -78, -78,
389
+ -3, -22, -17, -4, -78, -78, -52, -10, -5, -78,
390
+ -78, -6, -38, -78, -7, -51, -42, -39, -8, -72,
391
+ -54, -9, -53, -78, -78, -37, -19, -78, -78, -62,
392
+ -78, -78, -56, -78, -22, -62, -78, -57, -78, -78,
393
+ -78, -25, -42, -78, -45, -78, -78, -72, -78, -72,
394
+ -78, -29, -78, -78, -11, -75, -78, -78, -78, -65,
395
+ -58, -78, -20, -23, -22, -78, -59, -77, -76, -12,
396
+ -78, -78, -40, -78, -45, -78, -78, -78, -69, -78,
397
+ -73, -78, -68, -71, -78, -78, -78, -78, -31, 146,
398
+ -60, -64, -66, -21, -24, -61, -27, -26, -41, -78,
399
+ -45, -78, -78, -45, -42, -70, -74, -67, -29, -30,
400
+ -14, -33, -78, -78, -63, -78, -45, -46, -42, -45,
401
+ -48, -43, -78, -33, -78, -32, -15, -28, -47, -44,
402
+ -49, -16, -33, -34, -13, -35 ]
395
403
 
396
404
  racc_goto_table = [
397
- 34, 52, 42, 36, 39, 84, 67, 102, 37, 44,
398
- 41, 73, 125, 35, 57, 46, 61, 50, 61, 61,
399
- 94, 48, 132, 61, 55, 79, 31, nil, 61, 134,
400
- 61, nil, nil, 71, 107, nil, nil, nil, 65, nil,
401
- 87, nil, 70, 91, nil, nil, nil, 61, 127, nil,
402
- nil, nil, 61, nil, 86, nil, 89, 119, nil, nil,
403
- 122, 97, 100, nil, 117, nil, nil, nil, 61, nil,
404
- nil, 61, 128, nil, nil, 130, nil, nil, nil, nil,
405
- nil, 106, nil, 109, 124, 61, nil, nil, 61, nil,
406
- nil, 61, nil, 114, nil, 129, 61, nil, nil, nil,
405
+ 35, 53, 58, 2, 43, 86, 96, 36, 66, 39,
406
+ 38, 107, 41, 37, 75, 45, 50, 134, 46, 123,
407
+ 57, 34, nil, 49, nil, nil, nil, 81, nil, 143,
408
+ 91, nil, 93, nil, 35, 111, 35, 73, 145, 35,
409
+ nil, nil, nil, 68, 35, nil, 71, 35, nil, nil,
410
+ nil, nil, nil, nil, nil, nil, 137, nil, 87, 89,
411
+ nil, 127, nil, 132, 130, nil, 35, 104, 101, 35,
412
+ 124, nil, nil, nil, nil, nil, nil, 138, nil, nil,
413
+ 140, nil, nil, nil, nil, 35, 109, 35, 112, 131,
414
+ nil, nil, nil, nil, nil, nil, nil, nil, 119, nil,
415
+ nil, nil, nil, 139, 35, nil, nil, 35, nil, nil,
416
+ 35, nil, nil, nil, nil, nil, nil, 35, nil, nil,
407
417
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
408
- nil, nil, nil, nil, nil, 61, nil, nil, nil, nil,
409
- nil, nil, nil, nil, nil, nil, 133 ]
418
+ nil, nil, nil, nil, nil, nil, 142, nil, nil, nil,
419
+ 35 ]
410
420
 
411
421
  racc_goto_check = [
412
- 2, 21, 17, 2, 23, 22, 24, 18, 2, 23,
413
- 2, 24, 14, 12, 27, 2, 3, 13, 3, 3,
414
- 15, 2, 14, 3, 26, 21, 1, nil, 3, 14,
415
- 3, nil, nil, 17, 22, nil, nil, nil, 2, nil,
416
- 27, nil, 2, 27, nil, nil, nil, 3, 18, nil,
417
- nil, nil, 3, nil, 2, nil, 2, 22, nil, nil,
418
- 22, 23, 17, nil, 24, nil, nil, nil, 3, nil,
419
- nil, 3, 22, nil, nil, 22, nil, nil, nil, nil,
420
- nil, 2, nil, 2, 21, 3, nil, nil, 3, nil,
421
- nil, 3, nil, 2, nil, 21, 3, nil, nil, nil,
422
+ 3, 22, 28, 2, 18, 23, 15, 2, 25, 24,
423
+ 2, 19, 2, 12, 25, 24, 13, 14, 2, 16,
424
+ 27, 1, nil, 2, nil, nil, nil, 22, nil, 14,
425
+ 28, nil, 28, nil, 3, 23, 3, 18, 14, 3,
426
+ nil, nil, nil, 2, 3, nil, 2, 3, nil, nil,
427
+ nil, nil, nil, nil, nil, nil, 19, nil, 2, 2,
428
+ nil, 23, nil, 15, 23, nil, 3, 18, 24, 3,
429
+ 25, nil, nil, nil, nil, nil, nil, 23, nil, nil,
430
+ 23, nil, nil, nil, nil, 3, 2, 3, 2, 22,
431
+ nil, nil, nil, nil, nil, nil, nil, nil, 2, nil,
432
+ nil, nil, nil, 22, 3, nil, nil, 3, nil, nil,
433
+ 3, nil, nil, nil, nil, nil, nil, 3, nil, nil,
422
434
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
423
- nil, nil, nil, nil, nil, 3, nil, nil, nil, nil,
424
- nil, nil, nil, nil, nil, nil, 2 ]
435
+ nil, nil, nil, nil, nil, nil, 2, nil, nil, nil,
436
+ 3 ]
425
437
 
426
438
  racc_goto_pointer = [
427
- nil, 26, 0, -18, nil, nil, nil, nil, nil, nil,
428
- nil, nil, 10, -7, -104, -40, nil, -10, -70, nil,
429
- nil, -26, -48, -5, -33, nil, -5, -15, nil ]
439
+ nil, 21, 3, -2, nil, nil, nil, nil, nil, nil,
440
+ nil, nil, 9, -7, -104, -55, -79, nil, -7, -69,
441
+ nil, nil, -25, -49, 1, -31, nil, -9, -27, nil ]
430
442
 
431
443
  racc_goto_default = [
432
- nil, nil, 103, 2, 4, 7, 11, 13, 19, 23,
433
- 25, 28, nil, nil, nil, nil, 6, nil, nil, 17,
434
- 22, nil, nil, nil, nil, 66, nil, nil, 58 ]
444
+ nil, nil, 106, 3, 6, 10, 13, 18, 21, 24,
445
+ 28, 31, nil, nil, nil, nil, nil, 12, nil, nil,
446
+ 22, 27, nil, nil, nil, nil, 67, nil, nil, 59 ]
435
447
 
436
448
  racc_token_table = {
437
449
  false => 0,
@@ -485,11 +497,12 @@ racc_token_table = {
485
497
  :CELL_END => 48,
486
498
  :KEYWORD => 49,
487
499
  :VARIABLE_START => 50,
488
- :VARIABLE_END => 51 }
500
+ :VARIABLE_END => 51,
501
+ :CATEGORY => 52 }
489
502
 
490
503
  racc_use_result_var = true
491
504
 
492
- racc_nt_base = 52
505
+ racc_nt_base = 53
493
506
 
494
507
  Racc_arg = [
495
508
  racc_action_table,
@@ -560,6 +573,7 @@ Racc_token_to_s_table = [
560
573
  'KEYWORD',
561
574
  'VARIABLE_START',
562
575
  'VARIABLE_END',
576
+ 'CATEGORY',
563
577
  '$start',
564
578
  'wiki',
565
579
  'repeated_contents',
@@ -576,6 +590,7 @@ Racc_token_to_s_table = [
576
590
  'link_contents',
577
591
  'reslink_repeated_contents',
578
592
  'intlink_repeated_contents',
593
+ 'cat_sort_contents',
579
594
  'table',
580
595
  'tag_attributes',
581
596
  'link_repeated_contents',
@@ -714,24 +729,44 @@ module_eval <<'.,.,', 'mediawikiparser.y', 101
714
729
  end
715
730
  .,.,
716
731
 
717
- # reduce 15 omitted
718
-
719
732
  module_eval <<'.,.,', 'mediawikiparser.y', 108
733
+ def _reduce_15( val, _values, result )
734
+ l = CategoryAST.new
735
+ l.locator = val[2]
736
+ l.sort_as = val[3]
737
+ result = l
738
+ result
739
+ end
740
+ .,.,
741
+
742
+ module_eval <<'.,.,', 'mediawikiparser.y', 115
720
743
  def _reduce_16( val, _values, result )
744
+ l = CategoryLinkAST.new
745
+ l.locator = val[3]
746
+ l.children = val[4] unless val[4].nil? or val[4].empty?
747
+ result = l
748
+ result
749
+ end
750
+ .,.,
751
+
752
+ # reduce 17 omitted
753
+
754
+ module_eval <<'.,.,', 'mediawikiparser.y', 122
755
+ def _reduce_18( val, _values, result )
721
756
  result = nil
722
757
  result
723
758
  end
724
759
  .,.,
725
760
 
726
- module_eval <<'.,.,', 'mediawikiparser.y', 112
727
- def _reduce_17( val, _values, result )
761
+ module_eval <<'.,.,', 'mediawikiparser.y', 126
762
+ def _reduce_19( val, _values, result )
728
763
  result = val[0]
729
764
  result
730
765
  end
731
766
  .,.,
732
767
 
733
- module_eval <<'.,.,', 'mediawikiparser.y', 125
734
- def _reduce_18( val, _values, result )
768
+ module_eval <<'.,.,', 'mediawikiparser.y', 139
769
+ def _reduce_20( val, _values, result )
735
770
  if val[0] != val[2]
736
771
  raise Racc::ParseError.new("XHTML end tag #{val[2]} does not match start tag #{val[0]}")
737
772
  end
@@ -743,8 +778,8 @@ module_eval <<'.,.,', 'mediawikiparser.y', 125
743
778
  end
744
779
  .,.,
745
780
 
746
- module_eval <<'.,.,', 'mediawikiparser.y', 136
747
- def _reduce_19( val, _values, result )
781
+ module_eval <<'.,.,', 'mediawikiparser.y', 150
782
+ def _reduce_21( val, _values, result )
748
783
  if val[0] != val[3]
749
784
  raise Racc::ParseError.new("XHTML end tag #{val[3]} does not match start tag #{val[0]}")
750
785
  end
@@ -757,15 +792,15 @@ module_eval <<'.,.,', 'mediawikiparser.y', 136
757
792
  end
758
793
  .,.,
759
794
 
760
- module_eval <<'.,.,', 'mediawikiparser.y', 142
761
- def _reduce_20( val, _values, result )
795
+ module_eval <<'.,.,', 'mediawikiparser.y', 156
796
+ def _reduce_22( val, _values, result )
762
797
  result = nil
763
798
  result
764
799
  end
765
800
  .,.,
766
801
 
767
- module_eval <<'.,.,', 'mediawikiparser.y', 148
768
- def _reduce_21( val, _values, result )
802
+ module_eval <<'.,.,', 'mediawikiparser.y', 162
803
+ def _reduce_23( val, _values, result )
769
804
  attr_map = val[2] ? val[2] : {}
770
805
  attr_map[val[0]] = true
771
806
  result = attr_map
@@ -773,8 +808,8 @@ module_eval <<'.,.,', 'mediawikiparser.y', 148
773
808
  end
774
809
  .,.,
775
810
 
776
- module_eval <<'.,.,', 'mediawikiparser.y', 154
777
- def _reduce_22( val, _values, result )
811
+ module_eval <<'.,.,', 'mediawikiparser.y', 168
812
+ def _reduce_24( val, _values, result )
778
813
  attr_map = val[2] ? val[2] : {}
779
814
  attr_map[val[0]] = val[1]
780
815
  result = attr_map
@@ -782,66 +817,80 @@ module_eval <<'.,.,', 'mediawikiparser.y', 154
782
817
  end
783
818
  .,.,
784
819
 
785
- module_eval <<'.,.,', 'mediawikiparser.y', 162
786
- def _reduce_23( val, _values, result )
820
+ module_eval <<'.,.,', 'mediawikiparser.y', 176
821
+ def _reduce_25( val, _values, result )
787
822
  result = val
788
823
  result
789
824
  end
790
825
  .,.,
791
826
 
792
- module_eval <<'.,.,', 'mediawikiparser.y', 167
793
- def _reduce_24( val, _values, result )
827
+ module_eval <<'.,.,', 'mediawikiparser.y', 181
828
+ def _reduce_26( val, _values, result )
794
829
  result = [val[0]]
795
830
  result += val[2]
796
831
  result
797
832
  end
798
833
  .,.,
799
834
 
800
- module_eval <<'.,.,', 'mediawikiparser.y', 175
801
- def _reduce_25( val, _values, result )
835
+ module_eval <<'.,.,', 'mediawikiparser.y', 189
836
+ def _reduce_27( val, _values, result )
802
837
  result = val[0]
803
838
  result
804
839
  end
805
840
  .,.,
806
841
 
807
- module_eval <<'.,.,', 'mediawikiparser.y', 180
808
- def _reduce_26( val, _values, result )
842
+ module_eval <<'.,.,', 'mediawikiparser.y', 194
843
+ def _reduce_28( val, _values, result )
809
844
  result = val[0]
810
845
  result += val[2] if val[2]
811
846
  result
812
847
  end
813
848
  .,.,
814
849
 
815
- module_eval <<'.,.,', 'mediawikiparser.y', 187
816
- def _reduce_27( val, _values, result )
850
+ module_eval <<'.,.,', 'mediawikiparser.y', 201
851
+ def _reduce_29( val, _values, result )
817
852
  result = nil
818
853
  result
819
854
  end
820
855
  .,.,
821
856
 
822
- module_eval <<'.,.,', 'mediawikiparser.y', 191
823
- def _reduce_28( val, _values, result )
857
+ module_eval <<'.,.,', 'mediawikiparser.y', 205
858
+ def _reduce_30( val, _values, result )
824
859
  result = val[1]
825
860
  result
826
861
  end
827
862
  .,.,
828
863
 
829
- module_eval <<'.,.,', 'mediawikiparser.y', 197
830
- def _reduce_29( val, _values, result )
864
+ module_eval <<'.,.,', 'mediawikiparser.y', 211
865
+ def _reduce_31( val, _values, result )
831
866
  result = nil
832
867
  result
833
868
  end
834
869
  .,.,
835
870
 
836
- module_eval <<'.,.,', 'mediawikiparser.y', 201
837
- def _reduce_30( val, _values, result )
871
+ module_eval <<'.,.,', 'mediawikiparser.y', 215
872
+ def _reduce_32( val, _values, result )
838
873
  result = val[1]
839
874
  result
840
875
  end
841
876
  .,.,
842
877
 
843
- module_eval <<'.,.,', 'mediawikiparser.y', 208
844
- def _reduce_31( val, _values, result )
878
+ module_eval <<'.,.,', 'mediawikiparser.y', 221
879
+ def _reduce_33( val, _values, result )
880
+ result = nil
881
+ result
882
+ end
883
+ .,.,
884
+
885
+ module_eval <<'.,.,', 'mediawikiparser.y', 225
886
+ def _reduce_34( val, _values, result )
887
+ result = val[1]
888
+ result
889
+ end
890
+ .,.,
891
+
892
+ module_eval <<'.,.,', 'mediawikiparser.y', 232
893
+ def _reduce_35( val, _values, result )
845
894
  i = InternalLinkItemAST.new
846
895
  i.children = val[1]
847
896
  result = [i]
@@ -850,16 +899,16 @@ module_eval <<'.,.,', 'mediawikiparser.y', 208
850
899
  end
851
900
  .,.,
852
901
 
853
- module_eval <<'.,.,', 'mediawikiparser.y', 215
854
- def _reduce_32( val, _values, result )
902
+ module_eval <<'.,.,', 'mediawikiparser.y', 239
903
+ def _reduce_36( val, _values, result )
855
904
  result = []
856
905
  result << val[0]
857
906
  result
858
907
  end
859
908
  .,.,
860
909
 
861
- module_eval <<'.,.,', 'mediawikiparser.y', 221
862
- def _reduce_33( val, _values, result )
910
+ module_eval <<'.,.,', 'mediawikiparser.y', 245
911
+ def _reduce_37( val, _values, result )
863
912
  result = []
864
913
  result += val[0]
865
914
  result << val[1]
@@ -867,8 +916,8 @@ module_eval <<'.,.,', 'mediawikiparser.y', 221
867
916
  end
868
917
  .,.,
869
918
 
870
- module_eval <<'.,.,', 'mediawikiparser.y', 230
871
- def _reduce_34( val, _values, result )
919
+ module_eval <<'.,.,', 'mediawikiparser.y', 254
920
+ def _reduce_38( val, _values, result )
872
921
  p = TextAST.new
873
922
  p.formatting = val[0][0]
874
923
  p.contents = val[0][1]
@@ -877,15 +926,15 @@ module_eval <<'.,.,', 'mediawikiparser.y', 230
877
926
  end
878
927
  .,.,
879
928
 
880
- module_eval <<'.,.,', 'mediawikiparser.y', 234
881
- def _reduce_35( val, _values, result )
929
+ module_eval <<'.,.,', 'mediawikiparser.y', 258
930
+ def _reduce_39( val, _values, result )
882
931
  result = val[0]
883
932
  result
884
933
  end
885
934
  .,.,
886
935
 
887
- module_eval <<'.,.,', 'mediawikiparser.y', 243
888
- def _reduce_36( val, _values, result )
936
+ module_eval <<'.,.,', 'mediawikiparser.y', 267
937
+ def _reduce_40( val, _values, result )
889
938
  table = TableAST.new
890
939
  table.children = val[1] unless val[1].nil? or val[1].empty?
891
940
  result = table
@@ -893,8 +942,8 @@ module_eval <<'.,.,', 'mediawikiparser.y', 243
893
942
  end
894
943
  .,.,
895
944
 
896
- module_eval <<'.,.,', 'mediawikiparser.y', 250
897
- def _reduce_37( val, _values, result )
945
+ module_eval <<'.,.,', 'mediawikiparser.y', 274
946
+ def _reduce_41( val, _values, result )
898
947
  table = TableAST.new
899
948
  table.options = val[1]
900
949
  table.children = val[2] unless val[2].nil? or val[2].empty?
@@ -903,15 +952,15 @@ module_eval <<'.,.,', 'mediawikiparser.y', 250
903
952
  end
904
953
  .,.,
905
954
 
906
- module_eval <<'.,.,', 'mediawikiparser.y', 255
907
- def _reduce_38( val, _values, result )
955
+ module_eval <<'.,.,', 'mediawikiparser.y', 279
956
+ def _reduce_42( val, _values, result )
908
957
  result = nil
909
958
  result
910
959
  end
911
960
  .,.,
912
961
 
913
- module_eval <<'.,.,', 'mediawikiparser.y', 262
914
- def _reduce_39( val, _values, result )
962
+ module_eval <<'.,.,', 'mediawikiparser.y', 286
963
+ def _reduce_43( val, _values, result )
915
964
  row = TableRowAST.new
916
965
  row.children = val[1] unless val[1].nil? or val[1].empty?
917
966
  result = [row]
@@ -920,8 +969,8 @@ module_eval <<'.,.,', 'mediawikiparser.y', 262
920
969
  end
921
970
  .,.,
922
971
 
923
- module_eval <<'.,.,', 'mediawikiparser.y', 270
924
- def _reduce_40( val, _values, result )
972
+ module_eval <<'.,.,', 'mediawikiparser.y', 294
973
+ def _reduce_44( val, _values, result )
925
974
  row = TableRowAST.new
926
975
  row.children = val[2] unless val[2].nil? or val[2].empty?
927
976
  row.options = val[1]
@@ -931,15 +980,15 @@ module_eval <<'.,.,', 'mediawikiparser.y', 270
931
980
  end
932
981
  .,.,
933
982
 
934
- module_eval <<'.,.,', 'mediawikiparser.y', 275
935
- def _reduce_41( val, _values, result )
983
+ module_eval <<'.,.,', 'mediawikiparser.y', 299
984
+ def _reduce_45( val, _values, result )
936
985
  result = nil
937
986
  result
938
987
  end
939
988
  .,.,
940
989
 
941
- module_eval <<'.,.,', 'mediawikiparser.y', 282
942
- def _reduce_42( val, _values, result )
990
+ module_eval <<'.,.,', 'mediawikiparser.y', 306
991
+ def _reduce_46( val, _values, result )
943
992
  cell = TableCellAST.new
944
993
  cell.type = :head
945
994
  result = [cell]
@@ -948,8 +997,8 @@ module_eval <<'.,.,', 'mediawikiparser.y', 282
948
997
  end
949
998
  .,.,
950
999
 
951
- module_eval <<'.,.,', 'mediawikiparser.y', 290
952
- def _reduce_43( val, _values, result )
1000
+ module_eval <<'.,.,', 'mediawikiparser.y', 314
1001
+ def _reduce_47( val, _values, result )
953
1002
  cell = TableCellAST.new
954
1003
  cell.children = val[1] unless val[1].nil? or val[1].empty?
955
1004
  cell.type = :head
@@ -959,8 +1008,8 @@ module_eval <<'.,.,', 'mediawikiparser.y', 290
959
1008
  end
960
1009
  .,.,
961
1010
 
962
- module_eval <<'.,.,', 'mediawikiparser.y', 297
963
- def _reduce_44( val, _values, result )
1011
+ module_eval <<'.,.,', 'mediawikiparser.y', 321
1012
+ def _reduce_48( val, _values, result )
964
1013
  cell = TableCellAST.new
965
1014
  cell.type = :body
966
1015
  result = [cell]
@@ -969,8 +1018,8 @@ module_eval <<'.,.,', 'mediawikiparser.y', 297
969
1018
  end
970
1019
  .,.,
971
1020
 
972
- module_eval <<'.,.,', 'mediawikiparser.y', 305
973
- def _reduce_45( val, _values, result )
1021
+ module_eval <<'.,.,', 'mediawikiparser.y', 329
1022
+ def _reduce_49( val, _values, result )
974
1023
  cell = TableCellAST.new
975
1024
  cell.children = val[1] unless val[1].nil? or val[1].empty?
976
1025
  cell.type = :body
@@ -980,50 +1029,50 @@ module_eval <<'.,.,', 'mediawikiparser.y', 305
980
1029
  end
981
1030
  .,.,
982
1031
 
983
- module_eval <<'.,.,', 'mediawikiparser.y', 309
984
- def _reduce_46( val, _values, result )
1032
+ module_eval <<'.,.,', 'mediawikiparser.y', 333
1033
+ def _reduce_50( val, _values, result )
985
1034
  return [:None, val[0]]
986
1035
  result
987
1036
  end
988
1037
  .,.,
989
1038
 
990
- module_eval <<'.,.,', 'mediawikiparser.y', 311
991
- def _reduce_47( val, _values, result )
1039
+ module_eval <<'.,.,', 'mediawikiparser.y', 335
1040
+ def _reduce_51( val, _values, result )
992
1041
  return [:HLine, val[0]]
993
1042
  result
994
1043
  end
995
1044
  .,.,
996
1045
 
997
- module_eval <<'.,.,', 'mediawikiparser.y', 313
998
- def _reduce_48( val, _values, result )
1046
+ module_eval <<'.,.,', 'mediawikiparser.y', 337
1047
+ def _reduce_52( val, _values, result )
999
1048
  return [:CharacterEntity, val[0]]
1000
1049
  result
1001
1050
  end
1002
1051
  .,.,
1003
1052
 
1004
- module_eval <<'.,.,', 'mediawikiparser.y', 315
1005
- def _reduce_49( val, _values, result )
1053
+ module_eval <<'.,.,', 'mediawikiparser.y', 339
1054
+ def _reduce_53( val, _values, result )
1006
1055
  return [:SignatureDate, val[0]]
1007
1056
  result
1008
1057
  end
1009
1058
  .,.,
1010
1059
 
1011
- module_eval <<'.,.,', 'mediawikiparser.y', 317
1012
- def _reduce_50( val, _values, result )
1060
+ module_eval <<'.,.,', 'mediawikiparser.y', 341
1061
+ def _reduce_54( val, _values, result )
1013
1062
  return [:SignatureName, val[0]]
1014
1063
  result
1015
1064
  end
1016
1065
  .,.,
1017
1066
 
1018
- module_eval <<'.,.,', 'mediawikiparser.y', 319
1019
- def _reduce_51( val, _values, result )
1067
+ module_eval <<'.,.,', 'mediawikiparser.y', 343
1068
+ def _reduce_55( val, _values, result )
1020
1069
  return [:SignatureFull, val[0]]
1021
1070
  result
1022
1071
  end
1023
1072
  .,.,
1024
1073
 
1025
- module_eval <<'.,.,', 'mediawikiparser.y', 329
1026
- def _reduce_52( val, _values, result )
1074
+ module_eval <<'.,.,', 'mediawikiparser.y', 353
1075
+ def _reduce_56( val, _values, result )
1027
1076
  result = FormattedAST.new
1028
1077
  result.formatting = :Bold
1029
1078
  result
@@ -1031,8 +1080,8 @@ module_eval <<'.,.,', 'mediawikiparser.y', 329
1031
1080
  end
1032
1081
  .,.,
1033
1082
 
1034
- module_eval <<'.,.,', 'mediawikiparser.y', 335
1035
- def _reduce_53( val, _values, result )
1083
+ module_eval <<'.,.,', 'mediawikiparser.y', 359
1084
+ def _reduce_57( val, _values, result )
1036
1085
  result = FormattedAST.new
1037
1086
  result.formatting = :Italic
1038
1087
  result
@@ -1040,8 +1089,8 @@ module_eval <<'.,.,', 'mediawikiparser.y', 335
1040
1089
  end
1041
1090
  .,.,
1042
1091
 
1043
- module_eval <<'.,.,', 'mediawikiparser.y', 342
1044
- def _reduce_54( val, _values, result )
1092
+ module_eval <<'.,.,', 'mediawikiparser.y', 366
1093
+ def _reduce_58( val, _values, result )
1045
1094
  p = FormattedAST.new
1046
1095
  p.formatting = :Bold
1047
1096
  p.children += val[1]
@@ -1050,8 +1099,8 @@ module_eval <<'.,.,', 'mediawikiparser.y', 342
1050
1099
  end
1051
1100
  .,.,
1052
1101
 
1053
- module_eval <<'.,.,', 'mediawikiparser.y', 349
1054
- def _reduce_55( val, _values, result )
1102
+ module_eval <<'.,.,', 'mediawikiparser.y', 373
1103
+ def _reduce_59( val, _values, result )
1055
1104
  p = FormattedAST.new
1056
1105
  p.formatting = :Italic
1057
1106
  p.children += val[1]
@@ -1060,8 +1109,8 @@ module_eval <<'.,.,', 'mediawikiparser.y', 349
1060
1109
  end
1061
1110
  .,.,
1062
1111
 
1063
- module_eval <<'.,.,', 'mediawikiparser.y', 359
1064
- def _reduce_56( val, _values, result )
1112
+ module_eval <<'.,.,', 'mediawikiparser.y', 383
1113
+ def _reduce_60( val, _values, result )
1065
1114
  list = ListAST.new
1066
1115
  list.list_type = :Bulleted
1067
1116
  list.children << val[1]
@@ -1071,8 +1120,8 @@ module_eval <<'.,.,', 'mediawikiparser.y', 359
1071
1120
  end
1072
1121
  .,.,
1073
1122
 
1074
- module_eval <<'.,.,', 'mediawikiparser.y', 369
1075
- def _reduce_57( val, _values, result )
1123
+ module_eval <<'.,.,', 'mediawikiparser.y', 393
1124
+ def _reduce_61( val, _values, result )
1076
1125
  list = ListAST.new
1077
1126
  list.list_type = :Numbered
1078
1127
  list.children << val[1]
@@ -1082,37 +1131,37 @@ module_eval <<'.,.,', 'mediawikiparser.y', 369
1082
1131
  end
1083
1132
  .,.,
1084
1133
 
1085
- module_eval <<'.,.,', 'mediawikiparser.y', 372
1086
- def _reduce_58( val, _values, result )
1134
+ module_eval <<'.,.,', 'mediawikiparser.y', 396
1135
+ def _reduce_62( val, _values, result )
1087
1136
  result = []
1088
1137
  result
1089
1138
  end
1090
1139
  .,.,
1091
1140
 
1092
- module_eval <<'.,.,', 'mediawikiparser.y', 378
1093
- def _reduce_59( val, _values, result )
1141
+ module_eval <<'.,.,', 'mediawikiparser.y', 402
1142
+ def _reduce_63( val, _values, result )
1094
1143
  result << val[1]
1095
1144
  result += val[2]
1096
1145
  result
1097
1146
  end
1098
1147
  .,.,
1099
1148
 
1100
- module_eval <<'.,.,', 'mediawikiparser.y', 379
1101
- def _reduce_60( val, _values, result )
1149
+ module_eval <<'.,.,', 'mediawikiparser.y', 403
1150
+ def _reduce_64( val, _values, result )
1102
1151
  result = []
1103
1152
  result
1104
1153
  end
1105
1154
  .,.,
1106
1155
 
1107
- module_eval <<'.,.,', 'mediawikiparser.y', 387
1108
- def _reduce_61( val, _values, result )
1156
+ module_eval <<'.,.,', 'mediawikiparser.y', 411
1157
+ def _reduce_65( val, _values, result )
1109
1158
  result = ListItemAST.new
1110
1159
  result
1111
1160
  end
1112
1161
  .,.,
1113
1162
 
1114
- module_eval <<'.,.,', 'mediawikiparser.y', 393
1115
- def _reduce_62( val, _values, result )
1163
+ module_eval <<'.,.,', 'mediawikiparser.y', 417
1164
+ def _reduce_66( val, _values, result )
1116
1165
  li = ListItemAST.new
1117
1166
  li.children += val[1]
1118
1167
  result = li
@@ -1120,30 +1169,30 @@ module_eval <<'.,.,', 'mediawikiparser.y', 393
1120
1169
  end
1121
1170
  .,.,
1122
1171
 
1123
- module_eval <<'.,.,', 'mediawikiparser.y', 401
1124
- def _reduce_63( val, _values, result )
1172
+ module_eval <<'.,.,', 'mediawikiparser.y', 425
1173
+ def _reduce_67( val, _values, result )
1125
1174
  result = [val[1]]
1126
1175
  result += val[2]
1127
1176
  result
1128
1177
  end
1129
1178
  .,.,
1130
1179
 
1131
- module_eval <<'.,.,', 'mediawikiparser.y', 405
1132
- def _reduce_64( val, _values, result )
1180
+ module_eval <<'.,.,', 'mediawikiparser.y', 429
1181
+ def _reduce_68( val, _values, result )
1133
1182
  result = val[1]
1134
1183
  result
1135
1184
  end
1136
1185
  .,.,
1137
1186
 
1138
- module_eval <<'.,.,', 'mediawikiparser.y', 412
1139
- def _reduce_65( val, _values, result )
1187
+ module_eval <<'.,.,', 'mediawikiparser.y', 436
1188
+ def _reduce_69( val, _values, result )
1140
1189
  result = ListTermAST.new
1141
1190
  result
1142
1191
  end
1143
1192
  .,.,
1144
1193
 
1145
- module_eval <<'.,.,', 'mediawikiparser.y', 418
1146
- def _reduce_66( val, _values, result )
1194
+ module_eval <<'.,.,', 'mediawikiparser.y', 442
1195
+ def _reduce_70( val, _values, result )
1147
1196
  term = ListTermAST.new
1148
1197
  term.children += val[1]
1149
1198
  result = term
@@ -1151,30 +1200,30 @@ module_eval <<'.,.,', 'mediawikiparser.y', 418
1151
1200
  end
1152
1201
  .,.,
1153
1202
 
1154
- module_eval <<'.,.,', 'mediawikiparser.y', 425
1155
- def _reduce_67( val, _values, result )
1203
+ module_eval <<'.,.,', 'mediawikiparser.y', 449
1204
+ def _reduce_71( val, _values, result )
1156
1205
  result = [val[0]]
1157
1206
  result += val[1] if val[1]
1158
1207
  result
1159
1208
  end
1160
1209
  .,.,
1161
1210
 
1162
- module_eval <<'.,.,', 'mediawikiparser.y', 429
1163
- def _reduce_68( val, _values, result )
1211
+ module_eval <<'.,.,', 'mediawikiparser.y', 453
1212
+ def _reduce_72( val, _values, result )
1164
1213
  result = []
1165
1214
  result
1166
1215
  end
1167
1216
  .,.,
1168
1217
 
1169
- module_eval <<'.,.,', 'mediawikiparser.y', 435
1170
- def _reduce_69( val, _values, result )
1218
+ module_eval <<'.,.,', 'mediawikiparser.y', 459
1219
+ def _reduce_73( val, _values, result )
1171
1220
  result = ListDefinitionAST.new
1172
1221
  result
1173
1222
  end
1174
1223
  .,.,
1175
1224
 
1176
- module_eval <<'.,.,', 'mediawikiparser.y', 441
1177
- def _reduce_70( val, _values, result )
1225
+ module_eval <<'.,.,', 'mediawikiparser.y', 465
1226
+ def _reduce_74( val, _values, result )
1178
1227
  term = ListDefinitionAST.new
1179
1228
  term.children += val[1]
1180
1229
  result = term
@@ -1182,8 +1231,8 @@ module_eval <<'.,.,', 'mediawikiparser.y', 441
1182
1231
  end
1183
1232
  .,.,
1184
1233
 
1185
- module_eval <<'.,.,', 'mediawikiparser.y', 448
1186
- def _reduce_71( val, _values, result )
1234
+ module_eval <<'.,.,', 'mediawikiparser.y', 472
1235
+ def _reduce_75( val, _values, result )
1187
1236
  p = PreformattedAST.new
1188
1237
  p.children += val[1]
1189
1238
  result = p
@@ -1191,8 +1240,8 @@ module_eval <<'.,.,', 'mediawikiparser.y', 448
1191
1240
  end
1192
1241
  .,.,
1193
1242
 
1194
- module_eval <<'.,.,', 'mediawikiparser.y', 456
1195
- def _reduce_72( val, _values, result )
1243
+ module_eval <<'.,.,', 'mediawikiparser.y', 480
1244
+ def _reduce_76( val, _values, result )
1196
1245
  result = [val[1], val[0].length]
1197
1246
  s = SectionAST.new
1198
1247
  s.children = val[1]
@@ -1202,8 +1251,8 @@ module_eval <<'.,.,', 'mediawikiparser.y', 456
1202
1251
  end
1203
1252
  .,.,
1204
1253
 
1205
- module_eval <<'.,.,', 'mediawikiparser.y', 465
1206
- def _reduce_73( val, _values, result )
1254
+ module_eval <<'.,.,', 'mediawikiparser.y', 489
1255
+ def _reduce_77( val, _values, result )
1207
1256
  v = VariableAST.new
1208
1257
  v.text = val[1]
1209
1258
  result = v