motiro 0.6.10 → 0.6.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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