oga 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -77,6 +77,13 @@ module Oga
77
77
  return xml
78
78
  end
79
79
 
80
+ ##
81
+ # @return [TrueClass|FalseClass]
82
+ #
83
+ def html?
84
+ return type == :html
85
+ end
86
+
80
87
  ##
81
88
  # Inspects the document and its child nodes. Child nodes are indented for
82
89
  # each nesting level.
@@ -212,11 +212,8 @@ module Oga
212
212
  # @param [String] text
213
213
  #
214
214
  def inner_text=(text)
215
- children.each do |child|
216
- child.remove if child.is_a?(Text)
217
- end
218
-
219
- children << XML::Text.new(:text => text)
215
+ text_node = XML::Text.new(:text => text)
216
+ @children = NodeSet.new([text_node])
220
217
  end
221
218
 
222
219
  ##
@@ -310,7 +307,7 @@ module Oga
310
307
  self_closing = children.empty?
311
308
  root = root_node
312
309
 
313
- if root.is_a?(Document) and root.type == :html \
310
+ if root.is_a?(Document) and root.html? \
314
311
  and !HTML_VOID_ELEMENTS.include?(name)
315
312
  self_closing = false
316
313
  end
@@ -10,9 +10,16 @@ module Oga
10
10
  # @return [Hash]
11
11
  #
12
12
  DECODE_MAPPING = {
13
- '&lt;' => '<',
14
- '&gt;' => '>',
15
- '&amp;' => '&'
13
+ '&lt;' => '<',
14
+ '&#60;' => '<',
15
+ '&gt;' => '>',
16
+ '&#62;' => '>',
17
+ '&apos;' => "'",
18
+ '&#39;' => "'",
19
+ '&quot;' => '"',
20
+ '&#34;' => '"',
21
+ '&amp;' => '&',
22
+ '&#38;' => '&',
16
23
  }
17
24
 
18
25
  ##
@@ -22,8 +29,10 @@ module Oga
22
29
  #
23
30
  ENCODE_MAPPING = {
24
31
  '&' => '&amp;',
32
+ '"' => '&quot;',
33
+ "'" => '&apos;',
25
34
  '>' => '&gt;',
26
- '<' => '&lt;'
35
+ '<' => '&lt;',
27
36
  }
28
37
 
29
38
  ##
data/lib/oga/xml/lexer.rb CHANGED
@@ -40,6 +40,14 @@ module Oga
40
40
  class Lexer
41
41
  attr_reader :html
42
42
 
43
+ ##
44
+ # Element name used to determine if a tag being processed is a Javascript
45
+ # tag.
46
+ #
47
+ # @return [String]
48
+ #
49
+ SCRIPT_TAG = 'script'.freeze
50
+
43
51
  ##
44
52
  # @param [String|IO] data The data to lex. This can either be a String or
45
53
  # an IO instance.
@@ -181,6 +189,15 @@ module Oga
181
189
  return @elements.last
182
190
  end
183
191
 
192
+ ##
193
+ # Returns true if the current element is the HTML `<script>` element.
194
+ #
195
+ # @return [TrueClass|FalseClass]
196
+ #
197
+ def inside_html_script?
198
+ return html? && current_element == SCRIPT_TAG
199
+ end
200
+
184
201
  ##
185
202
  # Called when processing a single quote.
186
203
  #
@@ -221,60 +221,60 @@ module Oga
221
221
  ##### State transition tables begin ###
222
222
 
223
223
  racc_action_table = [
224
- 40, 20, 47, 46, 49, 12, 60, 64, 50, 63,
225
- 13, 14, 16, 20, 48, 47, 46, 12, 19, 51,
226
- 15, 39, 13, 14, 16, 20, 58, 53, 57, 12,
227
- 19, 54, 15, 41, 13, 14, 16, 36, 37, 35,
228
- 38, 24, 19, 23, 15, 31, 32, 62, 63, 31,
229
- 32, 55, 57, 25, 26, 47, 46, 31, 32, 21,
230
- 65 ]
224
+ 41, 20, 48, 47, 54, 12, 52, 55, 25, 26,
225
+ 13, 14, 16, 20, 21, 48, 47, 12, 19, 62,
226
+ 15, 40, 13, 14, 16, 20, 60, 23, 59, 12,
227
+ 19, 66, 15, 65, 13, 14, 16, 36, 37, 24,
228
+ 39, 35, 19, 42, 15, 31, 32, 31, 32, 31,
229
+ 32, 48, 47, 57, 59, 64, 65, 49, 50, 51,
230
+ 56, 67 ]
231
231
 
232
232
  racc_action_check = [
233
- 24, 0, 52, 52, 33, 0, 52, 59, 34, 59,
234
- 0, 0, 0, 3, 32, 37, 37, 3, 0, 37,
235
- 0, 24, 3, 3, 3, 18, 47, 38, 47, 18,
236
- 3, 40, 3, 26, 18, 18, 18, 23, 23, 21,
237
- 23, 15, 18, 12, 18, 19, 19, 56, 56, 17,
238
- 17, 46, 46, 16, 16, 30, 30, 28, 28, 1,
239
- 61 ]
233
+ 24, 0, 37, 37, 38, 0, 37, 38, 16, 16,
234
+ 0, 0, 0, 3, 1, 53, 53, 3, 0, 53,
235
+ 0, 24, 3, 3, 3, 18, 48, 12, 48, 18,
236
+ 3, 61, 3, 61, 18, 18, 18, 23, 23, 15,
237
+ 23, 21, 18, 26, 18, 17, 17, 19, 19, 28,
238
+ 28, 30, 30, 47, 47, 58, 58, 32, 33, 34,
239
+ 41, 63 ]
240
240
 
241
241
  racc_action_pointer = [
242
- -1, 59, nil, 11, nil, nil, nil, nil, nil, nil,
243
- nil, nil, 34, nil, nil, 19, 39, 32, 23, 28,
244
- nil, 39, nil, 30, -2, nil, 19, nil, 40, nil,
245
- 52, nil, -3, -12, -12, nil, nil, 12, 20, nil,
246
- 8, nil, nil, nil, nil, nil, 47, 23, nil, nil,
247
- nil, nil, -1, nil, nil, nil, 43, nil, nil, 4,
248
- nil, 53, nil, nil, nil, nil ]
242
+ -1, 14, nil, 11, nil, nil, nil, nil, nil, nil,
243
+ nil, nil, 18, nil, nil, 17, -6, 28, 23, 30,
244
+ nil, 41, nil, 30, -2, nil, 29, nil, 32, nil,
245
+ 48, nil, 40, 42, 39, nil, nil, -1, -3, nil,
246
+ nil, 37, nil, nil, nil, nil, nil, 49, 23, nil,
247
+ nil, nil, nil, 12, nil, nil, nil, nil, 51, nil,
248
+ nil, 28, nil, 54, nil, nil, nil, nil ]
249
249
 
250
250
  racc_action_default = [
251
- -3, -44, -1, -2, -5, -6, -7, -8, -9, -10,
252
- -11, -12, -44, -18, -19, -44, -44, -27, -3, -27,
253
- -35, -44, -4, -44, -44, -22, -44, -24, -26, -29,
254
- -30, -32, -44, -44, -44, 66, -13, -44, -44, -20,
255
- -44, -23, -28, -31, -36, -37, -44, -44, -33, -25,
256
- -34, -14, -44, -17, -21, -38, -44, -42, -40, -44,
257
- -15, -44, -39, -43, -41, -16 ]
251
+ -3, -46, -1, -2, -5, -6, -7, -8, -9, -10,
252
+ -11, -12, -46, -20, -21, -46, -46, -29, -3, -29,
253
+ -37, -46, -4, -46, -46, -24, -46, -26, -28, -31,
254
+ -32, -34, -46, -46, -46, 68, -13, -46, -46, -18,
255
+ -22, -46, -25, -30, -33, -38, -39, -46, -46, -35,
256
+ -27, -36, -14, -46, -17, -19, -23, -40, -46, -44,
257
+ -42, -46, -15, -46, -41, -45, -43, -16 ]
258
258
 
259
259
  racc_goto_table = [
260
- 43, 2, 27, 22, 34, 56, 59, 52, 42, 1,
261
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 33,
262
- nil, nil, 61 ]
260
+ 44, 2, 27, 1, 34, 58, 61, 53, 22, 38,
261
+ 43, nil, nil, nil, nil, nil, nil, nil, nil, 33,
262
+ nil, nil, nil, 63 ]
263
263
 
264
264
  racc_goto_check = [
265
- 12, 2, 15, 4, 15, 21, 21, 12, 17, 1,
266
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 2,
267
- nil, nil, 12 ]
265
+ 12, 2, 16, 1, 16, 22, 22, 12, 4, 13,
266
+ 18, nil, nil, nil, nil, nil, nil, nil, nil, 2,
267
+ nil, nil, nil, 12 ]
268
268
 
269
269
  racc_goto_pointer = [
270
- nil, 9, 1, nil, 0, nil, nil, nil, nil, nil,
271
- nil, nil, -30, nil, nil, -15, nil, -20, nil, nil,
272
- nil, -41 ]
270
+ nil, 3, 1, nil, 5, nil, nil, nil, nil, nil,
271
+ nil, nil, -30, -14, nil, nil, -15, nil, -18, nil,
272
+ nil, nil, -42 ]
273
273
 
274
274
  racc_goto_default = [
275
275
  nil, nil, nil, 3, 4, 5, 6, 7, 8, 9,
276
- 10, 11, nil, 17, 18, nil, 28, 29, 30, 44,
277
- 45, nil ]
276
+ 10, 11, nil, nil, 17, 18, nil, 28, 29, 30,
277
+ 45, 46, nil ]
278
278
 
279
279
  racc_reduce_table = [
280
280
  0, 0, :racc_error,
@@ -295,36 +295,38 @@ racc_reduce_table = [
295
295
  5, 29, :_reduce_15,
296
296
  6, 29, :_reduce_16,
297
297
  4, 29, :_reduce_17,
298
- 1, 30, :_reduce_18,
299
- 1, 31, :_reduce_19,
300
- 3, 35, :_reduce_20,
301
- 4, 35, :_reduce_21,
302
- 2, 37, :_reduce_22,
303
- 3, 37, :_reduce_23,
298
+ 1, 37, :_reduce_18,
299
+ 2, 37, :_reduce_19,
300
+ 1, 30, :_reduce_20,
301
+ 1, 31, :_reduce_21,
302
+ 3, 35, :_reduce_22,
303
+ 4, 35, :_reduce_23,
304
304
  2, 38, :_reduce_24,
305
- 3, 32, :_reduce_25,
306
- 1, 39, :_reduce_26,
307
- 0, 39, :_reduce_27,
308
- 2, 40, :_reduce_28,
309
- 1, 40, :_reduce_29,
310
- 1, 41, :_reduce_30,
311
- 2, 41, :_reduce_31,
305
+ 3, 38, :_reduce_25,
306
+ 2, 39, :_reduce_26,
307
+ 3, 32, :_reduce_27,
308
+ 1, 40, :_reduce_28,
309
+ 0, 40, :_reduce_29,
310
+ 2, 41, :_reduce_30,
311
+ 1, 41, :_reduce_31,
312
312
  1, 42, :_reduce_32,
313
313
  2, 42, :_reduce_33,
314
- 3, 34, :_reduce_34,
315
- 1, 33, :_reduce_35,
314
+ 1, 43, :_reduce_34,
315
+ 2, 43, :_reduce_35,
316
+ 3, 34, :_reduce_36,
317
+ 1, 33, :_reduce_37,
316
318
  1, 36, :_reduce_none,
317
319
  1, 36, :_reduce_none,
318
- 2, 43, :_reduce_38,
319
- 3, 43, :_reduce_39,
320
320
  2, 44, :_reduce_40,
321
321
  3, 44, :_reduce_41,
322
- 1, 45, :_reduce_42,
323
- 2, 45, :_reduce_43 ]
322
+ 2, 45, :_reduce_42,
323
+ 3, 45, :_reduce_43,
324
+ 1, 46, :_reduce_44,
325
+ 2, 46, :_reduce_45 ]
324
326
 
325
- racc_reduce_n = 44
327
+ racc_reduce_n = 46
326
328
 
327
- racc_shift_n = 66
329
+ racc_shift_n = 68
328
330
 
329
331
  racc_token_table = {
330
332
  false => 0,
@@ -410,6 +412,7 @@ Racc_token_to_s_table = [
410
412
  "xmldecl",
411
413
  "proc_ins",
412
414
  "string",
415
+ "doctype_inline",
413
416
  "element_open",
414
417
  "element_start",
415
418
  "attributes",
@@ -491,36 +494,44 @@ def _reduce_17(val, _values)
491
494
  end
492
495
 
493
496
  def _reduce_18(val, _values)
494
- on_cdata(val[0])
497
+ val[0]
495
498
  end
496
499
 
497
500
  def _reduce_19(val, _values)
498
- on_comment(val[0])
501
+ val[0] + val[1]
499
502
  end
500
503
 
501
504
  def _reduce_20(val, _values)
505
+ on_cdata(val[0])
506
+ end
507
+
508
+ def _reduce_21(val, _values)
509
+ on_comment(val[0])
510
+ end
511
+
512
+ def _reduce_22(val, _values)
502
513
  on_proc_ins(val[1])
503
514
 
504
515
  end
505
516
 
506
- def _reduce_21(val, _values)
517
+ def _reduce_23(val, _values)
507
518
  on_proc_ins(val[1], val[2])
508
519
 
509
520
  end
510
521
 
511
- def _reduce_22(val, _values)
522
+ def _reduce_24(val, _values)
512
523
  [nil, val[1]]
513
524
  end
514
525
 
515
- def _reduce_23(val, _values)
526
+ def _reduce_25(val, _values)
516
527
  [val[1], val[2]]
517
528
  end
518
529
 
519
- def _reduce_24(val, _values)
530
+ def _reduce_26(val, _values)
520
531
  on_element(val[0][0], val[0][1], val[1])
521
532
  end
522
533
 
523
- def _reduce_25(val, _values)
534
+ def _reduce_27(val, _values)
524
535
  if val[0]
525
536
  on_element_children(val[0], val[1])
526
537
  end
@@ -529,74 +540,74 @@ def _reduce_25(val, _values)
529
540
 
530
541
  end
531
542
 
532
- def _reduce_26(val, _values)
543
+ def _reduce_28(val, _values)
533
544
  val[0]
534
545
  end
535
546
 
536
- def _reduce_27(val, _values)
547
+ def _reduce_29(val, _values)
537
548
  []
538
549
  end
539
550
 
540
- def _reduce_28(val, _values)
551
+ def _reduce_30(val, _values)
541
552
  val[0] << val[1]
542
553
  end
543
554
 
544
- def _reduce_29(val, _values)
555
+ def _reduce_31(val, _values)
545
556
  val
546
557
  end
547
558
 
548
- def _reduce_30(val, _values)
559
+ def _reduce_32(val, _values)
549
560
  val[0]
550
561
  end
551
562
 
552
- def _reduce_31(val, _values)
563
+ def _reduce_33(val, _values)
553
564
  val[0].value = val[1]
554
565
  val[0]
555
566
 
556
567
  end
557
568
 
558
- def _reduce_32(val, _values)
569
+ def _reduce_34(val, _values)
559
570
  Attribute.new(:name => val[0])
560
571
  end
561
572
 
562
- def _reduce_33(val, _values)
573
+ def _reduce_35(val, _values)
563
574
  Attribute.new(:namespace_name => val[0], :name => val[1])
564
575
 
565
576
  end
566
577
 
567
- def _reduce_34(val, _values)
578
+ def _reduce_36(val, _values)
568
579
  on_xml_decl(val[1])
569
580
  end
570
581
 
571
- def _reduce_35(val, _values)
582
+ def _reduce_37(val, _values)
572
583
  on_text(val[0])
573
584
  end
574
585
 
575
- # reduce 36 omitted
586
+ # reduce 38 omitted
576
587
 
577
- # reduce 37 omitted
588
+ # reduce 39 omitted
578
589
 
579
- def _reduce_38(val, _values)
590
+ def _reduce_40(val, _values)
580
591
  ''
581
592
  end
582
593
 
583
- def _reduce_39(val, _values)
594
+ def _reduce_41(val, _values)
584
595
  val[1]
585
596
  end
586
597
 
587
- def _reduce_40(val, _values)
598
+ def _reduce_42(val, _values)
588
599
  ''
589
600
  end
590
601
 
591
- def _reduce_41(val, _values)
602
+ def _reduce_43(val, _values)
592
603
  val[1]
593
604
  end
594
605
 
595
- def _reduce_42(val, _values)
606
+ def _reduce_44(val, _values)
596
607
  val[0]
597
608
  end
598
609
 
599
- def _reduce_43(val, _values)
610
+ def _reduce_45(val, _values)
600
611
  val[0] + val[1]
601
612
  end
602
613
 
data/lib/oga/xml/text.rb CHANGED
@@ -9,7 +9,15 @@ module Oga
9
9
  # @see [Oga::XML::CharacterNode#to_xml]
10
10
  #
11
11
  def to_xml
12
- return Entities.encode(super)
12
+ node = parent
13
+ root = root_node
14
+
15
+ if root.is_a?(Document) and node.is_a?(Element) \
16
+ and node.name == Lexer::SCRIPT_TAG and root.html?
17
+ return super
18
+ else
19
+ return Entities.encode(super)
20
+ end
13
21
  end
14
22
  end # Text
15
23
  end # XML
@@ -58,93 +58,91 @@ module Oga
58
58
  ##### State transition tables begin ###
59
59
 
60
60
  racc_action_table = [
61
- 23, 58, 23, 26, 25, 22, 21, 22, 21, 4,
61
+ 23, 28, 23, 26, 25, 22, 21, 22, 21, 4,
62
62
  23, 17, 24, 26, 25, 22, 21, 22, 21, 4,
63
+ 23, 17, 24, 26, 25, 22, 21, 27, -17, 4,
64
+ 23, 17, 24, 26, 25, 22, 21, 27, -18, 4,
65
+ 23, 17, 24, 26, 25, 22, 21, 27, 46, 4,
66
+ 23, 17, 24, 26, 25, 22, 21, 27, 46, 4,
67
+ 23, 17, 24, 26, 25, 22, 21, 27, 48, 4,
68
+ 23, 17, 24, 26, 25, 22, 21, 27, 58, 4,
69
+ 23, 17, 24, 26, 25, 22, 21, 27, 73, 4,
70
+ 23, 17, 24, 26, 25, 22, 21, 27, 48, 4,
71
+ 23, 17, 24, 26, 25, 22, 21, 27, 77, 4,
72
+ 23, 17, 24, 26, 25, 22, 21, 27, 48, 4,
73
+ 23, 17, 24, 26, 25, 22, 21, 27, 83, 4,
74
+ 23, 17, 24, 26, 25, 22, 21, 27, nil, 4,
75
+ 23, 17, 24, 26, 25, 22, 21, 27, nil, 4,
76
+ 23, 17, 24, 26, 25, 22, 21, 27, nil, 4,
77
+ 23, 17, 24, 26, 25, 22, 21, 27, nil, 4,
63
78
  23, 17, 24, 26, 25, 22, 21, 27, 53, 4,
64
- 79, 17, 24, 77, 48, 23, 54, 27, -17, 23,
65
- 22, 21, 26, 25, 22, 21, 73, 27, 4, 23,
66
- 17, 24, 26, 25, 22, 21, -18, 46, 4, 23,
67
- 17, 24, 26, 25, 22, 21, 27, 46, 4, 23,
68
- 17, 24, 26, 25, 22, 21, 27, 48, 4, 23,
69
- 17, 24, 26, 25, 22, 21, 27, 48, 4, 23,
70
- 17, 24, 26, 25, 22, 21, 27, 83, 4, 23,
71
- 17, 24, 26, 25, 22, 21, 27, 28, 4, 23,
72
- 17, 24, 26, 25, 22, 21, 27, nil, 4, 23,
73
- 17, 24, 26, 25, 22, 21, 27, nil, 4, 23,
74
- 17, 24, 26, 25, 22, 21, 27, nil, 4, 23,
75
- 17, 24, 26, 25, 22, 21, 27, nil, 4, 23,
76
- 17, 24, 26, 25, 22, 21, 27, nil, 4, 23,
77
- 17, 24, 26, 25, 22, 21, 27, nil, 4, 23,
78
- 17, 24, 26, 25, 22, 21, 27, nil, 4, 23,
79
- 17, 24, 26, 25, 22, 21, 27, nil, 4, 23,
80
- 17, 24, 26, 25, 22, 21, 27, nil, 4, 29,
81
- 17, 24, 32, 33, 34, nil, 27, 82, nil, nil,
82
- nil, 42, 41, nil, nil, nil, 27, nil, 29, 30,
83
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
84
- 42, 41, 81, nil, nil, nil, nil, 29, 30, 31,
85
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 42,
86
- 41, 29, 30, 31, 32, 33, 34, 35, 36, 37,
87
- 38, 39, 40, 42, 41, 29, nil, nil, 32, 33,
88
- 34, nil, nil, 37, 38, 39, 40, 42, 41, 29,
89
- nil, nil, 32, 33, 34, 35, 36, 37, 38, 39,
90
- 40, 42, 41, 29, 30, nil, 32, 33, 34, 35,
91
- 36, 37, 38, 39, 40, 42, 41, 29, nil, nil,
79
+ 79, 17, 24, nil, nil, nil, 54, 27, nil, 23,
80
+ nil, 82, 26, 25, 22, 21, nil, 27, 4, nil,
81
+ 17, 24, 29, 30, 31, 32, 33, 34, 35, 36,
82
+ 37, 38, 39, 40, 42, 41, 27, 81, nil, nil,
83
+ nil, nil, 29, 30, 31, 32, 33, 34, 35, 36,
84
+ 37, 38, 39, 40, 42, 41, 29, 30, 31, 32,
85
+ 33, 34, 35, 36, 37, 38, 39, 40, 42, 41,
86
+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
87
+ 39, 40, 42, 41, 29, nil, nil, 32, 33, 34,
88
+ 35, 36, 37, 38, 39, 40, 42, 41, 29, 30,
89
+ nil, 32, 33, 34, 35, 36, 37, 38, 39, 40,
90
+ 42, 41, 29, 23, nil, 32, 33, 34, 22, 21,
91
+ 37, 38, 39, 40, 42, 41, 29, nil, nil, 32,
92
+ 33, 34, nil, nil, 37, 38, 39, 40, 42, 41,
93
+ 29, nil, nil, 32, 33, 34, 29, nil, nil, 32,
94
+ 33, 34, 42, 41, nil, nil, nil, 29, 42, 41,
92
95
  32, 33, 34, 29, nil, nil, 32, 33, 34, 42,
93
- 41, 37, 38, 39, 40, 42, 41, 29, 30, 31,
94
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 42,
95
- 41, 29, nil, nil, 32, 33, 34, 29, nil, nil,
96
- 32, 33, 34, 42, 41, nil, nil, nil, nil, 42,
97
- 41 ]
96
+ 41, nil, nil, nil, nil, 42, 41 ]
98
97
 
99
98
  racc_action_check = [
100
- 0, 28, 48, 0, 0, 0, 0, 48, 48, 0,
101
- 82, 0, 0, 82, 82, 82, 82, 23, 23, 82,
102
- 54, 82, 82, 54, 54, 54, 54, 0, 22, 54,
103
- 54, 54, 54, 53, 51, 17, 22, 82, 5, 4,
104
- 17, 17, 4, 4, 4, 4, 43, 54, 4, 46,
105
- 4, 4, 46, 46, 46, 46, 9, 13, 46, 42,
106
- 46, 46, 42, 42, 42, 42, 4, 14, 42, 41,
107
- 42, 42, 41, 41, 41, 41, 46, 75, 41, 40,
108
- 41, 41, 40, 40, 40, 40, 42, 15, 40, 34,
109
- 40, 40, 34, 34, 34, 34, 41, 80, 34, 38,
110
- 34, 34, 38, 38, 38, 38, 40, 1, 38, 37,
111
- 38, 38, 37, 37, 37, 37, 34, nil, 37, 36,
112
- 37, 37, 36, 36, 36, 36, 38, nil, 36, 35,
113
- 36, 36, 35, 35, 35, 35, 37, nil, 35, 29,
114
- 35, 35, 29, 29, 29, 29, 36, nil, 29, 30,
115
- 29, 29, 30, 30, 30, 30, 35, nil, 30, 31,
116
- 30, 30, 31, 31, 31, 31, 29, nil, 31, 32,
117
- 31, 31, 32, 32, 32, 32, 30, nil, 32, 33,
118
- 32, 32, 33, 33, 33, 33, 31, nil, 33, 39,
119
- 33, 33, 39, 39, 39, 39, 32, nil, 39, 70,
120
- 39, 39, 70, 70, 70, nil, 33, 78, nil, nil,
121
- nil, 70, 70, nil, nil, nil, 39, nil, 78, 78,
122
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
123
- 78, 78, 74, nil, nil, nil, nil, 74, 74, 74,
124
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
125
- 74, 2, 2, 2, 2, 2, 2, 2, 2, 2,
126
- 2, 2, 2, 2, 2, 65, nil, nil, 65, 65,
127
- 65, nil, nil, 65, 65, 65, 65, 65, 65, 60,
128
- nil, nil, 60, 60, 60, 60, 60, 60, 60, 60,
129
- 60, 60, 60, 61, 61, nil, 61, 61, 61, 61,
130
- 61, 61, 61, 61, 61, 61, 61, 69, nil, nil,
131
- 69, 69, 69, 66, nil, nil, 66, 66, 66, 69,
132
- 69, 66, 66, 66, 66, 66, 66, 44, 44, 44,
99
+ 0, 1, 17, 0, 0, 0, 0, 17, 17, 0,
100
+ 4, 0, 0, 4, 4, 4, 4, 23, 23, 4,
101
+ 29, 4, 4, 29, 29, 29, 29, 0, 5, 29,
102
+ 30, 29, 29, 30, 30, 30, 30, 4, 9, 30,
103
+ 31, 30, 30, 31, 31, 31, 31, 29, 13, 31,
104
+ 32, 31, 31, 32, 32, 32, 32, 30, 14, 32,
105
+ 33, 32, 32, 33, 33, 33, 33, 31, 15, 33,
106
+ 34, 33, 33, 34, 34, 34, 34, 32, 28, 34,
107
+ 35, 34, 34, 35, 35, 35, 35, 33, 43, 35,
108
+ 36, 35, 35, 36, 36, 36, 36, 34, 51, 36,
109
+ 37, 36, 36, 37, 37, 37, 37, 35, 53, 37,
110
+ 38, 37, 37, 38, 38, 38, 38, 36, 75, 38,
111
+ 39, 38, 38, 39, 39, 39, 39, 37, 80, 39,
112
+ 40, 39, 39, 40, 40, 40, 40, 38, nil, 40,
113
+ 41, 40, 40, 41, 41, 41, 41, 39, nil, 41,
114
+ 42, 41, 41, 42, 42, 42, 42, 40, nil, 42,
115
+ 46, 42, 42, 46, 46, 46, 46, 41, nil, 46,
116
+ 54, 46, 46, 54, 54, 54, 54, 42, 22, 54,
117
+ 54, 54, 54, nil, nil, nil, 22, 46, nil, 82,
118
+ nil, 78, 82, 82, 82, 82, nil, 54, 82, nil,
119
+ 82, 82, 78, 78, 78, 78, 78, 78, 78, 78,
120
+ 78, 78, 78, 78, 78, 78, 82, 74, nil, nil,
121
+ nil, nil, 74, 74, 74, 74, 74, 74, 74, 74,
122
+ 74, 74, 74, 74, 74, 74, 2, 2, 2, 2,
123
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
133
124
  44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
134
- 44, 67, nil, nil, 67, 67, 67, 68, nil, nil,
135
- 68, 68, 68, 67, 67, nil, nil, nil, nil, 68,
136
- 68 ]
125
+ 44, 44, 44, 44, 60, nil, nil, 60, 60, 60,
126
+ 60, 60, 60, 60, 60, 60, 60, 60, 61, 61,
127
+ nil, 61, 61, 61, 61, 61, 61, 61, 61, 61,
128
+ 61, 61, 65, 48, nil, 65, 65, 65, 48, 48,
129
+ 65, 65, 65, 65, 65, 65, 66, nil, nil, 66,
130
+ 66, 66, nil, nil, 66, 66, 66, 66, 66, 66,
131
+ 67, nil, nil, 67, 67, 67, 68, nil, nil, 68,
132
+ 68, 68, 67, 67, nil, nil, nil, 69, 68, 68,
133
+ 69, 69, 69, 70, nil, nil, 70, 70, 70, 69,
134
+ 69, nil, nil, nil, nil, 70, 70 ]
137
135
 
138
136
  racc_action_pointer = [
139
- -2, 107, 236, nil, 37, 25, nil, nil, nil, 43,
140
- nil, nil, nil, 48, 58, 74, nil, 33, nil, nil,
141
- nil, nil, 25, 10, nil, nil, nil, nil, 1, 137,
142
- 147, 157, 167, 177, 87, 127, 117, 107, 97, 187,
143
- 77, 67, 57, 34, 312, nil, 47, nil, 0, nil,
144
- nil, 21, nil, 26, 18, nil, nil, nil, nil, nil,
145
- 264, 278, nil, nil, nil, 250, 298, 326, 332, 292,
146
- 184, nil, nil, nil, 222, 64, nil, nil, 203, nil,
147
- 85, nil, 8, nil, nil ]
137
+ -2, 1, 221, nil, 8, 15, nil, nil, nil, 25,
138
+ nil, nil, nil, 39, 49, 55, nil, 0, nil, nil,
139
+ nil, nil, 175, 10, nil, nil, nil, nil, 78, 18,
140
+ 28, 38, 48, 58, 68, 78, 88, 98, 108, 118,
141
+ 128, 138, 148, 76, 235, nil, 158, nil, 291, nil,
142
+ nil, 85, nil, 101, 168, nil, nil, nil, nil, nil,
143
+ 249, 263, nil, nil, nil, 277, 291, 305, 311, 322,
144
+ 328, nil, nil, nil, 207, 105, nil, nil, 187, nil,
145
+ 116, nil, 187, nil, nil ]
148
146
 
149
147
  racc_action_default = [
150
148
  -2, -58, -1, -3, -58, -5, -6, -7, -8, -9,
@@ -158,23 +156,23 @@ racc_action_default = [
158
156
  -58, -31, -58, -51, -53 ]
159
157
 
160
158
  racc_goto_table = [
161
- 2, 45, 47, 43, 44, 56, 55, 1, nil, nil,
162
- nil, nil, 52, 51, 50, nil, 49, nil, nil, nil,
163
- 57, 80, nil, nil, nil, nil, nil, nil, nil, 59,
159
+ 2, 45, 47, 1, 44, 43, 56, 55, nil, nil,
160
+ nil, nil, 49, 50, 51, nil, 52, nil, nil, 57,
161
+ 80, nil, nil, nil, nil, nil, nil, nil, nil, 59,
164
162
  60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
165
- 70, 71, 72, 76, 75, 50, 74, 49, nil, 84 ]
163
+ 70, 71, 72, 49, 50, 75, 74, 76, 84 ]
166
164
 
167
165
  racc_goto_check = [
168
- 2, 13, 13, 3, 2, 17, 20, 1, nil, nil,
169
- nil, nil, 16, 15, 8, nil, 4, nil, nil, nil,
170
- 8, 21, nil, nil, nil, nil, nil, nil, nil, 2,
166
+ 2, 13, 13, 1, 2, 3, 17, 20, nil, nil,
167
+ nil, nil, 4, 8, 15, nil, 16, nil, nil, 8,
168
+ 21, nil, nil, nil, nil, nil, nil, nil, nil, 2,
171
169
  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
172
- 2, 2, 2, 16, 15, 8, 2, 4, nil, 21 ]
170
+ 2, 2, 2, 4, 8, 15, 2, 16, 21 ]
173
171
 
174
172
  racc_goto_pointer = [
175
- nil, 7, 0, -1, -1, nil, nil, nil, -3, nil,
176
- nil, nil, nil, -12, nil, -4, -5, -18, nil, nil,
177
- -17, -33 ]
173
+ nil, 3, 0, 1, -5, nil, nil, nil, -4, nil,
174
+ nil, nil, nil, -12, nil, -3, -1, -17, nil, nil,
175
+ -16, -34 ]
178
176
 
179
177
  racc_goto_default = [
180
178
  nil, nil, 78, 3, 5, 6, 7, 8, 9, 10,