mediacloth 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -12,7 +12,7 @@ require 'mediacloth/mediawikiast'
12
12
 
13
13
  class MediaWikiParser < Racc::Parser
14
14
 
15
- module_eval <<'..end mediawikiparser.y modeval..id4f3872d37f', 'mediawikiparser.y', 153
15
+ module_eval <<'..end mediawikiparser.y modeval..id823eb1450e', 'mediawikiparser.y', 186
16
16
 
17
17
  attr_accessor :lexer
18
18
 
@@ -33,103 +33,124 @@ end
33
33
  def next_token
34
34
  return @lexer.lex
35
35
  end
36
- ..end mediawikiparser.y modeval..id4f3872d37f
36
+ ..end mediawikiparser.y modeval..id823eb1450e
37
37
 
38
38
  ##### racc 1.4.5 generates ###
39
39
 
40
40
  racc_reduce_table = [
41
41
  0, 0, :racc_error,
42
- 1, 24, :_reduce_1,
43
- 1, 26, :_reduce_2,
44
- 1, 26, :_reduce_3,
45
- 1, 26, :_reduce_4,
46
- 1, 26, :_reduce_5,
47
- 1, 25, :_reduce_6,
48
- 2, 25, :_reduce_7,
49
- 1, 27, :_reduce_8,
50
- 1, 27, :_reduce_9,
51
- 3, 31, :_reduce_10,
52
- 3, 31, :_reduce_11,
53
- 1, 31, :_reduce_12,
54
- 1, 31, :_reduce_13,
55
- 1, 31, :_reduce_14,
56
- 1, 31, :_reduce_15,
57
- 1, 31, :_reduce_16,
58
- 3, 32, :_reduce_17,
59
- 3, 32, :_reduce_18,
60
- 4, 28, :_reduce_19,
61
- 0, 35, :_reduce_20,
62
- 3, 34, :_reduce_21,
63
- 0, 34, :_reduce_22,
64
- 3, 33, :_reduce_23,
65
- 1, 29, :_reduce_24,
66
- 3, 30, :_reduce_25 ]
67
-
68
- racc_reduce_n = 26
69
-
70
- racc_shift_n = 44
42
+ 1, 27, :_reduce_1,
43
+ 1, 29, :_reduce_2,
44
+ 1, 29, :_reduce_3,
45
+ 1, 29, :_reduce_4,
46
+ 1, 29, :_reduce_5,
47
+ 1, 29, :_reduce_6,
48
+ 3, 29, :_reduce_7,
49
+ 0, 35, :_reduce_8,
50
+ 1, 35, :_reduce_9,
51
+ 1, 28, :_reduce_10,
52
+ 2, 28, :_reduce_11,
53
+ 1, 30, :_reduce_12,
54
+ 1, 30, :_reduce_13,
55
+ 3, 36, :_reduce_14,
56
+ 3, 36, :_reduce_15,
57
+ 1, 36, :_reduce_16,
58
+ 1, 36, :_reduce_17,
59
+ 1, 36, :_reduce_18,
60
+ 1, 36, :_reduce_19,
61
+ 1, 36, :_reduce_20,
62
+ 3, 37, :_reduce_21,
63
+ 3, 37, :_reduce_22,
64
+ 4, 31, :_reduce_23,
65
+ 4, 32, :_reduce_24,
66
+ 0, 40, :_reduce_25,
67
+ 3, 39, :_reduce_26,
68
+ 0, 39, :_reduce_27,
69
+ 3, 38, :_reduce_28,
70
+ 1, 33, :_reduce_29,
71
+ 3, 34, :_reduce_30 ]
72
+
73
+ racc_reduce_n = 31
74
+
75
+ racc_shift_n = 53
71
76
 
72
77
  racc_action_table = [
73
- 3, 32, 8, 29, 14, 30, 17, 28, 20, 1,
74
- 2, 4, 6, 9, 11, 13, -22, 3, 42, 8,
75
- 27, 14, 37, 17, 38, 20, 1, 2, 4, 6,
76
- 9, 11, 13, 3, 39, 8, 40, 14, 27, 17,
77
- 23, 20, 1, 2, 4, 6, 9, 11, 13, 3,
78
- -22, 8, nil, 14, nil, 17, nil, 20, 1, 2,
79
- 4, 6, 9, 11, 13, 3, nil, 8, nil, 14,
80
- nil, 17, nil, 20, 1, 2, 4, 6, 9, 11,
81
- 13, 3, nil, 8, nil, 14, nil, 17, nil, 20,
82
- 1, 2, 4, 6, 9, 11, 13, 3, nil, 8,
83
- 33, 14, nil, 17, nil, 20, 1, 2, 4, 6,
84
- 9, 11, 13, 3, 31, 8, nil, 14, nil, 17,
85
- nil, 20, 1, 2, 4, 6, 9, 11, 13 ]
78
+ 6, 36, 10, -27, 16, 35, 20, 26, 23, 41,
79
+ 3, 5, 8, 11, 13, 15, 18, 6, 32, 10,
80
+ 1, 16, 7, 20, 31, 23, 43, 3, 5, 8,
81
+ 11, 13, 15, 18, 44, -27, 50, 1, 6, 7,
82
+ 10, 46, 16, 47, 20, 48, 23, 26, 3, 5,
83
+ 8, 11, 13, 15, 18, 6, 26, 10, 1, 16,
84
+ 7, 20, 51, 23, -25, 3, 5, 8, 11, 13,
85
+ 15, 18, 6, nil, 10, 1, 16, 7, 20, nil,
86
+ 23, nil, 3, 5, 8, 11, 13, 15, 18, nil,
87
+ nil, nil, 1, 6, 7, 10, 42, 16, nil, 20,
88
+ nil, 23, nil, 3, 5, 8, 11, 13, 15, 18,
89
+ 6, nil, 10, 1, 16, 7, 20, nil, 23, nil,
90
+ 3, 5, 8, 11, 13, 15, 18, 6, nil, 10,
91
+ 1, 16, 7, 20, nil, 23, nil, 3, 5, 8,
92
+ 11, 13, 15, 18, 6, nil, 10, 1, 16, 7,
93
+ 20, nil, 23, nil, 3, 5, 8, 11, 13, 15,
94
+ 18, 6, 40, 10, 1, 16, 7, 20, nil, 23,
95
+ nil, 3, 5, 8, 11, 13, 15, 18, nil, nil,
96
+ nil, 1, nil, 7 ]
86
97
 
87
98
  racc_action_check = [
88
- 36, 23, 36, 17, 36, 20, 36, 14, 36, 36,
89
- 36, 36, 36, 36, 36, 36, 26, 8, 36, 8,
90
- 13, 8, 28, 8, 29, 8, 8, 8, 8, 8,
91
- 8, 8, 8, 0, 30, 0, 34, 0, 35, 0,
92
- 5, 0, 0, 0, 0, 0, 0, 0, 0, 7,
93
- 41, 7, nil, 7, nil, 7, nil, 7, 7, 7,
94
- 7, 7, 7, 7, 7, 3, nil, 3, nil, 3,
95
- nil, 3, nil, 3, 3, 3, 3, 3, 3, 3,
96
- 3, 27, nil, 27, nil, 27, nil, 27, nil, 27,
97
- 27, 27, 27, 27, 27, 27, 27, 25, nil, 25,
98
- 25, 25, nil, 25, nil, 25, 25, 25, 25, 25,
99
- 25, 25, 25, 22, 22, 22, nil, 22, nil, 22,
100
- nil, 22, 22, 22, 22, 22, 22, 22, 22 ]
99
+ 0, 23, 0, 25, 0, 20, 0, 18, 0, 28,
100
+ 0, 0, 0, 0, 0, 0, 0, 39, 16, 39,
101
+ 0, 39, 0, 39, 14, 39, 31, 39, 39, 39,
102
+ 39, 39, 39, 39, 32, 34, 39, 39, 6, 39,
103
+ 6, 35, 6, 36, 6, 37, 6, 38, 6, 6,
104
+ 6, 6, 6, 6, 6, 7, 1, 7, 6, 7,
105
+ 6, 7, 45, 7, 49, 7, 7, 7, 7, 7,
106
+ 7, 7, 10, nil, 10, 7, 10, 7, 10, nil,
107
+ 10, nil, 10, 10, 10, 10, 10, 10, 10, nil,
108
+ nil, nil, 10, 30, 10, 30, 30, 30, nil, 30,
109
+ nil, 30, nil, 30, 30, 30, 30, 30, 30, 30,
110
+ 29, nil, 29, 30, 29, 30, 29, nil, 29, nil,
111
+ 29, 29, 29, 29, 29, 29, 29, 17, nil, 17,
112
+ 29, 17, 29, 17, nil, 17, nil, 17, 17, 17,
113
+ 17, 17, 17, 17, 26, nil, 26, 17, 26, 17,
114
+ 26, nil, 26, nil, 26, 26, 26, 26, 26, 26,
115
+ 26, 27, 27, 27, 26, 27, 26, 27, nil, 27,
116
+ nil, 27, 27, 27, 27, 27, 27, 27, nil, nil,
117
+ nil, 27, nil, 27 ]
101
118
 
102
119
  racc_action_pointer = [
103
- 31, nil, nil, 63, nil, 40, nil, 47, 15, nil,
104
- nil, nil, nil, 1, -4, nil, nil, -8, nil, nil,
105
- -6, nil, 111, 1, nil, 95, -2, 79, 15, 15,
106
- 24, nil, nil, nil, 18, 19, -2, nil, nil, nil,
107
- nil, 32, nil, nil ]
120
+ -2, 36, nil, nil, nil, nil, 36, 53, nil, nil,
121
+ 70, nil, nil, nil, 24, nil, 6, 125, -13, nil,
122
+ -7, nil, nil, -11, nil, -20, 142, 159, -16, 108,
123
+ 91, 26, 27, nil, 16, 32, 32, 22, 27, 15,
124
+ nil, nil, nil, nil, nil, 43, nil, nil, nil, 44,
125
+ nil, nil, nil ]
108
126
 
109
127
  racc_action_default = [
110
- -26, -12, -24, -26, -13, -26, -15, -1, -26, -14,
111
- -6, -16, -2, -26, -26, -3, -4, -26, -5, -8,
112
- -26, -9, -26, -26, -7, -26, -20, -26, -26, -26,
113
- -26, -17, 44, -18, -26, -26, -26, -10, -11, -25,
114
- -19, -20, -23, -21 ]
128
+ -31, -31, -5, -16, -6, -29, -31, -8, -17, -12,
129
+ -31, -19, -13, -18, -31, -20, -31, -1, -31, -10,
130
+ -31, -2, -3, -31, -4, -25, -31, -31, -31, -9,
131
+ -31, -31, -31, -11, -25, -31, -31, -31, -31, -31,
132
+ -21, -7, -22, 53, -14, -31, -15, -30, -24, -27,
133
+ -28, -23, -26 ]
115
134
 
116
135
  racc_goto_table = [
117
- 24, 7, 26, 5, 22, 34, nil, nil, nil, 25,
118
- nil, nil, nil, nil, nil, 24, nil, nil, 24, nil,
119
- 43, nil, nil, nil, 41, nil, nil, nil, 36, 24 ]
136
+ 25, 17, 33, 28, 37, 14, nil, 27, 29, nil,
137
+ nil, 30, 33, 45, 33, 33, nil, 34, nil, nil,
138
+ nil, nil, nil, nil, 33, nil, nil, 39, 52, nil,
139
+ nil, nil, nil, nil, nil, nil, nil, 49 ]
120
140
 
121
141
  racc_goto_check = [
122
- 3, 2, 10, 1, 2, 11, nil, nil, nil, 2,
123
- nil, nil, nil, nil, nil, 3, nil, nil, 3, nil,
124
- 11, nil, nil, nil, 10, nil, nil, nil, 2, 3 ]
142
+ 12, 2, 3, 9, 13, 1, nil, 2, 2, nil,
143
+ nil, 2, 3, 13, 3, 3, nil, 12, nil, nil,
144
+ nil, nil, nil, nil, 3, nil, nil, 2, 13, nil,
145
+ nil, nil, nil, nil, nil, nil, nil, 12 ]
125
146
 
126
147
  racc_goto_pointer = [
127
- nil, 3, 1, -7, nil, nil, nil, nil, nil, nil,
128
- -11, -21, nil ]
148
+ nil, 5, 1, -15, nil, nil, nil, nil, nil, -4,
149
+ nil, nil, -1, -21, nil ]
129
150
 
130
151
  racc_goto_default = [
131
- nil, nil, nil, 10, 12, 15, 16, 18, 19, 21,
132
- nil, nil, 35 ]
152
+ nil, nil, nil, 19, 21, 22, 24, 2, 4, nil,
153
+ 9, 12, nil, nil, 38 ]
133
154
 
134
155
  racc_token_table = {
135
156
  false => 0,
@@ -142,23 +163,26 @@ racc_token_table = {
142
163
  :LINKEND => 7,
143
164
  :INTLINKSTART => 8,
144
165
  :INTLINKEND => 9,
145
- :SECTION => 10,
146
- :TEXT => 11,
147
- :PRE => 12,
148
- :HLINE => 13,
149
- :SIGNATURE_NAME => 14,
150
- :SIGNATURE_DATE => 15,
151
- :SIGNATURE_FULL => 16,
152
- :UL_START => 17,
153
- :UL_END => 18,
154
- :LI_START => 19,
155
- :LI_END => 20,
156
- :OL_START => 21,
157
- :OL_END => 22 }
166
+ :SECTION_START => 10,
167
+ :SECTION_END => 11,
168
+ :TEXT => 12,
169
+ :PRE => 13,
170
+ :HLINE => 14,
171
+ :SIGNATURE_NAME => 15,
172
+ :SIGNATURE_DATE => 16,
173
+ :SIGNATURE_FULL => 17,
174
+ :UL_START => 18,
175
+ :UL_END => 19,
176
+ :LI_START => 20,
177
+ :LI_END => 21,
178
+ :OL_START => 22,
179
+ :OL_END => 23,
180
+ :PARA_START => 24,
181
+ :PARA_END => 25 }
158
182
 
159
183
  racc_use_result_var = true
160
184
 
161
- racc_nt_base = 23
185
+ racc_nt_base = 26
162
186
 
163
187
  Racc_arg = [
164
188
  racc_action_table,
@@ -187,7 +211,8 @@ Racc_token_to_s_table = [
187
211
  'LINKEND',
188
212
  'INTLINKSTART',
189
213
  'INTLINKEND',
190
- 'SECTION',
214
+ 'SECTION_START',
215
+ 'SECTION_END',
191
216
  'TEXT',
192
217
  'PRE',
193
218
  'HLINE',
@@ -200,14 +225,18 @@ Racc_token_to_s_table = [
200
225
  'LI_END',
201
226
  'OL_START',
202
227
  'OL_END',
228
+ 'PARA_START',
229
+ 'PARA_END',
203
230
  '$start',
204
231
  'wiki',
205
232
  'repeated_contents',
206
233
  'contents',
207
234
  'text',
208
235
  'bulleted_list',
236
+ 'numbered_list',
209
237
  'preformatted',
210
238
  'section',
239
+ 'para_contents',
211
240
  'element',
212
241
  'formatted_element',
213
242
  'list_item',
@@ -220,7 +249,7 @@ Racc_debug_parser = false
220
249
 
221
250
  # reduce 0 omitted
222
251
 
223
- module_eval <<'.,.,', 'mediawikiparser.y', 25
252
+ module_eval <<'.,.,', 'mediawikiparser.y', 26
224
253
  def _reduce_1( val, _values, result )
225
254
  @nodes.push WikiAST.new
226
255
  #@nodes.last.children.insert(0, val[0])
@@ -230,22 +259,29 @@ module_eval <<'.,.,', 'mediawikiparser.y', 25
230
259
  end
231
260
  .,.,
232
261
 
233
- module_eval <<'.,.,', 'mediawikiparser.y', 32
262
+ module_eval <<'.,.,', 'mediawikiparser.y', 33
234
263
  def _reduce_2( val, _values, result )
235
264
  result = val[0]
236
265
  result
237
266
  end
238
267
  .,.,
239
268
 
240
- module_eval <<'.,.,', 'mediawikiparser.y', 36
269
+ module_eval <<'.,.,', 'mediawikiparser.y', 37
241
270
  def _reduce_3( val, _values, result )
242
271
  result = val[0]
243
272
  result
244
273
  end
245
274
  .,.,
246
275
 
247
- module_eval <<'.,.,', 'mediawikiparser.y', 42
276
+ module_eval <<'.,.,', 'mediawikiparser.y', 41
248
277
  def _reduce_4( val, _values, result )
278
+ result = val[0]
279
+ result
280
+ end
281
+ .,.,
282
+
283
+ module_eval <<'.,.,', 'mediawikiparser.y', 47
284
+ def _reduce_5( val, _values, result )
249
285
  p = PreformattedAST.new
250
286
  p.contents = val[0]
251
287
  result = p
@@ -253,8 +289,8 @@ module_eval <<'.,.,', 'mediawikiparser.y', 42
253
289
  end
254
290
  .,.,
255
291
 
256
- module_eval <<'.,.,', 'mediawikiparser.y', 49
257
- def _reduce_5( val, _values, result )
292
+ module_eval <<'.,.,', 'mediawikiparser.y', 54
293
+ def _reduce_6( val, _values, result )
258
294
  s = SectionAST.new
259
295
  s.contents = val[0][0]
260
296
  s.level = val[0][1]
@@ -263,16 +299,41 @@ module_eval <<'.,.,', 'mediawikiparser.y', 49
263
299
  end
264
300
  .,.,
265
301
 
266
- module_eval <<'.,.,', 'mediawikiparser.y', 56
267
- def _reduce_6( val, _values, result )
302
+ module_eval <<'.,.,', 'mediawikiparser.y', 62
303
+ def _reduce_7( val, _values, result )
304
+ if val[1]
305
+ p = ParagraphAST.new
306
+ p.children = val[1]
307
+ result = p
308
+ end
309
+ result
310
+ end
311
+ .,.,
312
+
313
+ module_eval <<'.,.,', 'mediawikiparser.y', 69
314
+ def _reduce_8( val, _values, result )
315
+ result = nil
316
+ result
317
+ end
318
+ .,.,
319
+
320
+ module_eval <<'.,.,', 'mediawikiparser.y', 73
321
+ def _reduce_9( val, _values, result )
322
+ result = val[0]
323
+ result
324
+ end
325
+ .,.,
326
+
327
+ module_eval <<'.,.,', 'mediawikiparser.y', 79
328
+ def _reduce_10( val, _values, result )
268
329
  result = []
269
330
  result << val[0]
270
331
  result
271
332
  end
272
333
  .,.,
273
334
 
274
- module_eval <<'.,.,', 'mediawikiparser.y', 62
275
- def _reduce_7( val, _values, result )
335
+ module_eval <<'.,.,', 'mediawikiparser.y', 85
336
+ def _reduce_11( val, _values, result )
276
337
  result = []
277
338
  result += val[0]
278
339
  result << val[1]
@@ -280,8 +341,8 @@ module_eval <<'.,.,', 'mediawikiparser.y', 62
280
341
  end
281
342
  .,.,
282
343
 
283
- module_eval <<'.,.,', 'mediawikiparser.y', 71
284
- def _reduce_8( val, _values, result )
344
+ module_eval <<'.,.,', 'mediawikiparser.y', 94
345
+ def _reduce_12( val, _values, result )
285
346
  p = TextAST.new
286
347
  p.formatting = val[0][0]
287
348
  p.contents = val[0][1]
@@ -290,64 +351,64 @@ module_eval <<'.,.,', 'mediawikiparser.y', 71
290
351
  end
291
352
  .,.,
292
353
 
293
- module_eval <<'.,.,', 'mediawikiparser.y', 75
294
- def _reduce_9( val, _values, result )
354
+ module_eval <<'.,.,', 'mediawikiparser.y', 98
355
+ def _reduce_13( val, _values, result )
295
356
  result = val[0]
296
357
  result
297
358
  end
298
359
  .,.,
299
360
 
300
- module_eval <<'.,.,', 'mediawikiparser.y', 78
301
- def _reduce_10( val, _values, result )
361
+ module_eval <<'.,.,', 'mediawikiparser.y', 101
362
+ def _reduce_14( val, _values, result )
302
363
  return [:Link, val[1]]
303
364
  result
304
365
  end
305
366
  .,.,
306
367
 
307
- module_eval <<'.,.,', 'mediawikiparser.y', 80
308
- def _reduce_11( val, _values, result )
368
+ module_eval <<'.,.,', 'mediawikiparser.y', 103
369
+ def _reduce_15( val, _values, result )
309
370
  return [:InternalLink, val[1]]
310
371
  result
311
372
  end
312
373
  .,.,
313
374
 
314
- module_eval <<'.,.,', 'mediawikiparser.y', 82
315
- def _reduce_12( val, _values, result )
375
+ module_eval <<'.,.,', 'mediawikiparser.y', 105
376
+ def _reduce_16( val, _values, result )
316
377
  return [:None, val[0]]
317
378
  result
318
379
  end
319
380
  .,.,
320
381
 
321
- module_eval <<'.,.,', 'mediawikiparser.y', 84
322
- def _reduce_13( val, _values, result )
382
+ module_eval <<'.,.,', 'mediawikiparser.y', 107
383
+ def _reduce_17( val, _values, result )
323
384
  return [:HLine, val[0]]
324
385
  result
325
386
  end
326
387
  .,.,
327
388
 
328
- module_eval <<'.,.,', 'mediawikiparser.y', 86
329
- def _reduce_14( val, _values, result )
389
+ module_eval <<'.,.,', 'mediawikiparser.y', 109
390
+ def _reduce_18( val, _values, result )
330
391
  return [:SignatureDate, val[0]]
331
392
  result
332
393
  end
333
394
  .,.,
334
395
 
335
- module_eval <<'.,.,', 'mediawikiparser.y', 88
336
- def _reduce_15( val, _values, result )
396
+ module_eval <<'.,.,', 'mediawikiparser.y', 111
397
+ def _reduce_19( val, _values, result )
337
398
  return [:SignatureName, val[0]]
338
399
  result
339
400
  end
340
401
  .,.,
341
402
 
342
- module_eval <<'.,.,', 'mediawikiparser.y', 90
343
- def _reduce_16( val, _values, result )
403
+ module_eval <<'.,.,', 'mediawikiparser.y', 113
404
+ def _reduce_20( val, _values, result )
344
405
  return [:SignatureFull, val[0]]
345
406
  result
346
407
  end
347
408
  .,.,
348
409
 
349
- module_eval <<'.,.,', 'mediawikiparser.y', 100
350
- def _reduce_17( val, _values, result )
410
+ module_eval <<'.,.,', 'mediawikiparser.y', 123
411
+ def _reduce_21( val, _values, result )
351
412
  p = FormattedAST.new
352
413
  p.formatting = :Bold
353
414
  p.children += val[1]
@@ -356,8 +417,8 @@ module_eval <<'.,.,', 'mediawikiparser.y', 100
356
417
  end
357
418
  .,.,
358
419
 
359
- module_eval <<'.,.,', 'mediawikiparser.y', 107
360
- def _reduce_18( val, _values, result )
420
+ module_eval <<'.,.,', 'mediawikiparser.y', 130
421
+ def _reduce_22( val, _values, result )
361
422
  p = FormattedAST.new
362
423
  p.formatting = :Italic
363
424
  p.children += val[1]
@@ -366,10 +427,10 @@ module_eval <<'.,.,', 'mediawikiparser.y', 107
366
427
  end
367
428
  .,.,
368
429
 
369
- module_eval <<'.,.,', 'mediawikiparser.y', 117
370
- def _reduce_19( val, _values, result )
430
+ module_eval <<'.,.,', 'mediawikiparser.y', 140
431
+ def _reduce_23( val, _values, result )
371
432
  list = ListAST.new
372
- list.type = :Bulleted
433
+ list.list_type = :Bulleted
373
434
  list.children << val[1]
374
435
  list.children += val[2]
375
436
  result = list
@@ -377,30 +438,41 @@ module_eval <<'.,.,', 'mediawikiparser.y', 117
377
438
  end
378
439
  .,.,
379
440
 
380
- module_eval <<'.,.,', 'mediawikiparser.y', 120
381
- def _reduce_20( val, _values, result )
441
+ module_eval <<'.,.,', 'mediawikiparser.y', 150
442
+ def _reduce_24( val, _values, result )
443
+ list = ListAST.new
444
+ list.list_type = :Numbered
445
+ list.children << val[1]
446
+ list.children += val[2]
447
+ result = list
448
+ result
449
+ end
450
+ .,.,
451
+
452
+ module_eval <<'.,.,', 'mediawikiparser.y', 153
453
+ def _reduce_25( val, _values, result )
382
454
  result = []
383
455
  result
384
456
  end
385
457
  .,.,
386
458
 
387
- module_eval <<'.,.,', 'mediawikiparser.y', 126
388
- def _reduce_21( val, _values, result )
459
+ module_eval <<'.,.,', 'mediawikiparser.y', 159
460
+ def _reduce_26( val, _values, result )
389
461
  result << val[1]
390
462
  result += val[2]
391
463
  result
392
464
  end
393
465
  .,.,
394
466
 
395
- module_eval <<'.,.,', 'mediawikiparser.y', 127
396
- def _reduce_22( val, _values, result )
467
+ module_eval <<'.,.,', 'mediawikiparser.y', 160
468
+ def _reduce_27( val, _values, result )
397
469
  result = []
398
470
  result
399
471
  end
400
472
  .,.,
401
473
 
402
- module_eval <<'.,.,', 'mediawikiparser.y', 136
403
- def _reduce_23( val, _values, result )
474
+ module_eval <<'.,.,', 'mediawikiparser.y', 169
475
+ def _reduce_28( val, _values, result )
404
476
  li = ListItemAST.new
405
477
  li.children += val[1]
406
478
  result = li
@@ -408,15 +480,15 @@ module_eval <<'.,.,', 'mediawikiparser.y', 136
408
480
  end
409
481
  .,.,
410
482
 
411
- module_eval <<'.,.,', 'mediawikiparser.y', 139
412
- def _reduce_24( val, _values, result )
483
+ module_eval <<'.,.,', 'mediawikiparser.y', 172
484
+ def _reduce_29( val, _values, result )
413
485
  result = val[0]
414
486
  result
415
487
  end
416
488
  .,.,
417
489
 
418
- module_eval <<'.,.,', 'mediawikiparser.y', 143
419
- def _reduce_25( val, _values, result )
490
+ module_eval <<'.,.,', 'mediawikiparser.y', 176
491
+ def _reduce_30( val, _values, result )
420
492
  result = [val[1], val[0].length]
421
493
  result
422
494
  end
@@ -9,9 +9,10 @@
9
9
  class MediaWikiParser
10
10
 
11
11
  token BOLDSTART BOLDEND ITALICSTART ITALICEND LINKSTART LINKEND
12
- INTLINKSTART INTLINKEND SECTION TEXT PRE
12
+ INTLINKSTART INTLINKEND SECTION_START SECTION_END TEXT PRE
13
13
  HLINE SIGNATURE_NAME SIGNATURE_DATE SIGNATURE_FULL
14
14
  UL_START UL_END LI_START LI_END OL_START OL_END
15
+ PARA_START PARA_END
15
16
 
16
17
  rule
17
18
 
@@ -34,6 +35,10 @@ contents:
34
35
  {
35
36
  result = val[0]
36
37
  }
38
+ | numbered_list
39
+ {
40
+ result = val[0]
41
+ }
37
42
  | preformatted
38
43
  {
39
44
  p = PreformattedAST.new
@@ -47,8 +52,26 @@ contents:
47
52
  s.level = val[0][1]
48
53
  result = s
49
54
  }
55
+ | PARA_START para_contents PARA_END
56
+ {
57
+ if val[1]
58
+ p = ParagraphAST.new
59
+ p.children = val[1]
60
+ result = p
61
+ end
62
+ }
50
63
  ;
51
64
 
65
+ #TODO: remove empty paragraphs in lexer
66
+ para_contents:
67
+ {
68
+ result = nil
69
+ }
70
+ | repeated_contents
71
+ {
72
+ result = val[0]
73
+ }
74
+
52
75
  repeated_contents: contents
53
76
  {
54
77
  result = []
@@ -110,7 +133,17 @@ formatted_element: BOLDSTART repeated_contents BOLDEND
110
133
  bulleted_list: UL_START list_item list_contents UL_END
111
134
  {
112
135
  list = ListAST.new
113
- list.type = :Bulleted
136
+ list.list_type = :Bulleted
137
+ list.children << val[1]
138
+ list.children += val[2]
139
+ result = list
140
+ }
141
+ ;
142
+
143
+ numbered_list: OL_START list_item list_contents OL_END
144
+ {
145
+ list = ListAST.new
146
+ list.list_type = :Numbered
114
147
  list.children << val[1]
115
148
  list.children += val[2]
116
149
  result = list
@@ -140,7 +173,7 @@ preformatted: PRE
140
173
  { result = val[0] }
141
174
  ;
142
175
 
143
- section: SECTION TEXT SECTION
176
+ section: SECTION_START TEXT SECTION_END
144
177
  { result = [val[1], val[0].length] }
145
178
  ;
146
179
 
@@ -27,9 +27,15 @@ protected
27
27
  parse_list(c) if c.class == ListAST
28
28
  parse_preformatted(c) if c.class == PreformattedAST
29
29
  parse_section(c) if c.class == SectionAST
30
+ parse_paragraph(c) if c.class == ParagraphAST
30
31
  end
31
32
  end
32
33
 
34
+ #Reimplement this
35
+ def parse_paragraph(ast)
36
+ parse_wiki_ast(ast)
37
+ end
38
+
33
39
  #Reimplement this
34
40
  def parse_formatted(ast)
35
41
  parse_wiki_ast(ast)