mediacloth 0.0.3 → 0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) hide show
  1. data/README.md +36 -0
  2. data/lib/mediacloth/mediawikiast.rb +58 -1
  3. data/lib/mediacloth/mediawikihtmlgenerator.rb +229 -73
  4. data/lib/mediacloth/mediawikilexer.rb +1030 -656
  5. data/lib/mediacloth/mediawikilinkhandler.rb +89 -0
  6. data/lib/mediacloth/mediawikiparams.rb +1 -10
  7. data/lib/mediacloth/mediawikiparser.rb +939 -409
  8. data/lib/mediacloth/mediawikiparser.tab.rb +1357 -0
  9. data/lib/mediacloth/mediawikiparser.y +256 -52
  10. data/lib/mediacloth/mediawikisignedwikigenerator.rb +42 -0
  11. data/lib/mediacloth/mediawikitemplatehandler.rb +8 -0
  12. data/lib/mediacloth/mediawikiwalker.rb +72 -1
  13. data/lib/mediacloth.rb +33 -10
  14. data/test/data/ast1 +68 -0
  15. data/test/data/ast10 +196 -0
  16. data/test/data/ast11 +34 -0
  17. data/test/data/ast12 +39 -0
  18. data/test/data/ast13 +25 -0
  19. data/test/data/ast14 +13 -0
  20. data/test/data/ast15 +25 -0
  21. data/test/data/ast16 +17 -0
  22. data/test/data/ast17 +9 -0
  23. data/test/data/ast18 +21 -0
  24. data/test/data/ast19 +32 -0
  25. data/test/data/ast2 +4 -0
  26. data/test/data/ast20 +10 -0
  27. data/test/data/ast21 +27 -0
  28. data/test/data/ast22 +22 -0
  29. data/test/data/ast23 +5 -0
  30. data/test/data/ast3 +6 -0
  31. data/test/data/ast4 +122 -0
  32. data/test/data/ast5 +122 -0
  33. data/test/data/ast6 +22 -0
  34. data/test/data/ast7 +143 -0
  35. data/test/data/ast8 +3 -0
  36. data/test/data/ast9 +11 -0
  37. data/test/data/html1 +33 -5
  38. data/test/data/html10 +31 -27
  39. data/test/data/html11 +19 -0
  40. data/test/data/html12 +32 -0
  41. data/test/data/html13 +29 -0
  42. data/test/data/html14 +4 -0
  43. data/test/data/html15 +29 -0
  44. data/test/data/html16 +28 -0
  45. data/test/data/html17 +10 -0
  46. data/test/data/html18 +8 -0
  47. data/test/data/html19 +27 -0
  48. data/test/data/html2 +1 -1
  49. data/test/data/html20 +7 -0
  50. data/test/data/html21 +5 -0
  51. data/test/data/html22 +24 -0
  52. data/test/data/html23 +7 -0
  53. data/test/data/html3 +1 -1
  54. data/test/data/html4 +60 -11
  55. data/test/data/html5 +45 -6
  56. data/test/data/html6 +5 -5
  57. data/test/data/html7 +59 -1
  58. data/test/data/html8 +1 -1
  59. data/test/data/html9 +10 -2
  60. data/test/data/input1 +4 -0
  61. data/test/data/input11 +19 -0
  62. data/test/data/input12 +32 -0
  63. data/test/data/input13 +10 -0
  64. data/test/data/input14 +8 -0
  65. data/test/data/input15 +10 -0
  66. data/test/data/input16 +28 -0
  67. data/test/data/input17 +10 -0
  68. data/test/data/input18 +16 -0
  69. data/test/data/input19 +29 -0
  70. data/test/data/input20 +8 -0
  71. data/test/data/input21 +18 -0
  72. data/test/data/input22 +20 -0
  73. data/test/data/input23 +8 -0
  74. data/test/data/input4 +13 -1
  75. data/test/data/input5 +45 -4
  76. data/test/data/input7 +25 -1
  77. data/test/data/lex1 +17 -18
  78. data/test/data/lex10 +57 -87
  79. data/test/data/lex11 +18 -0
  80. data/test/data/lex12 +32 -0
  81. data/test/data/lex13 +3 -0
  82. data/test/data/lex14 +1 -0
  83. data/test/data/lex15 +3 -0
  84. data/test/data/lex16 +27 -0
  85. data/test/data/lex17 +9 -0
  86. data/test/data/lex18 +4 -0
  87. data/test/data/lex19 +27 -0
  88. data/test/data/lex2 +2 -2
  89. data/test/data/lex20 +7 -0
  90. data/test/data/lex21 +4 -0
  91. data/test/data/lex22 +3 -0
  92. data/test/data/lex23 +7 -0
  93. data/test/data/lex3 +1 -1
  94. data/test/data/lex4 +35 -29
  95. data/test/data/lex5 +57 -18
  96. data/test/data/lex6 +7 -7
  97. data/test/data/lex7 +42 -18
  98. data/test/data/lex8 +1 -1
  99. data/test/data/lex9 +6 -6
  100. data/test/dataproducers/ast.rb +24 -0
  101. data/test/dataproducers/html.rb +11 -12
  102. data/test/dataproducers/lex.rb +9 -4
  103. data/test/debugwalker.rb +25 -11
  104. data/test/htmlgenerator.rb +170 -13
  105. data/test/lexer.rb +626 -83
  106. data/test/linkhandler.rb +39 -0
  107. data/test/parser.rb +176 -9
  108. data/test/signedwikigenerator.rb +113 -0
  109. metadata +158 -79
  110. data/README +0 -37
  111. data/lib/mediacloth/mediawikilexer.rb~ +0 -491
  112. data/lib/mediacloth/mediawikiparser.y~ +0 -210
  113. data/test/data/result1 +0 -48
  114. data/test/dataproducers/html.rb~ +0 -24
  115. data/test/dataproducers/lex.rb~ +0 -15
@@ -12,12 +12,14 @@ require 'mediacloth/mediawikiast'
12
12
 
13
13
  class MediaWikiParser < Racc::Parser
14
14
 
15
- module_eval <<'..end mediawikiparser.y modeval..id2fa3e0400b', 'mediawikiparser.y', 354
15
+ module_eval <<'..end mediawikiparser.y modeval..idbd32b73581', 'mediawikiparser.y', 542
16
16
 
17
17
  attr_accessor :lexer
18
18
 
19
19
  def initialize
20
20
  @nodes = []
21
+ @context = []
22
+ @wiki_ast_length = 0
21
23
  super
22
24
  end
23
25
 
@@ -31,293 +33,541 @@ end
31
33
 
32
34
  #Asks the lexer to return the next token.
33
35
  def next_token
34
- return @lexer.lex
36
+ token = @lexer.lex
37
+ if token[0].to_s.upcase.include? "_START"
38
+ @context << token[2..3]
39
+ elsif token[0].to_s.upcase.include? "_END"
40
+ @ast_index = @context.last[0]
41
+ @ast_length = token[2] + token[3] - @context.last[0]
42
+ @context.pop
43
+ else
44
+ @ast_index = token[2]
45
+ @ast_length = token[3]
46
+ end
47
+
48
+ @wiki_ast_length += token[3]
49
+
50
+ return token[0..1]
35
51
  end
36
- ..end mediawikiparser.y modeval..id2fa3e0400b
52
+ ..end mediawikiparser.y modeval..idbd32b73581
37
53
 
38
54
  ##### racc 1.4.5 generates ###
39
55
 
40
56
  racc_reduce_table = [
41
57
  0, 0, :racc_error,
42
- 1, 38, :_reduce_1,
43
- 1, 40, :_reduce_2,
44
- 1, 40, :_reduce_3,
45
- 1, 40, :_reduce_4,
46
- 1, 40, :_reduce_5,
47
- 1, 40, :_reduce_6,
48
- 3, 40, :_reduce_7,
49
- 3, 40, :_reduce_8,
50
- 6, 40, :_reduce_9,
51
- 4, 40, :_reduce_10,
52
- 1, 40, :_reduce_none,
53
- 0, 46, :_reduce_12,
54
- 1, 46, :_reduce_13,
55
- 1, 47, :_reduce_14,
56
- 3, 47, :_reduce_15,
57
- 1, 51, :_reduce_16,
58
- 3, 51, :_reduce_17,
59
- 0, 49, :_reduce_18,
60
- 2, 49, :_reduce_19,
61
- 0, 48, :_reduce_20,
62
- 2, 48, :_reduce_21,
63
- 3, 48, :_reduce_22,
64
- 1, 39, :_reduce_23,
65
- 2, 39, :_reduce_24,
66
- 1, 41, :_reduce_25,
67
- 1, 41, :_reduce_26,
68
- 3, 50, :_reduce_27,
69
- 4, 50, :_reduce_28,
70
- 0, 54, :_reduce_29,
71
- 4, 54, :_reduce_30,
72
- 5, 54, :_reduce_31,
73
- 0, 55, :_reduce_32,
74
- 3, 55, :_reduce_33,
75
- 4, 55, :_reduce_34,
76
- 3, 55, :_reduce_35,
77
- 4, 55, :_reduce_36,
78
- 1, 52, :_reduce_37,
79
- 1, 52, :_reduce_38,
80
- 1, 52, :_reduce_39,
81
- 1, 52, :_reduce_40,
82
- 1, 52, :_reduce_41,
83
- 2, 53, :_reduce_42,
84
- 2, 53, :_reduce_43,
85
- 3, 53, :_reduce_44,
86
- 3, 53, :_reduce_45,
87
- 4, 42, :_reduce_46,
88
- 4, 43, :_reduce_47,
89
- 0, 58, :_reduce_48,
90
- 3, 57, :_reduce_49,
91
- 0, 57, :_reduce_50,
92
- 2, 56, :_reduce_51,
93
- 3, 56, :_reduce_52,
94
- 1, 44, :_reduce_53,
95
- 3, 45, :_reduce_54 ]
96
-
97
- racc_reduce_n = 55
98
-
99
- racc_shift_n = 100
58
+ 1, 58, :_reduce_1,
59
+ 1, 60, :_reduce_2,
60
+ 1, 60, :_reduce_3,
61
+ 1, 60, :_reduce_4,
62
+ 1, 60, :_reduce_5,
63
+ 1, 60, :_reduce_6,
64
+ 1, 60, :_reduce_7,
65
+ 1, 60, :_reduce_8,
66
+ 1, 60, :_reduce_9,
67
+ 1, 60, :_reduce_10,
68
+ 3, 60, :_reduce_11,
69
+ 3, 60, :_reduce_12,
70
+ 3, 60, :_reduce_13,
71
+ 6, 60, :_reduce_14,
72
+ 4, 60, :_reduce_15,
73
+ 5, 60, :_reduce_16,
74
+ 6, 60, :_reduce_17,
75
+ 1, 60, :_reduce_none,
76
+ 0, 69, :_reduce_19,
77
+ 1, 69, :_reduce_20,
78
+ 3, 67, :_reduce_21,
79
+ 4, 67, :_reduce_22,
80
+ 0, 75, :_reduce_23,
81
+ 2, 75, :_reduce_24,
82
+ 3, 75, :_reduce_25,
83
+ 1, 70, :_reduce_26,
84
+ 3, 70, :_reduce_27,
85
+ 1, 76, :_reduce_28,
86
+ 3, 76, :_reduce_29,
87
+ 0, 72, :_reduce_30,
88
+ 2, 72, :_reduce_31,
89
+ 0, 73, :_reduce_32,
90
+ 2, 73, :_reduce_33,
91
+ 0, 71, :_reduce_34,
92
+ 2, 71, :_reduce_35,
93
+ 3, 71, :_reduce_36,
94
+ 1, 59, :_reduce_37,
95
+ 2, 59, :_reduce_38,
96
+ 1, 61, :_reduce_39,
97
+ 1, 61, :_reduce_40,
98
+ 3, 74, :_reduce_41,
99
+ 4, 74, :_reduce_42,
100
+ 0, 79, :_reduce_43,
101
+ 4, 79, :_reduce_44,
102
+ 5, 79, :_reduce_45,
103
+ 0, 80, :_reduce_46,
104
+ 3, 80, :_reduce_47,
105
+ 4, 80, :_reduce_48,
106
+ 3, 80, :_reduce_49,
107
+ 4, 80, :_reduce_50,
108
+ 1, 77, :_reduce_51,
109
+ 1, 77, :_reduce_52,
110
+ 1, 77, :_reduce_53,
111
+ 1, 77, :_reduce_54,
112
+ 1, 77, :_reduce_55,
113
+ 1, 77, :_reduce_56,
114
+ 2, 78, :_reduce_57,
115
+ 2, 78, :_reduce_58,
116
+ 3, 78, :_reduce_59,
117
+ 3, 78, :_reduce_60,
118
+ 4, 62, :_reduce_61,
119
+ 4, 63, :_reduce_62,
120
+ 0, 83, :_reduce_63,
121
+ 3, 82, :_reduce_64,
122
+ 0, 82, :_reduce_65,
123
+ 2, 81, :_reduce_66,
124
+ 3, 81, :_reduce_67,
125
+ 4, 64, :_reduce_68,
126
+ 3, 64, :_reduce_69,
127
+ 2, 84, :_reduce_70,
128
+ 3, 84, :_reduce_71,
129
+ 2, 85, :_reduce_72,
130
+ 0, 85, :_reduce_73,
131
+ 2, 86, :_reduce_74,
132
+ 3, 86, :_reduce_75,
133
+ 3, 65, :_reduce_76,
134
+ 3, 65, :_reduce_77,
135
+ 3, 66, :_reduce_78,
136
+ 4, 68, :_reduce_79,
137
+ 0, 87, :_reduce_80,
138
+ 3, 87, :_reduce_81,
139
+ 3, 87, :_reduce_82 ]
140
+
141
+ racc_reduce_n = 83
142
+
143
+ racc_shift_n = 158
100
144
 
101
145
  racc_action_table = [
102
- 4, 57, 7, 54, 14, -48, 36, 23, 57, 72,
103
- 54, 3, 32, 8, 9, 12, 16, 18, 21, 25,
104
- 37, 62, 63, 6, 4, 10, 7, 57, 14, 54,
105
- 56, 23, 57, 5, 54, 3, 37, 8, 9, 12,
106
- 16, 18, 21, 25, -50, 47, 57, 6, 54, 10,
107
- 79, 4, 28, 7, 57, 14, 54, 5, 23, 80,
108
- 81, 69, 3, 58, 8, 9, 12, 16, 18, 21,
109
- 25, 32, 37, 86, 6, 4, 10, 7, 43, 14,
110
- 59, 41, 23, 39, 5, 90, 3, -50, 8, 9,
111
- 12, 16, 18, 21, 25, 37, 60, 61, 6, 32,
112
- 10, 98, 4, 67, 7, nil, 14, nil, 5, 23,
113
- nil, 90, nil, 3, nil, 8, 9, 12, 16, 18,
114
- 21, 25, nil, nil, nil, 6, 4, 10, 7, 34,
115
- 14, nil, nil, 23, nil, 5, nil, 3, nil, 8,
116
- 9, 12, 16, 18, 21, 25, nil, nil, nil, 6,
117
- 4, 10, 7, nil, 14, nil, nil, 23, nil, 5,
118
- nil, 3, nil, 8, 9, 12, 16, 18, 21, 25,
119
- nil, nil, nil, 6, 4, 10, 7, nil, 14, nil,
120
- nil, 23, nil, 5, nil, 3, nil, 8, 9, 12,
121
- 16, 18, 21, 25, nil, nil, nil, 6, 4, 10,
122
- 7, nil, 14, nil, 89, 23, nil, 5, nil, 3,
123
- nil, 8, 9, 12, 16, 18, 21, 25, nil, nil,
124
- nil, 6, 4, 10, 7, nil, 14, nil, nil, 23,
125
- nil, 5, nil, 3, nil, 8, 9, 12, 16, 18,
126
- 21, 25, nil, nil, nil, 6, 4, 10, 7, nil,
127
- 14, nil, nil, 23, nil, 5, nil, 3, nil, 8,
128
- 9, 12, 16, 18, 21, 25, nil, nil, nil, 6,
129
- 4, 10, 7, nil, 14, nil, 87, 23, nil, 5,
130
- nil, 3, nil, 8, 9, 12, 16, 18, 21, 25,
131
- nil, nil, nil, 6, 4, 10, 7, nil, 14, nil,
132
- nil, 23, 84, 5, nil, 3, 45, 8, 9, 12,
133
- 16, 18, 21, 25, nil, nil, nil, 6, nil, 10,
134
- nil, 4, 46, 7, nil, 14, nil, 5, 23, nil,
135
- nil, nil, 3, nil, 8, 9, 12, 16, 18, 21,
136
- 25, nil, nil, nil, 6, 4, 10, 7, nil, 14,
137
- nil, nil, 23, nil, 5, nil, 3, nil, 8, 9,
138
- 12, 16, 18, 21, 25, nil, nil, nil, 6, 4,
139
- 10, 7, nil, 14, nil, nil, 23, nil, 5, nil,
140
- 3, nil, 8, 9, 12, 16, 18, 21, 25, nil,
141
- nil, nil, 6, 4, 10, 7, nil, 14, nil, nil,
142
- 23, nil, 5, nil, 3, nil, 8, 9, 12, 16,
143
- 18, 21, 25, nil, nil, 48, 6, 4, 10, 7,
144
- nil, 14, nil, nil, 23, nil, 5, nil, 3, nil,
145
- 8, 9, 12, 16, 18, 21, 25, nil, nil, nil,
146
- 6, 4, 10, 7, 52, 14, nil, nil, 23, nil,
147
- 5, nil, 3, nil, 8, 9, 12, 16, 18, 21,
148
- 25, nil, nil, nil, 6, 4, 10, 7, nil, 14,
149
- nil, nil, 23, nil, 5, nil, 3, nil, 8, 9,
150
- 12, 16, 18, 21, 25, nil, nil, nil, 6, 4,
151
- 10, 7, nil, 14, nil, 75, 23, nil, 5, nil,
152
- 3, nil, 8, 9, 12, 16, 18, 21, 25, nil,
153
- nil, nil, 6, 4, 10, 7, nil, 14, nil, nil,
154
- 23, 70, 5, nil, 3, nil, 8, 9, 12, 16,
155
- 18, 21, 25, nil, nil, 66, 6, nil, 10, nil,
156
- 4, nil, 7, nil, 14, nil, 5, 23, nil, 90,
157
- nil, 3, nil, 8, 9, 12, 16, 18, 21, 25,
158
- nil, nil, nil, 6, nil, 10, nil, nil, nil, nil,
159
- nil, nil, nil, 5 ]
146
+ 10, 12, 63, 19, 97, 25, 99, 119, 35, 97,
147
+ 127, 99, 13, 16, 97, 21, 99, 29, 77, 33,
148
+ 2, 6, 9, 14, 97, 18, 99, 24, 66, 109,
149
+ 96, 1, 97, 37, 99, 38, 110, 22, 51, 65,
150
+ 75, 34, 103, 104, 55, 62, 55, 86, 38, 26,
151
+ 28, 10, 12, 4, 19, 115, 25, 28, 73, 35,
152
+ 106, 145, 120, 13, 16, 102, 21, 38, 29, 124,
153
+ 33, 2, 6, 9, 14, 97, 18, 99, 24, 101,
154
+ 67, 78, 1, 128, 62, 130, 131, 60, 22, -63,
155
+ 10, 12, 34, 19, 58, 25, 93, 93, 35, 138,
156
+ 26, 28, 13, 16, 4, 21, -65, 29, 51, 33,
157
+ 2, 6, 9, 14, 62, 18, 55, 24, 93, 103,
158
+ 51, 1, 145, 147, 148, 47, 62, 22, 92, 91,
159
+ 153, 34, -65, 10, 12, 44, 19, 156, 25, 26,
160
+ 28, 35, 132, 4, nil, 13, 16, nil, 21, nil,
161
+ 29, nil, 33, 2, 6, 9, 14, nil, 18, nil,
162
+ 24, nil, nil, nil, 1, nil, nil, nil, nil, nil,
163
+ 22, nil, 10, 12, 34, 19, nil, 25, nil, nil,
164
+ 35, nil, 26, 28, 13, 16, 4, 21, nil, 29,
165
+ nil, 33, 2, 6, 9, 14, nil, 18, nil, 24,
166
+ nil, nil, nil, 1, nil, nil, nil, nil, nil, 22,
167
+ nil, 10, 12, 34, 19, nil, 25, nil, nil, 35,
168
+ nil, 26, 28, 13, 16, 4, 21, nil, 29, nil,
169
+ 33, 2, 6, 9, 14, nil, 18, nil, 24, nil,
170
+ nil, nil, 1, nil, nil, nil, nil, nil, 22, nil,
171
+ 10, 12, 34, 19, nil, 25, nil, nil, 35, nil,
172
+ 26, 28, 13, 16, 4, 21, nil, 29, nil, 33,
173
+ 2, 6, 9, 14, nil, 18, nil, 24, nil, nil,
174
+ nil, 1, nil, nil, nil, nil, nil, 22, nil, 10,
175
+ 12, 34, 19, nil, 25, nil, nil, 35, nil, 26,
176
+ 28, 13, 16, 4, 21, nil, 29, nil, 33, 2,
177
+ 6, 9, 14, nil, 18, nil, 24, nil, nil, nil,
178
+ 1, nil, nil, nil, nil, nil, 22, nil, 10, 12,
179
+ 34, 19, nil, 25, nil, nil, 35, nil, 26, 28,
180
+ 13, 16, 4, 21, nil, 29, nil, 33, 2, 6,
181
+ 9, 14, nil, 18, nil, 24, nil, nil, nil, 1,
182
+ nil, nil, nil, nil, nil, 22, nil, 10, 12, 34,
183
+ 19, 53, 25, nil, nil, 35, nil, 26, 28, 13,
184
+ 16, 4, 21, nil, 29, nil, 33, 2, 6, 9,
185
+ 14, nil, 18, nil, 24, nil, nil, nil, 1, nil,
186
+ nil, nil, nil, nil, 22, nil, 10, 12, 34, 19,
187
+ nil, 25, nil, nil, 35, nil, 26, 28, 13, 16,
188
+ 4, 21, nil, 29, nil, 33, 2, 6, 9, 14,
189
+ nil, 18, nil, 24, nil, nil, nil, 1, nil, nil,
190
+ nil, nil, nil, 22, nil, 10, 12, 34, 19, nil,
191
+ 25, nil, nil, 35, nil, 26, 28, 13, 16, 4,
192
+ 21, nil, 29, nil, 33, 2, 6, 9, 14, nil,
193
+ 18, nil, 24, nil, nil, nil, 1, nil, nil, nil,
194
+ nil, nil, 22, nil, 10, 12, 34, 19, nil, 25,
195
+ nil, nil, 35, 142, 26, 28, 13, 16, 4, 21,
196
+ nil, 29, nil, 33, 2, 6, 9, 14, nil, 18,
197
+ nil, 24, nil, nil, nil, 1, nil, nil, nil, nil,
198
+ nil, 22, nil, nil, nil, 34, nil, nil, nil, nil,
199
+ 140, nil, nil, 26, 28, 10, 12, 4, 19, nil,
200
+ 25, nil, 135, 35, nil, nil, nil, 13, 16, nil,
201
+ 21, nil, 29, nil, 33, 2, 6, 9, 14, nil,
202
+ 18, nil, 24, nil, nil, nil, 1, nil, nil, nil,
203
+ nil, nil, 22, nil, 10, 12, 34, 19, nil, 25,
204
+ nil, nil, 35, nil, 26, 28, 13, 16, 4, 21,
205
+ nil, 29, nil, 33, 2, 6, 9, 14, nil, 18,
206
+ nil, 24, nil, nil, nil, 1, nil, nil, nil, nil,
207
+ nil, 22, 89, 10, 12, 34, 19, nil, 25, nil,
208
+ nil, 35, nil, 26, 28, 13, 16, 4, 21, nil,
209
+ 29, nil, 33, 2, 6, 9, 14, nil, 18, nil,
210
+ 24, nil, nil, nil, 1, nil, nil, nil, nil, nil,
211
+ 22, nil, 10, 12, 34, 19, nil, 25, nil, nil,
212
+ 35, nil, 26, 28, 13, 16, 4, 21, nil, 29,
213
+ nil, 33, 2, 6, 9, 14, nil, 18, nil, 24,
214
+ nil, nil, nil, 1, nil, nil, nil, nil, nil, 22,
215
+ nil, 10, 12, 34, 19, nil, 25, nil, nil, 35,
216
+ nil, 26, 28, 13, 16, 4, 21, nil, 29, nil,
217
+ 33, 2, 6, 9, 14, nil, 18, nil, 24, nil,
218
+ nil, nil, 1, nil, nil, nil, nil, nil, 22, nil,
219
+ 10, 12, 34, 19, nil, 25, nil, nil, 35, 126,
220
+ 26, 28, 13, 16, 4, 21, nil, 29, nil, 33,
221
+ 2, 6, 9, 14, nil, 18, nil, 24, nil, nil,
222
+ nil, 1, nil, nil, 68, nil, nil, 22, nil, 10,
223
+ 12, 34, 19, nil, 25, nil, nil, 35, nil, 26,
224
+ 28, 13, 16, 4, 21, nil, 29, nil, 33, 2,
225
+ 6, 9, 14, nil, 18, nil, 24, nil, nil, nil,
226
+ 1, nil, nil, nil, nil, 71, 22, nil, 10, 12,
227
+ 34, 19, nil, 25, nil, nil, 35, nil, 26, 28,
228
+ 13, 16, 4, 21, nil, 29, nil, 33, 2, 6,
229
+ 9, 14, nil, 18, nil, 24, nil, nil, nil, 1,
230
+ nil, nil, nil, nil, nil, 22, nil, 10, 12, 34,
231
+ 19, nil, 25, nil, 122, 35, nil, 26, 28, 13,
232
+ 16, 4, 21, nil, 29, nil, 33, 2, 6, 9,
233
+ 14, nil, 18, nil, 24, nil, nil, nil, 1, nil,
234
+ nil, nil, nil, nil, 22, nil, 10, 12, 34, 19,
235
+ nil, 25, nil, nil, 35, nil, 26, 28, 13, 16,
236
+ 4, 21, nil, 29, nil, 33, 2, 6, 9, 14,
237
+ nil, 18, nil, 24, nil, nil, nil, 1, nil, nil,
238
+ nil, nil, nil, 22, 114, 10, 12, 34, 19, nil,
239
+ 25, nil, nil, 35, nil, 26, 28, 13, 16, 4,
240
+ 21, nil, 29, nil, 33, 2, 6, 9, 14, nil,
241
+ 18, nil, 24, nil, nil, 112, 1, nil, nil, nil,
242
+ nil, nil, 22, nil, 10, 12, 34, 19, nil, 25,
243
+ nil, nil, 35, nil, 26, 28, 13, 16, 4, 21,
244
+ nil, 29, nil, 33, 2, 6, 9, 14, nil, 18,
245
+ nil, 24, nil, nil, nil, 1, nil, nil, nil, nil,
246
+ nil, 22, nil, nil, nil, 34, nil, 10, 12, 76,
247
+ 19, nil, 25, 26, 28, 35, nil, 4, nil, 13,
248
+ 16, nil, 21, nil, 29, nil, 33, 2, 6, 9,
249
+ 14, nil, 18, nil, 24, nil, nil, nil, 1, nil,
250
+ nil, nil, nil, nil, 22, nil, 10, 12, 34, 19,
251
+ nil, 25, nil, nil, 35, nil, 26, 28, 13, 16,
252
+ 4, 21, nil, 29, nil, 33, 2, 6, 9, 14,
253
+ nil, 18, nil, 24, nil, nil, nil, 1, nil, nil,
254
+ nil, nil, 108, 22, nil, 10, 12, 34, 19, nil,
255
+ 25, nil, nil, 35, nil, 26, 28, 13, 16, 4,
256
+ 21, nil, 29, nil, 33, 2, 6, 9, 14, nil,
257
+ 18, nil, 24, nil, nil, nil, 1, nil, nil, 107,
258
+ nil, nil, 22, nil, nil, nil, 34, nil, 10, 12,
259
+ nil, 19, nil, 25, 26, 28, 35, nil, 4, nil,
260
+ 13, 16, 79, 21, nil, 29, nil, 33, 2, 6,
261
+ 9, 14, nil, 18, nil, 24, nil, nil, nil, 1,
262
+ nil, nil, nil, nil, nil, 22, nil, 10, 12, 34,
263
+ 19, nil, 25, nil, nil, 35, nil, 26, 28, 13,
264
+ 16, 4, 21, nil, 29, 95, 33, 2, 6, 9,
265
+ 14, nil, 18, nil, 24, nil, nil, nil, 1, nil,
266
+ nil, nil, nil, nil, 22, nil, 10, 12, 34, 19,
267
+ nil, 25, nil, nil, 35, nil, 26, 28, 13, 16,
268
+ 4, 21, nil, 29, nil, 33, 2, 6, 9, 14,
269
+ nil, 18, nil, 24, nil, nil, 83, 1, nil, nil,
270
+ nil, nil, nil, 22, nil, 10, 12, 34, 19, 84,
271
+ 25, nil, nil, 35, nil, 26, 28, 13, 16, 4,
272
+ 21, nil, 29, nil, 33, 2, 6, 9, 14, nil,
273
+ 18, nil, 24, nil, nil, nil, 1, nil, nil, nil,
274
+ nil, nil, 22, nil, 10, 12, 34, 19, nil, 25,
275
+ nil, nil, 35, nil, 26, 28, 13, 16, 4, 21,
276
+ 85, 29, nil, 33, 2, 6, 9, 14, nil, 18,
277
+ nil, 24, nil, nil, nil, 1, nil, nil, nil, nil,
278
+ nil, 22, nil, nil, nil, 34, nil, nil, nil, nil,
279
+ nil, nil, nil, 26, 28, 10, 12, 4, 19, nil,
280
+ 25, nil, nil, 35, nil, 145, nil, 13, 16, nil,
281
+ 21, nil, 29, nil, 33, 2, 6, 9, 14, nil,
282
+ 18, nil, 24, nil, nil, nil, 1, nil, nil, nil,
283
+ nil, nil, 22, nil, nil, nil, 34, nil, nil, nil,
284
+ nil, nil, nil, nil, 26, 28, nil, nil, 4 ]
160
285
 
161
286
  racc_action_check = [
162
- 0, 84, 0, 84, 0, 68, 10, 0, 87, 55,
163
- 87, 0, 51, 0, 0, 0, 0, 0, 0, 0,
164
- 10, 43, 43, 0, 3, 0, 3, 56, 3, 56,
165
- 37, 3, 70, 0, 70, 3, 36, 3, 3, 3,
166
- 3, 3, 3, 3, 33, 30, 37, 3, 37, 3,
167
- 63, 4, 4, 4, 75, 4, 75, 3, 4, 64,
168
- 65, 53, 4, 38, 4, 4, 4, 4, 4, 4,
169
- 4, 25, 72, 73, 4, 5, 4, 5, 23, 5,
170
- 39, 14, 5, 11, 4, 79, 5, 44, 5, 5,
171
- 5, 5, 5, 5, 5, 86, 40, 41, 5, 6,
172
- 5, 91, 90, 50, 90, nil, 90, nil, 5, 90,
173
- nil, 90, nil, 90, nil, 90, 90, 90, 90, 90,
174
- 90, 90, nil, nil, nil, 90, 7, 90, 7, 7,
175
- 7, nil, nil, 7, nil, 90, nil, 7, nil, 7,
176
- 7, 7, 7, 7, 7, 7, nil, nil, nil, 7,
177
- 89, 7, 89, nil, 89, nil, nil, 89, nil, 7,
178
- nil, 89, nil, 89, 89, 89, 89, 89, 89, 89,
179
- nil, nil, nil, 89, 78, 89, 78, nil, 78, nil,
180
- nil, 78, nil, 89, nil, 78, nil, 78, 78, 78,
181
- 78, 78, 78, 78, nil, nil, nil, 78, 76, 78,
182
- 76, nil, 76, nil, 76, 76, nil, 78, nil, 76,
183
- nil, 76, 76, 76, 76, 76, 76, 76, nil, nil,
184
- nil, 76, 15, 76, 15, nil, 15, nil, nil, 15,
185
- nil, 76, nil, 15, nil, 15, 15, 15, 15, 15,
186
- 15, 15, nil, nil, nil, 15, 74, 15, 74, nil,
187
- 74, nil, nil, 74, nil, 15, nil, 74, nil, 74,
188
- 74, 74, 74, 74, 74, 74, nil, nil, nil, 74,
189
- 71, 74, 71, nil, 71, nil, 74, 71, nil, 74,
190
- nil, 71, nil, 71, 71, 71, 71, 71, 71, 71,
191
- nil, nil, nil, 71, 27, 71, 27, nil, 27, nil,
192
- nil, 27, 71, 71, nil, 27, 27, 27, 27, 27,
193
- 27, 27, 27, 27, nil, nil, nil, 27, nil, 27,
194
- nil, 29, 29, 29, nil, 29, nil, 27, 29, nil,
195
- nil, nil, 29, nil, 29, 29, 29, 29, 29, 29,
196
- 29, nil, nil, nil, 29, 62, 29, 62, nil, 62,
197
- nil, nil, 62, nil, 29, nil, 62, nil, 62, 62,
198
- 62, 62, 62, 62, 62, nil, nil, nil, 62, 31,
199
- 62, 31, nil, 31, nil, nil, 31, nil, 62, nil,
200
- 31, nil, 31, 31, 31, 31, 31, 31, 31, nil,
201
- nil, nil, 31, 32, 31, 32, nil, 32, nil, nil,
202
- 32, nil, 31, nil, 32, nil, 32, 32, 32, 32,
203
- 32, 32, 32, nil, nil, 32, 32, 61, 32, 61,
204
- nil, 61, nil, nil, 61, nil, 32, nil, 61, nil,
205
- 61, 61, 61, 61, 61, 61, 61, nil, nil, nil,
206
- 61, 35, 61, 35, 35, 35, nil, nil, 35, nil,
207
- 61, nil, 35, nil, 35, 35, 35, 35, 35, 35,
208
- 35, nil, nil, nil, 35, 57, 35, 57, nil, 57,
209
- nil, nil, 57, nil, 35, nil, 57, nil, 57, 57,
210
- 57, 57, 57, 57, 57, nil, nil, nil, 57, 54,
211
- 57, 54, nil, 54, nil, 57, 54, nil, 57, nil,
212
- 54, nil, 54, 54, 54, 54, 54, 54, 54, nil,
213
- nil, nil, 54, 49, 54, 49, nil, 49, nil, nil,
214
- 49, 54, 54, nil, 49, nil, 49, 49, 49, 49,
215
- 49, 49, 49, nil, nil, 49, 49, nil, 49, nil,
216
- 97, nil, 97, nil, 97, nil, 49, 97, nil, 97,
217
- nil, 97, nil, 97, 97, 97, 97, 97, 97, 97,
218
- nil, nil, nil, 97, nil, 97, nil, nil, nil, nil,
219
- nil, nil, nil, 97 ]
287
+ 0, 0, 34, 0, 140, 0, 140, 93, 0, 122,
288
+ 100, 122, 0, 0, 142, 0, 142, 0, 46, 0,
289
+ 0, 0, 0, 0, 126, 0, 126, 0, 35, 72,
290
+ 62, 0, 96, 1, 96, 1, 80, 0, 81, 35,
291
+ 42, 0, 66, 66, 86, 34, 55, 55, 41, 0,
292
+ 0, 145, 145, 0, 145, 90, 145, 93, 40, 145,
293
+ 67, 145, 94, 145, 145, 65, 145, 39, 145, 98,
294
+ 145, 145, 145, 145, 145, 62, 145, 62, 145, 64,
295
+ 35, 47, 145, 102, 63, 104, 105, 28, 145, 111,
296
+ 4, 4, 145, 4, 25, 4, 118, 119, 4, 121,
297
+ 145, 145, 4, 4, 145, 4, 50, 4, 24, 4,
298
+ 4, 4, 4, 4, 124, 4, 22, 4, 60, 128,
299
+ 18, 4, 130, 132, 133, 15, 138, 4, 59, 58,
300
+ 144, 4, 57, 12, 12, 12, 12, 146, 12, 4,
301
+ 4, 12, 106, 4, nil, 12, 12, nil, 12, nil,
302
+ 12, nil, 12, 12, 12, 12, 12, nil, 12, nil,
303
+ 12, nil, nil, nil, 12, nil, nil, nil, nil, nil,
304
+ 12, nil, 14, 14, 12, 14, nil, 14, nil, nil,
305
+ 14, nil, 12, 12, 14, 14, 12, 14, nil, 14,
306
+ nil, 14, 14, 14, 14, 14, nil, 14, nil, 14,
307
+ nil, nil, nil, 14, nil, nil, nil, nil, nil, 14,
308
+ nil, 135, 135, 14, 135, nil, 135, nil, nil, 135,
309
+ nil, 14, 14, 135, 135, 14, 135, nil, 135, nil,
310
+ 135, 135, 135, 135, 135, nil, 135, nil, 135, nil,
311
+ nil, nil, 135, nil, nil, nil, nil, nil, 135, nil,
312
+ 16, 16, 135, 16, nil, 16, nil, nil, 16, nil,
313
+ 135, 135, 16, 16, 135, 16, nil, 16, nil, 16,
314
+ 16, 16, 16, 16, nil, 16, nil, 16, nil, nil,
315
+ nil, 16, nil, nil, nil, nil, nil, 16, nil, 17,
316
+ 17, 16, 17, nil, 17, nil, nil, 17, nil, 16,
317
+ 16, 17, 17, 16, 17, nil, 17, nil, 17, 17,
318
+ 17, 17, 17, nil, 17, nil, 17, nil, nil, nil,
319
+ 17, nil, nil, nil, nil, nil, 17, nil, 129, 129,
320
+ 17, 129, nil, 129, nil, nil, 129, nil, 17, 17,
321
+ 129, 129, 17, 129, nil, 129, nil, 129, 129, 129,
322
+ 129, 129, nil, 129, nil, 129, nil, nil, nil, 129,
323
+ nil, nil, nil, nil, nil, 129, nil, 19, 19, 129,
324
+ 19, 19, 19, nil, nil, 19, nil, 129, 129, 19,
325
+ 19, 129, 19, nil, 19, nil, 19, 19, 19, 19,
326
+ 19, nil, 19, nil, 19, nil, nil, nil, 19, nil,
327
+ nil, nil, nil, nil, 19, nil, 21, 21, 19, 21,
328
+ nil, 21, nil, nil, 21, nil, 19, 19, 21, 21,
329
+ 19, 21, nil, 21, nil, 21, 21, 21, 21, 21,
330
+ nil, 21, nil, 21, nil, nil, nil, 21, nil, nil,
331
+ nil, nil, nil, 21, nil, 125, 125, 21, 125, nil,
332
+ 125, nil, nil, 125, nil, 21, 21, 125, 125, 21,
333
+ 125, nil, 125, nil, 125, 125, 125, 125, 125, nil,
334
+ 125, nil, 125, nil, nil, nil, 125, nil, nil, nil,
335
+ nil, nil, 125, nil, 123, 123, 125, 123, nil, 123,
336
+ nil, nil, 123, 125, 125, 125, 123, 123, 125, 123,
337
+ nil, 123, nil, 123, 123, 123, 123, 123, nil, 123,
338
+ nil, 123, nil, nil, nil, 123, nil, nil, nil, nil,
339
+ nil, 123, nil, nil, nil, 123, nil, nil, nil, nil,
340
+ 123, nil, nil, 123, 123, 116, 116, 123, 116, nil,
341
+ 116, nil, 116, 116, nil, nil, nil, 116, 116, nil,
342
+ 116, nil, 116, nil, 116, 116, 116, 116, 116, nil,
343
+ 116, nil, 116, nil, nil, nil, 116, nil, nil, nil,
344
+ nil, nil, 116, nil, 56, 56, 116, 56, nil, 56,
345
+ nil, nil, 56, nil, 116, 116, 56, 56, 116, 56,
346
+ nil, 56, nil, 56, 56, 56, 56, 56, nil, 56,
347
+ nil, 56, nil, nil, nil, 56, nil, nil, nil, nil,
348
+ nil, 56, 56, 29, 29, 56, 29, nil, 29, nil,
349
+ nil, 29, nil, 56, 56, 29, 29, 56, 29, nil,
350
+ 29, nil, 29, 29, 29, 29, 29, nil, 29, nil,
351
+ 29, nil, nil, nil, 29, nil, nil, nil, nil, nil,
352
+ 29, nil, 103, 103, 29, 103, nil, 103, nil, nil,
353
+ 103, nil, 29, 29, 103, 103, 29, 103, nil, 103,
354
+ nil, 103, 103, 103, 103, 103, nil, 103, nil, 103,
355
+ nil, nil, nil, 103, nil, nil, nil, nil, nil, 103,
356
+ nil, 99, 99, 103, 99, nil, 99, nil, nil, 99,
357
+ nil, 103, 103, 99, 99, 103, 99, nil, 99, nil,
358
+ 99, 99, 99, 99, 99, nil, 99, nil, 99, nil,
359
+ nil, nil, 99, nil, nil, nil, nil, nil, 99, nil,
360
+ 37, 37, 99, 37, nil, 37, nil, nil, 37, 99,
361
+ 99, 99, 37, 37, 99, 37, nil, 37, nil, 37,
362
+ 37, 37, 37, 37, nil, 37, nil, 37, nil, nil,
363
+ nil, 37, nil, nil, 37, nil, nil, 37, nil, 38,
364
+ 38, 37, 38, nil, 38, nil, nil, 38, nil, 37,
365
+ 37, 38, 38, 37, 38, nil, 38, nil, 38, 38,
366
+ 38, 38, 38, nil, 38, nil, 38, nil, nil, nil,
367
+ 38, nil, nil, nil, nil, 38, 38, nil, 97, 97,
368
+ 38, 97, nil, 97, nil, nil, 97, nil, 38, 38,
369
+ 97, 97, 38, 97, nil, 97, nil, 97, 97, 97,
370
+ 97, 97, nil, 97, nil, 97, nil, nil, nil, 97,
371
+ nil, nil, nil, nil, nil, 97, nil, 91, 91, 97,
372
+ 91, nil, 91, nil, 97, 91, nil, 97, 97, 91,
373
+ 91, 97, 91, nil, 91, nil, 91, 91, 91, 91,
374
+ 91, nil, 91, nil, 91, nil, nil, nil, 91, nil,
375
+ nil, nil, nil, nil, 91, nil, 88, 88, 91, 88,
376
+ nil, 88, nil, nil, 88, nil, 91, 91, 88, 88,
377
+ 91, 88, nil, 88, nil, 88, 88, 88, 88, 88,
378
+ nil, 88, nil, 88, nil, nil, nil, 88, nil, nil,
379
+ nil, nil, nil, 88, 88, 82, 82, 88, 82, nil,
380
+ 82, nil, nil, 82, nil, 88, 88, 82, 82, 88,
381
+ 82, nil, 82, nil, 82, 82, 82, 82, 82, nil,
382
+ 82, nil, 82, nil, nil, 82, 82, nil, nil, nil,
383
+ nil, nil, 82, nil, 43, 43, 82, 43, nil, 43,
384
+ nil, nil, 43, nil, 82, 82, 43, 43, 82, 43,
385
+ nil, 43, nil, 43, 43, 43, 43, 43, nil, 43,
386
+ nil, 43, nil, nil, nil, 43, nil, nil, nil, nil,
387
+ nil, 43, nil, nil, nil, 43, nil, 45, 45, 45,
388
+ 45, nil, 45, 43, 43, 45, nil, 43, nil, 45,
389
+ 45, nil, 45, nil, 45, nil, 45, 45, 45, 45,
390
+ 45, nil, 45, nil, 45, nil, nil, nil, 45, nil,
391
+ nil, nil, nil, nil, 45, nil, 70, 70, 45, 70,
392
+ nil, 70, nil, nil, 70, nil, 45, 45, 70, 70,
393
+ 45, 70, nil, 70, nil, 70, 70, 70, 70, 70,
394
+ nil, 70, nil, 70, nil, nil, nil, 70, nil, nil,
395
+ nil, nil, 70, 70, nil, 69, 69, 70, 69, nil,
396
+ 69, nil, nil, 69, nil, 70, 70, 69, 69, 70,
397
+ 69, nil, 69, nil, 69, 69, 69, 69, 69, nil,
398
+ 69, nil, 69, nil, nil, nil, 69, nil, nil, 69,
399
+ nil, nil, 69, nil, nil, nil, 69, nil, 48, 48,
400
+ nil, 48, nil, 48, 69, 69, 48, nil, 69, nil,
401
+ 48, 48, 48, 48, nil, 48, nil, 48, 48, 48,
402
+ 48, 48, nil, 48, nil, 48, nil, nil, nil, 48,
403
+ nil, nil, nil, nil, nil, 48, nil, 61, 61, 48,
404
+ 61, nil, 61, nil, nil, 61, nil, 48, 48, 61,
405
+ 61, 48, 61, nil, 61, 61, 61, 61, 61, 61,
406
+ 61, nil, 61, nil, 61, nil, nil, nil, 61, nil,
407
+ nil, nil, nil, nil, 61, nil, 51, 51, 61, 51,
408
+ nil, 51, nil, nil, 51, nil, 61, 61, 51, 51,
409
+ 61, 51, nil, 51, nil, 51, 51, 51, 51, 51,
410
+ nil, 51, nil, 51, nil, nil, 51, 51, nil, nil,
411
+ nil, nil, nil, 51, nil, 52, 52, 51, 52, 52,
412
+ 52, nil, nil, 52, nil, 51, 51, 52, 52, 51,
413
+ 52, nil, 52, nil, 52, 52, 52, 52, 52, nil,
414
+ 52, nil, 52, nil, nil, nil, 52, nil, nil, nil,
415
+ nil, nil, 52, nil, 54, 54, 52, 54, nil, 54,
416
+ nil, nil, 54, nil, 52, 52, 54, 54, 52, 54,
417
+ 54, 54, nil, 54, 54, 54, 54, 54, nil, 54,
418
+ nil, 54, nil, nil, nil, 54, nil, nil, nil, nil,
419
+ nil, 54, nil, nil, nil, 54, nil, nil, nil, nil,
420
+ nil, nil, nil, 54, 54, 154, 154, 54, 154, nil,
421
+ 154, nil, nil, 154, nil, 154, nil, 154, 154, nil,
422
+ 154, nil, 154, nil, 154, 154, 154, 154, 154, nil,
423
+ 154, nil, 154, nil, nil, nil, 154, nil, nil, nil,
424
+ nil, nil, 154, nil, nil, nil, 154, nil, nil, nil,
425
+ nil, nil, nil, nil, 154, 154, nil, nil, 154 ]
220
426
 
221
427
  racc_action_pointer = [
222
- -2, nil, nil, 22, 49, 73, 76, 124, nil, nil,
223
- -9, 83, nil, nil, 66, 220, nil, nil, nil, nil,
224
- nil, nil, nil, 63, nil, 48, nil, 292, nil, 319,
225
- 9, 367, 391, 18, nil, 439, 7, 15, 35, 80,
226
- 89, 89, nil, 10, 65, nil, nil, nil, nil, 511,
227
- 77, -11, nil, 33, 487, -21, -4, 463, nil, nil,
228
- nil, 415, 343, 35, 49, 38, nil, nil, -18, nil,
229
- 1, 268, 43, 43, 244, 23, 196, nil, 172, 74,
230
- nil, nil, nil, nil, -30, nil, 66, -23, nil, 148,
231
- 100, 91, nil, nil, nil, nil, nil, 538, nil, nil ]
428
+ -2, -2, nil, nil, 88, nil, nil, nil, nil, nil,
429
+ nil, nil, 131, nil, 170, 125, 248, 287, 89, 365,
430
+ nil, 404, 75, nil, 77, 92, nil, nil, 85, 611,
431
+ nil, nil, nil, nil, 0, 26, nil, 728, 767, 30,
432
+ 24, 11, -16, 962, nil, 1005, -8, 81, 1126, nil,
433
+ 78, 1204, 1243, nil, 1282, 5, 572, 102, 120, 120,
434
+ 106, 1165, 28, 39, 35, 11, 30, 58, nil, 1083,
435
+ 1044, nil, -5, nil, nil, nil, nil, nil, nil, nil,
436
+ 8, 7, 923, nil, nil, nil, 3, nil, 884, nil,
437
+ 25, 845, nil, 5, 9, nil, -15, 806, 23, 689,
438
+ -34, nil, 81, 650, 83, 75, 130, nil, nil, nil,
439
+ nil, 58, nil, nil, nil, nil, 533, nil, 84, 85,
440
+ nil, 53, -38, 482, 69, 443, -23, nil, 107, 326,
441
+ 110, nil, 121, 113, nil, 209, nil, nil, 81, nil,
442
+ -43, nil, -33, nil, 119, 49, 126, nil, nil, nil,
443
+ nil, nil, nil, nil, 1333, nil, nil, nil ]
232
444
 
233
445
  racc_action_default = [
234
- -55, -5, -6, -55, -55, -12, -55, -55, -37, -53,
235
- -29, -55, -38, -11, -55, -1, -40, -23, -39, -25,
236
- -2, -41, -26, -55, -3, -55, -4, -55, -42, -55,
237
- -55, -13, -55, -48, -43, -55, -29, -32, -55, -55,
238
- -55, -14, -24, -18, -48, -54, -44, -7, -51, -55,
239
- -55, -55, -45, -55, -55, -55, -32, -55, -27, 100,
240
- -8, -55, -55, -55, -55, -55, -52, -47, -50, -28,
241
- -32, -55, -29, -55, -55, -32, -16, -15, -19, -20,
242
- -10, -46, -49, -35, -32, -30, -29, -32, -33, -55,
243
- -20, -55, -36, -31, -34, -17, -21, -20, -9, -22 ]
446
+ -83, -73, -55, -39, -19, -7, -54, -40, -8, -56,
447
+ -51, -9, -83, -53, -19, -83, -83, -1, -83, -83,
448
+ -37, -83, -23, -2, -83, -83, -10, -3, -83, -83,
449
+ -18, -4, -5, -52, -43, -83, -6, -83, -83, -73,
450
+ -83, -73, -83, -20, -57, -83, -83, -83, -83, -38,
451
+ -63, -83, -83, -58, -83, -23, -83, -63, -26, -83,
452
+ -80, -83, -46, -43, -83, -83, -30, -83, -70, -83,
453
+ -83, -74, -83, -69, -72, -13, -59, -11, 158, -76,
454
+ -83, -83, -83, -66, -60, -77, -23, -24, -83, -21,
455
+ -83, -83, -12, -83, -83, -78, -46, -83, -83, -83,
456
+ -83, -41, -83, -83, -83, -83, -32, -71, -75, -68,
457
+ -61, -65, -67, -25, -22, -62, -28, -27, -80, -80,
458
+ -79, -83, -46, -83, -43, -83, -46, -42, -30, -31,
459
+ -34, -15, -83, -83, -64, -83, -82, -81, -43, -47,
460
+ -46, -44, -46, -49, -83, -34, -83, -33, -16, -29,
461
+ -45, -48, -50, -17, -34, -35, -14, -36 ]
244
462
 
245
463
  racc_goto_table = [
246
- 15, 55, 42, 27, 29, 31, 50, 35, 33, 38,
247
- 77, 64, 91, 40, 42, 30, 42, 65, 42, 11,
248
- 73, nil, 42, 96, nil, nil, nil, 44, nil, nil,
249
- 99, nil, 49, nil, 83, 53, 42, nil, 95, 88,
250
- nil, 82, nil, nil, nil, nil, nil, nil, 92, nil,
251
- nil, 94, nil, 68, 71, nil, nil, 74, 42, nil,
252
- nil, 42, 78, 42, nil, 42, nil, nil, nil, nil,
253
- nil, 85, nil, nil, nil, nil, nil, nil, nil, nil,
254
- nil, nil, nil, nil, 42, 93, nil, nil, nil, nil,
255
- 97 ]
464
+ 17, 98, 105, 64, 50, 49, 117, 80, 56, 133,
465
+ 57, 118, 45, 42, 90, 94, 48, 39, 59, 52,
466
+ 15, 54, 40, 46, 146, nil, nil, nil, nil, 61,
467
+ nil, 49, 100, 49, nil, 121, 49, 69, 70, 155,
468
+ 49, 87, 49, nil, nil, nil, nil, nil, 157, 49,
469
+ 149, 82, nil, nil, nil, nil, 88, 49, 49, nil,
470
+ 72, 139, 74, nil, 144, 143, nil, 111, 134, nil,
471
+ 49, nil, 113, 136, 137, nil, 49, nil, nil, 151,
472
+ nil, 152, nil, nil, nil, nil, nil, nil, nil, nil,
473
+ nil, 116, nil, 141, nil, nil, nil, 123, nil, 125,
474
+ nil, nil, nil, 129, 49, nil, nil, 150, nil, nil,
475
+ nil, 49, nil, 49, nil, nil, nil, 49, nil, nil,
476
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
477
+ nil, nil, nil, nil, nil, 116, nil, nil, nil, nil,
478
+ nil, nil, 49, nil, nil, 154 ]
256
479
 
257
480
  racc_goto_check = [
258
- 2, 18, 3, 2, 2, 2, 20, 2, 19, 17,
259
- 14, 12, 11, 10, 3, 9, 3, 20, 3, 1,
260
- 18, nil, 3, 11, nil, nil, nil, 19, nil, nil,
261
- 11, nil, 2, nil, 18, 17, 3, nil, 14, 18,
262
- nil, 20, nil, nil, nil, nil, nil, nil, 18, nil,
263
- nil, 18, nil, 19, 2, nil, nil, 2, 3, nil,
264
- nil, 3, 2, 3, nil, 3, nil, nil, nil, nil,
265
- nil, 17, nil, nil, nil, nil, nil, nil, nil, nil,
266
- nil, nil, nil, nil, 3, 17, nil, nil, nil, nil,
267
- 2 ]
481
+ 2, 23, 15, 22, 24, 3, 19, 25, 18, 16,
482
+ 24, 11, 2, 12, 25, 30, 2, 27, 13, 2,
483
+ 1, 2, 28, 12, 14, nil, nil, nil, nil, 2,
484
+ nil, 3, 22, 3, nil, 23, 3, 2, 2, 14,
485
+ 3, 18, 3, nil, nil, nil, nil, nil, 14, 3,
486
+ 19, 2, nil, nil, nil, nil, 2, 3, 3, nil,
487
+ 28, 23, 28, nil, 15, 23, nil, 24, 25, nil,
488
+ 3, nil, 18, 30, 30, nil, 3, nil, nil, 23,
489
+ nil, 23, nil, nil, nil, nil, nil, nil, nil, nil,
490
+ nil, 2, nil, 22, nil, nil, nil, 2, nil, 2,
491
+ nil, nil, nil, 2, 3, nil, nil, 22, nil, nil,
492
+ nil, 3, nil, 3, nil, nil, nil, 3, nil, nil,
493
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
494
+ nil, nil, nil, nil, nil, 2, nil, nil, nil, nil,
495
+ nil, nil, 3, nil, nil, 2 ]
268
496
 
269
497
  racc_goto_pointer = [
270
- nil, 19, 0, -13, nil, nil, nil, nil, nil, 10,
271
- -1, -67, -32, nil, -51, nil, nil, -1, -36, 2,
272
- -27, nil ]
498
+ nil, 20, 0, -12, nil, nil, nil, nil, nil, nil,
499
+ nil, -82, 9, -7, -106, -64, -97, nil, -14, -85,
500
+ nil, nil, -31, -61, -14, -43, nil, 16, 21, nil,
501
+ -45 ]
273
502
 
274
503
  racc_goto_default = [
275
- nil, nil, 76, 17, 20, 24, 26, 1, 2, nil,
276
- nil, nil, nil, 13, nil, 19, 22, nil, nil, nil,
277
- nil, 51 ]
504
+ nil, nil, 43, 20, 23, 27, 31, 32, 36, 5,
505
+ 8, 11, nil, nil, nil, nil, nil, 30, nil, nil,
506
+ 3, 7, nil, nil, nil, nil, 81, nil, nil, 41,
507
+ nil ]
278
508
 
279
509
  racc_token_table = {
280
510
  false => 0,
281
511
  Object.new => 1,
282
- :BOLDSTART => 2,
283
- :BOLDEND => 3,
284
- :ITALICSTART => 4,
285
- :ITALICEND => 5,
286
- :LINKSTART => 6,
287
- :LINKEND => 7,
288
- :LINKSEP => 8,
289
- :INTLINKSTART => 9,
290
- :INTLINKEND => 10,
291
- :INTLINKSEP => 11,
292
- :RESOURCE_SEP => 12,
293
- :SECTION_START => 13,
294
- :SECTION_END => 14,
295
- :TEXT => 15,
296
- :PRE => 16,
297
- :HLINE => 17,
298
- :SIGNATURE_NAME => 18,
299
- :SIGNATURE_DATE => 19,
300
- :SIGNATURE_FULL => 20,
301
- :UL_START => 21,
302
- :UL_END => 22,
303
- :LI_START => 23,
304
- :LI_END => 24,
305
- :OL_START => 25,
306
- :OL_END => 26,
307
- :TABLE_START => 27,
308
- :TABLE_END => 28,
309
- :ROW_START => 29,
310
- :ROW_END => 30,
311
- :HEAD_START => 31,
312
- :HEAD_END => 32,
313
- :CELL_START => 33,
314
- :CELL_END => 34,
315
- :PARA_START => 35,
316
- :PARA_END => 36 }
512
+ :TEXT => 2,
513
+ :BOLD_START => 3,
514
+ :BOLD_END => 4,
515
+ :ITALIC_START => 5,
516
+ :ITALIC_END => 6,
517
+ :LINK_START => 7,
518
+ :LINK_END => 8,
519
+ :LINKSEP => 9,
520
+ :INTLINK_START => 10,
521
+ :INTLINK_END => 11,
522
+ :INTLINKSEP => 12,
523
+ :RESOURCESEP => 13,
524
+ :CHAR_ENT => 14,
525
+ :PRE_START => 15,
526
+ :PRE_END => 16,
527
+ :PREINDENT_START => 17,
528
+ :PREINDENT_END => 18,
529
+ :SECTION_START => 19,
530
+ :SECTION_END => 20,
531
+ :HLINE => 21,
532
+ :SIGNATURE_NAME => 22,
533
+ :SIGNATURE_DATE => 23,
534
+ :SIGNATURE_FULL => 24,
535
+ :PARA_START => 25,
536
+ :PARA_END => 26,
537
+ :UL_START => 27,
538
+ :UL_END => 28,
539
+ :OL_START => 29,
540
+ :OL_END => 30,
541
+ :LI_START => 31,
542
+ :LI_END => 32,
543
+ :DL_START => 33,
544
+ :DL_END => 34,
545
+ :DT_START => 35,
546
+ :DT_END => 36,
547
+ :DD_START => 37,
548
+ :DD_END => 38,
549
+ :TAG_START => 39,
550
+ :TAG_END => 40,
551
+ :ATTR_NAME => 41,
552
+ :ATTR_VALUE => 42,
553
+ :TABLE_START => 43,
554
+ :TABLE_END => 44,
555
+ :ROW_START => 45,
556
+ :ROW_END => 46,
557
+ :HEAD_START => 47,
558
+ :HEAD_END => 48,
559
+ :CELL_START => 49,
560
+ :CELL_END => 50,
561
+ :KEYWORD => 51,
562
+ :TEMPLATE_START => 52,
563
+ :TEMPLATE_END => 53,
564
+ :CATEGORY => 54,
565
+ :PASTE_START => 55,
566
+ :PASTE_END => 56 }
317
567
 
318
568
  racc_use_result_var = true
319
569
 
320
- racc_nt_base = 37
570
+ racc_nt_base = 57
321
571
 
322
572
  Racc_arg = [
323
573
  racc_action_table,
@@ -338,31 +588,47 @@ Racc_arg = [
338
588
  Racc_token_to_s_table = [
339
589
  '$end',
340
590
  'error',
341
- 'BOLDSTART',
342
- 'BOLDEND',
343
- 'ITALICSTART',
344
- 'ITALICEND',
345
- 'LINKSTART',
346
- 'LINKEND',
591
+ 'TEXT',
592
+ 'BOLD_START',
593
+ 'BOLD_END',
594
+ 'ITALIC_START',
595
+ 'ITALIC_END',
596
+ 'LINK_START',
597
+ 'LINK_END',
347
598
  'LINKSEP',
348
- 'INTLINKSTART',
349
- 'INTLINKEND',
599
+ 'INTLINK_START',
600
+ 'INTLINK_END',
350
601
  'INTLINKSEP',
351
- 'RESOURCE_SEP',
602
+ 'RESOURCESEP',
603
+ 'CHAR_ENT',
604
+ 'PRE_START',
605
+ 'PRE_END',
606
+ 'PREINDENT_START',
607
+ 'PREINDENT_END',
352
608
  'SECTION_START',
353
609
  'SECTION_END',
354
- 'TEXT',
355
- 'PRE',
356
610
  'HLINE',
357
611
  'SIGNATURE_NAME',
358
612
  'SIGNATURE_DATE',
359
613
  'SIGNATURE_FULL',
614
+ 'PARA_START',
615
+ 'PARA_END',
360
616
  'UL_START',
361
617
  'UL_END',
362
- 'LI_START',
363
- 'LI_END',
364
618
  'OL_START',
365
619
  'OL_END',
620
+ 'LI_START',
621
+ 'LI_END',
622
+ 'DL_START',
623
+ 'DL_END',
624
+ 'DT_START',
625
+ 'DT_END',
626
+ 'DD_START',
627
+ 'DD_END',
628
+ 'TAG_START',
629
+ 'TAG_END',
630
+ 'ATTR_NAME',
631
+ 'ATTR_VALUE',
366
632
  'TABLE_START',
367
633
  'TABLE_END',
368
634
  'ROW_START',
@@ -371,8 +637,12 @@ Racc_token_to_s_table = [
371
637
  'HEAD_END',
372
638
  'CELL_START',
373
639
  'CELL_END',
374
- 'PARA_START',
375
- 'PARA_END',
640
+ 'KEYWORD',
641
+ 'TEMPLATE_START',
642
+ 'TEMPLATE_END',
643
+ 'CATEGORY',
644
+ 'PASTE_START',
645
+ 'PASTE_END',
376
646
  '$start',
377
647
  'wiki',
378
648
  'repeated_contents',
@@ -380,13 +650,18 @@ Racc_token_to_s_table = [
380
650
  'text',
381
651
  'bulleted_list',
382
652
  'numbered_list',
653
+ 'dictionary_list',
383
654
  'preformatted',
384
655
  'section',
656
+ 'tag',
657
+ 'template',
385
658
  'para_contents',
386
659
  'link_contents',
387
660
  'reslink_repeated_contents',
388
661
  'intlink_repeated_contents',
662
+ 'cat_sort_contents',
389
663
  'table',
664
+ 'tag_attributes',
390
665
  'link_repeated_contents',
391
666
  'element',
392
667
  'formatted_element',
@@ -394,7 +669,11 @@ Racc_token_to_s_table = [
394
669
  'row_contents',
395
670
  'list_item',
396
671
  'list_contents',
397
- '@1']
672
+ '@1',
673
+ 'dictionary_term',
674
+ 'dictionary_contents',
675
+ 'dictionary_definition',
676
+ 'template_parameters']
398
677
 
399
678
  Racc_debug_parser = false
400
679
 
@@ -402,9 +681,9 @@ Racc_debug_parser = false
402
681
 
403
682
  # reduce 0 omitted
404
683
 
405
- module_eval <<'.,.,', 'mediawikiparser.y', 29
684
+ module_eval <<'.,.,', 'mediawikiparser.y', 30
406
685
  def _reduce_1( val, _values, result )
407
- @nodes.push WikiAST.new
686
+ @nodes.push WikiAST.new(0, @wiki_ast_length)
408
687
  #@nodes.last.children.insert(0, val[0])
409
688
  #puts val[0]
410
689
  @nodes.last.children += val[0]
@@ -412,57 +691,87 @@ module_eval <<'.,.,', 'mediawikiparser.y', 29
412
691
  end
413
692
  .,.,
414
693
 
415
- module_eval <<'.,.,', 'mediawikiparser.y', 36
694
+ module_eval <<'.,.,', 'mediawikiparser.y', 37
416
695
  def _reduce_2( val, _values, result )
417
696
  result = val[0]
418
697
  result
419
698
  end
420
699
  .,.,
421
700
 
422
- module_eval <<'.,.,', 'mediawikiparser.y', 40
701
+ module_eval <<'.,.,', 'mediawikiparser.y', 41
423
702
  def _reduce_3( val, _values, result )
424
703
  result = val[0]
425
704
  result
426
705
  end
427
706
  .,.,
428
707
 
429
- module_eval <<'.,.,', 'mediawikiparser.y', 44
708
+ module_eval <<'.,.,', 'mediawikiparser.y', 45
430
709
  def _reduce_4( val, _values, result )
431
710
  result = val[0]
432
711
  result
433
712
  end
434
713
  .,.,
435
714
 
436
- module_eval <<'.,.,', 'mediawikiparser.y', 50
715
+ module_eval <<'.,.,', 'mediawikiparser.y', 52
437
716
  def _reduce_5( val, _values, result )
438
- p = PreformattedAST.new
439
- p.contents = val[0]
440
- result = p
717
+ list = ListAST.new(@ast_index, @ast_length)
718
+ list.list_type = :Dictionary
719
+ list.children = val[0]
720
+ result = list
441
721
  result
442
722
  end
443
723
  .,.,
444
724
 
445
- module_eval <<'.,.,', 'mediawikiparser.y', 54
725
+ module_eval <<'.,.,', 'mediawikiparser.y', 56
446
726
  def _reduce_6( val, _values, result )
447
727
  result = val[0]
448
728
  result
449
729
  end
450
730
  .,.,
451
731
 
452
- module_eval <<'.,.,', 'mediawikiparser.y', 62
732
+ module_eval <<'.,.,', 'mediawikiparser.y', 60
453
733
  def _reduce_7( val, _values, result )
454
- if val[1]
455
- p = ParagraphAST.new
456
- p.children = val[1]
457
- result = p
458
- end
734
+ result = val[0]
459
735
  result
460
736
  end
461
737
  .,.,
462
738
 
463
- module_eval <<'.,.,', 'mediawikiparser.y', 69
739
+ module_eval <<'.,.,', 'mediawikiparser.y', 64
464
740
  def _reduce_8( val, _values, result )
465
- l = LinkAST.new
741
+ result = val[0]
742
+ result
743
+ end
744
+ .,.,
745
+
746
+ module_eval <<'.,.,', 'mediawikiparser.y', 68
747
+ def _reduce_9( val, _values, result )
748
+ result = val[0]
749
+ result
750
+ end
751
+ .,.,
752
+
753
+ module_eval <<'.,.,', 'mediawikiparser.y', 74
754
+ def _reduce_10( val, _values, result )
755
+ k = KeywordAST.new(@ast_index, @ast_length)
756
+ k.text = val[0]
757
+ result = k
758
+ result
759
+ end
760
+ .,.,
761
+
762
+ module_eval <<'.,.,', 'mediawikiparser.y', 80
763
+ def _reduce_11( val, _values, result )
764
+ p = ParagraphAST.new(@ast_index, @ast_length)
765
+ p.children = val[1]
766
+ result = p
767
+ result
768
+ end
769
+ .,.,
770
+
771
+ module_eval <<'.,.,', 'mediawikiparser.y', 88
772
+ def _reduce_12( val, _values, result )
773
+ l = LinkAST.new(@ast_index, @ast_length)
774
+ l.link_type = val[0]
466
775
  l.url = val[1][0]
467
776
  l.children += val[1][1..-1] if val[1].length > 1
468
777
  result = l
@@ -470,9 +779,18 @@ module_eval <<'.,.,', 'mediawikiparser.y', 69
470
779
  end
471
780
  .,.,
472
781
 
473
- module_eval <<'.,.,', 'mediawikiparser.y', 77
474
- def _reduce_9( val, _values, result )
475
- l = ResourceLinkAST.new
782
+ module_eval <<'.,.,', 'mediawikiparser.y', 94
783
+ def _reduce_13( val, _values, result )
784
+ p = PasteAST.new(@ast_index, @ast_length)
785
+ p.children = val[1]
786
+ result = p
787
+ result
788
+ end
789
+ .,.,
790
+
791
+ module_eval <<'.,.,', 'mediawikiparser.y', 102
792
+ def _reduce_14( val, _values, result )
793
+ l = ResourceLinkAST.new(@ast_index, @ast_length)
476
794
  l.prefix = val[1]
477
795
  l.locator = val[3]
478
796
  l.children = val[4] unless val[4].nil? or val[4].empty?
@@ -481,9 +799,9 @@ module_eval <<'.,.,', 'mediawikiparser.y', 77
481
799
  end
482
800
  .,.,
483
801
 
484
- module_eval <<'.,.,', 'mediawikiparser.y', 84
485
- def _reduce_10( val, _values, result )
486
- l = InternalLinkAST.new
802
+ module_eval <<'.,.,', 'mediawikiparser.y', 109
803
+ def _reduce_15( val, _values, result )
804
+ l = InternalLinkAST.new(@ast_index, @ast_length)
487
805
  l.locator = val[1]
488
806
  l.children = val[2] unless val[2].nil? or val[2].empty?
489
807
  result = l
@@ -491,83 +809,169 @@ module_eval <<'.,.,', 'mediawikiparser.y', 84
491
809
  end
492
810
  .,.,
493
811
 
494
- # reduce 11 omitted
812
+ module_eval <<'.,.,', 'mediawikiparser.y', 116
813
+ def _reduce_16( val, _values, result )
814
+ l = CategoryAST.new(@ast_index, @ast_length)
815
+ l.locator = val[2]
816
+ l.sort_as = val[3]
817
+ result = l
818
+ result
819
+ end
820
+ .,.,
495
821
 
496
- module_eval <<'.,.,', 'mediawikiparser.y', 92
497
- def _reduce_12( val, _values, result )
822
+ module_eval <<'.,.,', 'mediawikiparser.y', 123
823
+ def _reduce_17( val, _values, result )
824
+ l = CategoryLinkAST.new(@ast_index, @ast_length)
825
+ l.locator = val[3]
826
+ l.children = val[4] unless val[4].nil? or val[4].empty?
827
+ result = l
828
+ result
829
+ end
830
+ .,.,
831
+
832
+ # reduce 18 omitted
833
+
834
+ module_eval <<'.,.,', 'mediawikiparser.y', 130
835
+ def _reduce_19( val, _values, result )
498
836
  result = nil
499
837
  result
500
838
  end
501
839
  .,.,
502
840
 
503
- module_eval <<'.,.,', 'mediawikiparser.y', 96
504
- def _reduce_13( val, _values, result )
841
+ module_eval <<'.,.,', 'mediawikiparser.y', 134
842
+ def _reduce_20( val, _values, result )
505
843
  result = val[0]
506
844
  result
507
845
  end
508
846
  .,.,
509
847
 
510
- module_eval <<'.,.,', 'mediawikiparser.y', 103
511
- def _reduce_14( val, _values, result )
848
+ module_eval <<'.,.,', 'mediawikiparser.y', 147
849
+ def _reduce_21( val, _values, result )
850
+ if val[0] != val[2]
851
+ raise Racc::ParseError.new("XHTML end tag #{val[2]} does not match start tag #{val[0]}")
852
+ end
853
+ elem = ElementAST.new(@ast_index, @ast_length)
854
+ elem.name = val[0]
855
+ elem.attributes = val[1]
856
+ result = elem
857
+ result
858
+ end
859
+ .,.,
860
+
861
+ module_eval <<'.,.,', 'mediawikiparser.y', 158
862
+ def _reduce_22( val, _values, result )
863
+ if val[0] != val[3]
864
+ raise Racc::ParseError.new("XHTML end tag #{val[3]} does not match start tag #{val[0]}")
865
+ end
866
+ elem = ElementAST.new(@ast_index, @ast_length)
867
+ elem.name = val[0]
868
+ elem.attributes = val[1]
869
+ elem.children += val[2]
870
+ result = elem
871
+ result
872
+ end
873
+ .,.,
874
+
875
+ module_eval <<'.,.,', 'mediawikiparser.y', 164
876
+ def _reduce_23( val, _values, result )
877
+ result = nil
878
+ result
879
+ end
880
+ .,.,
881
+
882
+ module_eval <<'.,.,', 'mediawikiparser.y', 170
883
+ def _reduce_24( val, _values, result )
884
+ attr_map = val[2] ? val[2] : {}
885
+ attr_map[val[0]] = true
886
+ result = attr_map
887
+ result
888
+ end
889
+ .,.,
890
+
891
+ module_eval <<'.,.,', 'mediawikiparser.y', 176
892
+ def _reduce_25( val, _values, result )
893
+ attr_map = val[2] ? val[2] : {}
894
+ attr_map[val[0]] = val[1]
895
+ result = attr_map
896
+ result
897
+ end
898
+ .,.,
899
+
900
+ module_eval <<'.,.,', 'mediawikiparser.y', 184
901
+ def _reduce_26( val, _values, result )
512
902
  result = val
513
903
  result
514
904
  end
515
905
  .,.,
516
906
 
517
- module_eval <<'.,.,', 'mediawikiparser.y', 108
518
- def _reduce_15( val, _values, result )
907
+ module_eval <<'.,.,', 'mediawikiparser.y', 189
908
+ def _reduce_27( val, _values, result )
519
909
  result = [val[0]]
520
910
  result += val[2]
521
911
  result
522
912
  end
523
913
  .,.,
524
914
 
525
- module_eval <<'.,.,', 'mediawikiparser.y', 116
526
- def _reduce_16( val, _values, result )
915
+ module_eval <<'.,.,', 'mediawikiparser.y', 197
916
+ def _reduce_28( val, _values, result )
527
917
  result = val[0]
528
918
  result
529
919
  end
530
920
  .,.,
531
921
 
532
- module_eval <<'.,.,', 'mediawikiparser.y', 121
533
- def _reduce_17( val, _values, result )
922
+ module_eval <<'.,.,', 'mediawikiparser.y', 202
923
+ def _reduce_29( val, _values, result )
534
924
  result = val[0]
535
925
  result += val[2] if val[2]
536
926
  result
537
927
  end
538
928
  .,.,
539
929
 
540
- module_eval <<'.,.,', 'mediawikiparser.y', 128
541
- def _reduce_18( val, _values, result )
930
+ module_eval <<'.,.,', 'mediawikiparser.y', 209
931
+ def _reduce_30( val, _values, result )
542
932
  result = nil
543
933
  result
544
934
  end
545
935
  .,.,
546
936
 
547
- module_eval <<'.,.,', 'mediawikiparser.y', 132
548
- def _reduce_19( val, _values, result )
937
+ module_eval <<'.,.,', 'mediawikiparser.y', 213
938
+ def _reduce_31( val, _values, result )
549
939
  result = val[1]
550
940
  result
551
941
  end
552
942
  .,.,
553
943
 
554
- module_eval <<'.,.,', 'mediawikiparser.y', 138
555
- def _reduce_20( val, _values, result )
944
+ module_eval <<'.,.,', 'mediawikiparser.y', 219
945
+ def _reduce_32( val, _values, result )
556
946
  result = nil
557
947
  result
558
948
  end
559
949
  .,.,
560
950
 
561
- module_eval <<'.,.,', 'mediawikiparser.y', 142
562
- def _reduce_21( val, _values, result )
951
+ module_eval <<'.,.,', 'mediawikiparser.y', 223
952
+ def _reduce_33( val, _values, result )
563
953
  result = val[1]
564
954
  result
565
955
  end
566
956
  .,.,
567
957
 
568
- module_eval <<'.,.,', 'mediawikiparser.y', 149
569
- def _reduce_22( val, _values, result )
570
- i = InternalLinkItemAST.new
958
+ module_eval <<'.,.,', 'mediawikiparser.y', 229
959
+ def _reduce_34( val, _values, result )
960
+ result = nil
961
+ result
962
+ end
963
+ .,.,
964
+
965
+ module_eval <<'.,.,', 'mediawikiparser.y', 233
966
+ def _reduce_35( val, _values, result )
967
+ result = val[1]
968
+ result
969
+ end
970
+ .,.,
971
+
972
+ module_eval <<'.,.,', 'mediawikiparser.y', 240
973
+ def _reduce_36( val, _values, result )
974
+ i = InternalLinkItemAST.new(@ast_index, @ast_length)
571
975
  i.children = val[1]
572
976
  result = [i]
573
977
  result += val[2] if val[2]
@@ -575,16 +979,16 @@ module_eval <<'.,.,', 'mediawikiparser.y', 149
575
979
  end
576
980
  .,.,
577
981
 
578
- module_eval <<'.,.,', 'mediawikiparser.y', 156
579
- def _reduce_23( val, _values, result )
982
+ module_eval <<'.,.,', 'mediawikiparser.y', 247
983
+ def _reduce_37( val, _values, result )
580
984
  result = []
581
985
  result << val[0]
582
986
  result
583
987
  end
584
988
  .,.,
585
989
 
586
- module_eval <<'.,.,', 'mediawikiparser.y', 162
587
- def _reduce_24( val, _values, result )
990
+ module_eval <<'.,.,', 'mediawikiparser.y', 253
991
+ def _reduce_38( val, _values, result )
588
992
  result = []
589
993
  result += val[0]
590
994
  result << val[1]
@@ -592,9 +996,9 @@ module_eval <<'.,.,', 'mediawikiparser.y', 162
592
996
  end
593
997
  .,.,
594
998
 
595
- module_eval <<'.,.,', 'mediawikiparser.y', 171
596
- def _reduce_25( val, _values, result )
597
- p = TextAST.new
999
+ module_eval <<'.,.,', 'mediawikiparser.y', 262
1000
+ def _reduce_39( val, _values, result )
1001
+ p = TextAST.new(@ast_index, @ast_length)
598
1002
  p.formatting = val[0][0]
599
1003
  p.contents = val[0][1]
600
1004
  result = p
@@ -602,25 +1006,25 @@ module_eval <<'.,.,', 'mediawikiparser.y', 171
602
1006
  end
603
1007
  .,.,
604
1008
 
605
- module_eval <<'.,.,', 'mediawikiparser.y', 175
606
- def _reduce_26( val, _values, result )
1009
+ module_eval <<'.,.,', 'mediawikiparser.y', 266
1010
+ def _reduce_40( val, _values, result )
607
1011
  result = val[0]
608
1012
  result
609
1013
  end
610
1014
  .,.,
611
1015
 
612
- module_eval <<'.,.,', 'mediawikiparser.y', 184
613
- def _reduce_27( val, _values, result )
614
- table = TableAST.new
1016
+ module_eval <<'.,.,', 'mediawikiparser.y', 275
1017
+ def _reduce_41( val, _values, result )
1018
+ table = TableAST.new(@ast_index, @ast_length)
615
1019
  table.children = val[1] unless val[1].nil? or val[1].empty?
616
1020
  result = table
617
1021
  result
618
1022
  end
619
1023
  .,.,
620
1024
 
621
- module_eval <<'.,.,', 'mediawikiparser.y', 191
622
- def _reduce_28( val, _values, result )
623
- table = TableAST.new
1025
+ module_eval <<'.,.,', 'mediawikiparser.y', 282
1026
+ def _reduce_42( val, _values, result )
1027
+ table = TableAST.new(@ast_index, @ast_length)
624
1028
  table.options = val[1]
625
1029
  table.children = val[2] unless val[2].nil? or val[2].empty?
626
1030
  result = table
@@ -628,16 +1032,16 @@ module_eval <<'.,.,', 'mediawikiparser.y', 191
628
1032
  end
629
1033
  .,.,
630
1034
 
631
- module_eval <<'.,.,', 'mediawikiparser.y', 196
632
- def _reduce_29( val, _values, result )
1035
+ module_eval <<'.,.,', 'mediawikiparser.y', 287
1036
+ def _reduce_43( val, _values, result )
633
1037
  result = nil
634
1038
  result
635
1039
  end
636
1040
  .,.,
637
1041
 
638
- module_eval <<'.,.,', 'mediawikiparser.y', 203
639
- def _reduce_30( val, _values, result )
640
- row = TableRowAST.new
1042
+ module_eval <<'.,.,', 'mediawikiparser.y', 294
1043
+ def _reduce_44( val, _values, result )
1044
+ row = TableRowAST.new(@ast_index, @ast_length)
641
1045
  row.children = val[1] unless val[1].nil? or val[1].empty?
642
1046
  result = [row]
643
1047
  result += val[3] unless val[3].nil? or val[3].empty?
@@ -645,9 +1049,9 @@ module_eval <<'.,.,', 'mediawikiparser.y', 203
645
1049
  end
646
1050
  .,.,
647
1051
 
648
- module_eval <<'.,.,', 'mediawikiparser.y', 211
649
- def _reduce_31( val, _values, result )
650
- row = TableRowAST.new
1052
+ module_eval <<'.,.,', 'mediawikiparser.y', 302
1053
+ def _reduce_45( val, _values, result )
1054
+ row = TableRowAST.new(@ast_index, @ast_length)
651
1055
  row.children = val[2] unless val[2].nil? or val[2].empty?
652
1056
  row.options = val[1]
653
1057
  result = [row]
@@ -656,16 +1060,16 @@ module_eval <<'.,.,', 'mediawikiparser.y', 211
656
1060
  end
657
1061
  .,.,
658
1062
 
659
- module_eval <<'.,.,', 'mediawikiparser.y', 216
660
- def _reduce_32( val, _values, result )
1063
+ module_eval <<'.,.,', 'mediawikiparser.y', 307
1064
+ def _reduce_46( val, _values, result )
661
1065
  result = nil
662
1066
  result
663
1067
  end
664
1068
  .,.,
665
1069
 
666
- module_eval <<'.,.,', 'mediawikiparser.y', 223
667
- def _reduce_33( val, _values, result )
668
- cell = TableCellAST.new
1070
+ module_eval <<'.,.,', 'mediawikiparser.y', 314
1071
+ def _reduce_47( val, _values, result )
1072
+ cell = TableCellAST.new(@ast_index, @ast_length)
669
1073
  cell.type = :head
670
1074
  result = [cell]
671
1075
  result += val[2] unless val[2].nil? or val[2].empty?
@@ -673,9 +1077,9 @@ module_eval <<'.,.,', 'mediawikiparser.y', 223
673
1077
  end
674
1078
  .,.,
675
1079
 
676
- module_eval <<'.,.,', 'mediawikiparser.y', 231
677
- def _reduce_34( val, _values, result )
678
- cell = TableCellAST.new
1080
+ module_eval <<'.,.,', 'mediawikiparser.y', 322
1081
+ def _reduce_48( val, _values, result )
1082
+ cell = TableCellAST.new(@ast_index, @ast_length)
679
1083
  cell.children = val[1] unless val[1].nil? or val[1].empty?
680
1084
  cell.type = :head
681
1085
  result = [cell]
@@ -684,9 +1088,9 @@ module_eval <<'.,.,', 'mediawikiparser.y', 231
684
1088
  end
685
1089
  .,.,
686
1090
 
687
- module_eval <<'.,.,', 'mediawikiparser.y', 238
688
- def _reduce_35( val, _values, result )
689
- cell = TableCellAST.new
1091
+ module_eval <<'.,.,', 'mediawikiparser.y', 329
1092
+ def _reduce_49( val, _values, result )
1093
+ cell = TableCellAST.new(@ast_index, @ast_length)
690
1094
  cell.type = :body
691
1095
  result = [cell]
692
1096
  result += val[2] unless val[2].nil? or val[2].empty?
@@ -694,73 +1098,88 @@ module_eval <<'.,.,', 'mediawikiparser.y', 238
694
1098
  end
695
1099
  .,.,
696
1100
 
697
- module_eval <<'.,.,', 'mediawikiparser.y', 246
698
- def _reduce_36( val, _values, result )
699
- cell = TableCellAST.new
700
- cell.children = val[1] unless val[1].nil? or val[1].empty?
701
- cell.type = :body
702
- result = [cell]
1101
+ module_eval <<'.,.,', 'mediawikiparser.y', 345
1102
+ def _reduce_50( val, _values, result )
1103
+ if val[2] == 'attributes'
1104
+ result = []
1105
+ else
1106
+ cell = TableCellAST.new(@ast_index, @ast_length)
1107
+ cell.children = val[1] unless val[1].nil? or val[1].empty?
1108
+ cell.type = :body
1109
+ result = [cell]
1110
+ end
703
1111
  result += val[3] unless val[3].nil? or val[3].empty?
1112
+ if val[2] == 'attributes' and val[3] and val[3].first.class == TableCellAST
1113
+ val[3].first.attributes = val[1]
1114
+ end
1115
+ result
704
1116
  result
705
1117
  end
706
1118
  .,.,
707
1119
 
708
- module_eval <<'.,.,', 'mediawikiparser.y', 250
709
- def _reduce_37( val, _values, result )
1120
+ module_eval <<'.,.,', 'mediawikiparser.y', 349
1121
+ def _reduce_51( val, _values, result )
710
1122
  return [:None, val[0]]
711
1123
  result
712
1124
  end
713
1125
  .,.,
714
1126
 
715
- module_eval <<'.,.,', 'mediawikiparser.y', 252
716
- def _reduce_38( val, _values, result )
1127
+ module_eval <<'.,.,', 'mediawikiparser.y', 351
1128
+ def _reduce_52( val, _values, result )
717
1129
  return [:HLine, val[0]]
718
1130
  result
719
1131
  end
720
1132
  .,.,
721
1133
 
722
- module_eval <<'.,.,', 'mediawikiparser.y', 254
723
- def _reduce_39( val, _values, result )
1134
+ module_eval <<'.,.,', 'mediawikiparser.y', 353
1135
+ def _reduce_53( val, _values, result )
1136
+ return [:CharacterEntity, val[0]]
1137
+ result
1138
+ end
1139
+ .,.,
1140
+
1141
+ module_eval <<'.,.,', 'mediawikiparser.y', 355
1142
+ def _reduce_54( val, _values, result )
724
1143
  return [:SignatureDate, val[0]]
725
1144
  result
726
1145
  end
727
1146
  .,.,
728
1147
 
729
- module_eval <<'.,.,', 'mediawikiparser.y', 256
730
- def _reduce_40( val, _values, result )
1148
+ module_eval <<'.,.,', 'mediawikiparser.y', 357
1149
+ def _reduce_55( val, _values, result )
731
1150
  return [:SignatureName, val[0]]
732
1151
  result
733
1152
  end
734
1153
  .,.,
735
1154
 
736
- module_eval <<'.,.,', 'mediawikiparser.y', 258
737
- def _reduce_41( val, _values, result )
1155
+ module_eval <<'.,.,', 'mediawikiparser.y', 359
1156
+ def _reduce_56( val, _values, result )
738
1157
  return [:SignatureFull, val[0]]
739
1158
  result
740
1159
  end
741
1160
  .,.,
742
1161
 
743
- module_eval <<'.,.,', 'mediawikiparser.y', 268
744
- def _reduce_42( val, _values, result )
745
- result = FormattedAST.new
1162
+ module_eval <<'.,.,', 'mediawikiparser.y', 369
1163
+ def _reduce_57( val, _values, result )
1164
+ result = FormattedAST.new(@ast_index, @ast_length)
746
1165
  result.formatting = :Bold
747
1166
  result
748
1167
  result
749
1168
  end
750
1169
  .,.,
751
1170
 
752
- module_eval <<'.,.,', 'mediawikiparser.y', 274
753
- def _reduce_43( val, _values, result )
754
- result = FormattedAST.new
1171
+ module_eval <<'.,.,', 'mediawikiparser.y', 375
1172
+ def _reduce_58( val, _values, result )
1173
+ result = FormattedAST.new(@ast_index, @ast_length)
755
1174
  result.formatting = :Italic
756
1175
  result
757
1176
  result
758
1177
  end
759
1178
  .,.,
760
1179
 
761
- module_eval <<'.,.,', 'mediawikiparser.y', 281
762
- def _reduce_44( val, _values, result )
763
- p = FormattedAST.new
1180
+ module_eval <<'.,.,', 'mediawikiparser.y', 382
1181
+ def _reduce_59( val, _values, result )
1182
+ p = FormattedAST.new(@ast_index, @ast_length)
764
1183
  p.formatting = :Bold
765
1184
  p.children += val[1]
766
1185
  result = p
@@ -768,9 +1187,9 @@ module_eval <<'.,.,', 'mediawikiparser.y', 281
768
1187
  end
769
1188
  .,.,
770
1189
 
771
- module_eval <<'.,.,', 'mediawikiparser.y', 288
772
- def _reduce_45( val, _values, result )
773
- p = FormattedAST.new
1190
+ module_eval <<'.,.,', 'mediawikiparser.y', 389
1191
+ def _reduce_60( val, _values, result )
1192
+ p = FormattedAST.new(@ast_index, @ast_length)
774
1193
  p.formatting = :Italic
775
1194
  p.children += val[1]
776
1195
  result = p
@@ -778,9 +1197,9 @@ module_eval <<'.,.,', 'mediawikiparser.y', 288
778
1197
  end
779
1198
  .,.,
780
1199
 
781
- module_eval <<'.,.,', 'mediawikiparser.y', 298
782
- def _reduce_46( val, _values, result )
783
- list = ListAST.new
1200
+ module_eval <<'.,.,', 'mediawikiparser.y', 399
1201
+ def _reduce_61( val, _values, result )
1202
+ list = ListAST.new(@ast_index, @ast_length)
784
1203
  list.list_type = :Bulleted
785
1204
  list.children << val[1]
786
1205
  list.children += val[2]
@@ -789,9 +1208,9 @@ module_eval <<'.,.,', 'mediawikiparser.y', 298
789
1208
  end
790
1209
  .,.,
791
1210
 
792
- module_eval <<'.,.,', 'mediawikiparser.y', 308
793
- def _reduce_47( val, _values, result )
794
- list = ListAST.new
1211
+ module_eval <<'.,.,', 'mediawikiparser.y', 409
1212
+ def _reduce_62( val, _values, result )
1213
+ list = ListAST.new(@ast_index, @ast_length)
795
1214
  list.list_type = :Numbered
796
1215
  list.children << val[1]
797
1216
  list.children += val[2]
@@ -800,55 +1219,129 @@ module_eval <<'.,.,', 'mediawikiparser.y', 308
800
1219
  end
801
1220
  .,.,
802
1221
 
803
- module_eval <<'.,.,', 'mediawikiparser.y', 311
804
- def _reduce_48( val, _values, result )
1222
+ module_eval <<'.,.,', 'mediawikiparser.y', 412
1223
+ def _reduce_63( val, _values, result )
805
1224
  result = []
806
1225
  result
807
1226
  end
808
1227
  .,.,
809
1228
 
810
- module_eval <<'.,.,', 'mediawikiparser.y', 317
811
- def _reduce_49( val, _values, result )
1229
+ module_eval <<'.,.,', 'mediawikiparser.y', 418
1230
+ def _reduce_64( val, _values, result )
812
1231
  result << val[1]
813
1232
  result += val[2]
814
1233
  result
815
1234
  end
816
1235
  .,.,
817
1236
 
818
- module_eval <<'.,.,', 'mediawikiparser.y', 318
819
- def _reduce_50( val, _values, result )
1237
+ module_eval <<'.,.,', 'mediawikiparser.y', 419
1238
+ def _reduce_65( val, _values, result )
820
1239
  result = []
821
1240
  result
822
1241
  end
823
1242
  .,.,
824
1243
 
825
- module_eval <<'.,.,', 'mediawikiparser.y', 326
826
- def _reduce_51( val, _values, result )
827
- result = ListItemAST.new
1244
+ module_eval <<'.,.,', 'mediawikiparser.y', 427
1245
+ def _reduce_66( val, _values, result )
1246
+ result = ListItemAST.new(@ast_index, @ast_length)
828
1247
  result
829
1248
  end
830
1249
  .,.,
831
1250
 
832
- module_eval <<'.,.,', 'mediawikiparser.y', 332
833
- def _reduce_52( val, _values, result )
834
- li = ListItemAST.new
1251
+ module_eval <<'.,.,', 'mediawikiparser.y', 433
1252
+ def _reduce_67( val, _values, result )
1253
+ li = ListItemAST.new(@ast_index, @ast_length)
835
1254
  li.children += val[1]
836
1255
  result = li
837
1256
  result
838
1257
  end
839
1258
  .,.,
840
1259
 
841
- module_eval <<'.,.,', 'mediawikiparser.y', 335
842
- def _reduce_53( val, _values, result )
843
- result = val[0]
1260
+ module_eval <<'.,.,', 'mediawikiparser.y', 441
1261
+ def _reduce_68( val, _values, result )
1262
+ result = [val[1]]
1263
+ result += val[2]
844
1264
  result
845
1265
  end
846
1266
  .,.,
847
1267
 
848
- module_eval <<'.,.,', 'mediawikiparser.y', 344
849
- def _reduce_54( val, _values, result )
1268
+ module_eval <<'.,.,', 'mediawikiparser.y', 445
1269
+ def _reduce_69( val, _values, result )
1270
+ result = val[1]
1271
+ result
1272
+ end
1273
+ .,.,
1274
+
1275
+ module_eval <<'.,.,', 'mediawikiparser.y', 452
1276
+ def _reduce_70( val, _values, result )
1277
+ result = ListTermAST.new(@ast_index, @ast_length)
1278
+ result
1279
+ end
1280
+ .,.,
1281
+
1282
+ module_eval <<'.,.,', 'mediawikiparser.y', 458
1283
+ def _reduce_71( val, _values, result )
1284
+ term = ListTermAST.new(@ast_index, @ast_length)
1285
+ term.children += val[1]
1286
+ result = term
1287
+ result
1288
+ end
1289
+ .,.,
1290
+
1291
+ module_eval <<'.,.,', 'mediawikiparser.y', 465
1292
+ def _reduce_72( val, _values, result )
1293
+ result = [val[0]]
1294
+ result += val[1] if val[1]
1295
+ result
1296
+ end
1297
+ .,.,
1298
+
1299
+ module_eval <<'.,.,', 'mediawikiparser.y', 469
1300
+ def _reduce_73( val, _values, result )
1301
+ result = []
1302
+ result
1303
+ end
1304
+ .,.,
1305
+
1306
+ module_eval <<'.,.,', 'mediawikiparser.y', 475
1307
+ def _reduce_74( val, _values, result )
1308
+ result = ListDefinitionAST.new(@ast_index, @ast_length)
1309
+ result
1310
+ end
1311
+ .,.,
1312
+
1313
+ module_eval <<'.,.,', 'mediawikiparser.y', 481
1314
+ def _reduce_75( val, _values, result )
1315
+ term = ListDefinitionAST.new(@ast_index, @ast_length)
1316
+ term.children += val[1]
1317
+ result = term
1318
+ result
1319
+ end
1320
+ .,.,
1321
+
1322
+ module_eval <<'.,.,', 'mediawikiparser.y', 488
1323
+ def _reduce_76( val, _values, result )
1324
+ p = PreformattedAST.new(@ast_index, @ast_length)
1325
+ p.children += val[1]
1326
+ result = p
1327
+ result
1328
+ end
1329
+ .,.,
1330
+
1331
+ module_eval <<'.,.,', 'mediawikiparser.y', 495
1332
+ def _reduce_77( val, _values, result )
1333
+ p = PreformattedAST.new(@ast_index, @ast_length)
1334
+ p.indented = true
1335
+ p.children += val[1]
1336
+ result = p
1337
+ result
1338
+ end
1339
+ .,.,
1340
+
1341
+ module_eval <<'.,.,', 'mediawikiparser.y', 503
1342
+ def _reduce_78( val, _values, result )
850
1343
  result = [val[1], val[0].length]
851
- s = SectionAST.new
1344
+ s = SectionAST.new(@ast_index, @ast_length)
852
1345
  s.children = val[1]
853
1346
  s.level = val[0].length
854
1347
  result = s
@@ -856,6 +1349,43 @@ module_eval <<'.,.,', 'mediawikiparser.y', 344
856
1349
  end
857
1350
  .,.,
858
1351
 
1352
+ module_eval <<'.,.,', 'mediawikiparser.y', 513
1353
+ def _reduce_79( val, _values, result )
1354
+ t = TemplateAST.new(@ast_index, @ast_length)
1355
+ t.template_name = val[1]
1356
+ t.children = val[2] unless val[2].nil? or val[2].empty?
1357
+ result = t
1358
+ result
1359
+ end
1360
+ .,.,
1361
+
1362
+ module_eval <<'.,.,', 'mediawikiparser.y', 519
1363
+ def _reduce_80( val, _values, result )
1364
+ result = nil
1365
+ result
1366
+ end
1367
+ .,.,
1368
+
1369
+ module_eval <<'.,.,', 'mediawikiparser.y', 526
1370
+ def _reduce_81( val, _values, result )
1371
+ p = TemplateParameterAST.new(@ast_index, @ast_length)
1372
+ p.parameter_value = val[1]
1373
+ result = [p]
1374
+ result += val[2] if val[2]
1375
+ result
1376
+ end
1377
+ .,.,
1378
+
1379
+ module_eval <<'.,.,', 'mediawikiparser.y', 533
1380
+ def _reduce_82( val, _values, result )
1381
+ p = TemplateParameterAST.new(@ast_index, @ast_length)
1382
+ p.children << val[1]
1383
+ result = [p]
1384
+ result += val[2] if val[2]
1385
+ result
1386
+ end
1387
+ .,.,
1388
+
859
1389
  def _reduce_none( val, _values, result )
860
1390
  result
861
1391
  end