treetop 1.6.3 → 1.6.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 18fbc0b36ef1e609af0a671196218e5357161e54
4
- data.tar.gz: adafd739d5027568cea7ed3baf9ffd8bcb6f5b59
3
+ metadata.gz: 878553cd15b565fe0870a25ed59524505e0975ad
4
+ data.tar.gz: 675a16b030e58bca7d0e9be6b535fb589ae00112
5
5
  SHA512:
6
- metadata.gz: c11d7d971c0c563025bacef00d8ad62aaae7c4d4400515ee7d173e6509c7afb2c6679036da29b8cb802749343ebf02d6ead9b6b6c8e659bd78f41751671b66a5
7
- data.tar.gz: 965406473b8c53171bdb9c0a4c8e49ec2ab552cb1dc10c847d415a5c7d1b214b7bebf42d11a11988a52cd6b7cc3d96fc31b692efacc48a8bf8ef416439803d2a
6
+ metadata.gz: baf09fe0f27df12b8281c9d6f6fd4c7b443013cc77ea8aa1de3f2c5ebc8d97f644fa3a56b1e2671be0d3427789188c368efb9f915c1887bcd9d2376e50dcea6e
7
+ data.tar.gz: 3eed17051de65ee68f0e73f009f7cd391acbffb515bfe07f4b3634b0cd79003a89dba40d4d18602dbc4fe265aca5c77aaac861db6ee788776259fefa9664a8fc
data/README.md CHANGED
@@ -4,6 +4,8 @@ Support
4
4
  Support for Treetop is provided through the mailing list you can join or browse here:
5
5
  http://groups.google.com/group/treetop-dev
6
6
 
7
+ The gem is released from https://github.com/cjheath/treetop so you should check there as well.
8
+
7
9
  Tutorial
8
10
  ========
9
11
  Languages can be split into two components, their *syntax* and their *semantics*. It's your understanding of English syntax that tells you the stream of words "Sleep furiously green ideas colorless" is not a valid sentence. Semantics is deeper. Even if we rearrange the above sentence to be "Colorless green ideas sleep furiously", which is syntactically correct, it remains nonsensical on a semantic level. With Treetop, you'll be dealing with languages that are much simpler than English, but these basic concepts apply. Your programs will need to address both the syntax and the semantics of the languages they interpret.
@@ -148,7 +148,7 @@ module Treetop
148
148
  r3 = instantiate_node(SyntaxNode,input, index...(index + match_len))
149
149
  @index += match_len
150
150
  else
151
- terminal_parse_failure("require")
151
+ terminal_parse_failure('"require"')
152
152
  r3 = nil
153
153
  end
154
154
  s0 << r3
@@ -324,7 +324,7 @@ module Treetop
324
324
  r2 = instantiate_node(SyntaxNode,input, index...(index + match_len))
325
325
  @index += match_len
326
326
  else
327
- terminal_parse_failure('module')
327
+ terminal_parse_failure('\'module\'')
328
328
  r2 = nil
329
329
  end
330
330
  s1 << r2
@@ -361,7 +361,7 @@ module Treetop
361
361
  r10 = instantiate_node(SyntaxNode,input, index...(index + match_len))
362
362
  @index += match_len
363
363
  else
364
- terminal_parse_failure('::')
364
+ terminal_parse_failure('\'::\'')
365
365
  r10 = nil
366
366
  end
367
367
  s9 << r10
@@ -453,7 +453,7 @@ module Treetop
453
453
  r20 = instantiate_node(SyntaxNode,input, index...(index + match_len))
454
454
  @index += match_len
455
455
  else
456
- terminal_parse_failure('end')
456
+ terminal_parse_failure('\'end\'')
457
457
  r20 = nil
458
458
  end
459
459
  s18 << r20
@@ -523,7 +523,7 @@ module Treetop
523
523
  r1 = instantiate_node(SyntaxNode,input, index...(index + match_len))
524
524
  @index += match_len
525
525
  else
526
- terminal_parse_failure('grammar')
526
+ terminal_parse_failure('\'grammar\'')
527
527
  r1 = nil
528
528
  end
529
529
  s0 << r1
@@ -542,7 +542,7 @@ module Treetop
542
542
  r7 = instantiate_node(SyntaxNode,input, index...(index + match_len))
543
543
  @index += match_len
544
544
  else
545
- terminal_parse_failure('do')
545
+ terminal_parse_failure('\'do\'')
546
546
  r7 = nil
547
547
  end
548
548
  s6 << r7
@@ -579,7 +579,7 @@ module Treetop
579
579
  r12 = instantiate_node(SyntaxNode,input, index...(index + match_len))
580
580
  @index += match_len
581
581
  else
582
- terminal_parse_failure('end')
582
+ terminal_parse_failure('\'end\'')
583
583
  r12 = nil
584
584
  end
585
585
  s0 << r12
@@ -745,7 +745,7 @@ module Treetop
745
745
  r7.extend(DeclarationSequence3)
746
746
  @index += match_len
747
747
  else
748
- terminal_parse_failure('')
748
+ terminal_parse_failure('\'\'')
749
749
  r7 = nil
750
750
  end
751
751
  if r7
@@ -823,7 +823,7 @@ module Treetop
823
823
  r1 = instantiate_node(SyntaxNode,input, index...(index + match_len))
824
824
  @index += match_len
825
825
  else
826
- terminal_parse_failure('include')
826
+ terminal_parse_failure('\'include\'')
827
827
  r1 = nil
828
828
  end
829
829
  s0 << r1
@@ -852,7 +852,7 @@ module Treetop
852
852
  r7 = instantiate_node(SyntaxNode,input, index...(index + match_len))
853
853
  @index += match_len
854
854
  else
855
- terminal_parse_failure('::')
855
+ terminal_parse_failure('\'::\'')
856
856
  r7 = nil
857
857
  end
858
858
  if r7
@@ -933,7 +933,7 @@ module Treetop
933
933
  r1 = instantiate_node(SyntaxNode,input, index...(index + match_len))
934
934
  @index += match_len
935
935
  else
936
- terminal_parse_failure('rule')
936
+ terminal_parse_failure('\'rule\'')
937
937
  r1 = nil
938
938
  end
939
939
  s0 << r1
@@ -952,7 +952,7 @@ module Treetop
952
952
  r7 = instantiate_node(SyntaxNode,input, index...(index + match_len))
953
953
  @index += match_len
954
954
  else
955
- terminal_parse_failure('do')
955
+ terminal_parse_failure('\'do\'')
956
956
  r7 = nil
957
957
  end
958
958
  s6 << r7
@@ -984,7 +984,7 @@ module Treetop
984
984
  r11 = instantiate_node(SyntaxNode,input, index...(index + match_len))
985
985
  @index += match_len
986
986
  else
987
- terminal_parse_failure('end')
987
+ terminal_parse_failure('\'end\'')
988
988
  r11 = nil
989
989
  end
990
990
  s0 << r11
@@ -1071,6 +1071,10 @@ module Treetop
1071
1071
  super.elements.map {|elt| elt.alternative}
1072
1072
  end
1073
1073
 
1074
+ def parent_modules
1075
+ []
1076
+ end
1077
+
1074
1078
  def inline_modules
1075
1079
  (alternatives.map {|alt| alt.inline_modules }).flatten
1076
1080
  end
@@ -1106,7 +1110,7 @@ module Treetop
1106
1110
  r6 = true
1107
1111
  @index += match_len
1108
1112
  else
1109
- terminal_parse_failure('/')
1113
+ terminal_parse_failure('\'/\'')
1110
1114
  r6 = nil
1111
1115
  end
1112
1116
  s3 << r6
@@ -1178,10 +1182,14 @@ module Treetop
1178
1182
  sequence_body.tail
1179
1183
  end
1180
1184
 
1185
+ def parent_modules
1186
+ node_class_declarations.inline_modules
1187
+ end
1188
+
1181
1189
  def inline_modules
1182
1190
  (sequence_elements.map {|elt| elt.inline_modules}).flatten +
1183
1191
  [sequence_element_accessor_module] +
1184
- node_class_declarations.inline_modules
1192
+ parent_modules
1185
1193
  end
1186
1194
 
1187
1195
  def inline_module_name
@@ -1418,6 +1426,10 @@ module Treetop
1418
1426
  atomic
1419
1427
  end
1420
1428
 
1429
+ def parent_modules
1430
+ []
1431
+ end
1432
+
1421
1433
  def inline_modules
1422
1434
  atomic.inline_modules
1423
1435
  end
@@ -1444,6 +1456,9 @@ module Treetop
1444
1456
  def prefixed_expression
1445
1457
  atomic
1446
1458
  end
1459
+ def parent_modules
1460
+ []
1461
+ end
1447
1462
  def inline_modules
1448
1463
  []
1449
1464
  end
@@ -1465,6 +1480,7 @@ module Treetop
1465
1480
 
1466
1481
  module Primary5
1467
1482
  def compile(address, builder, parent_expression=nil)
1483
+ STDERR.puts "Extraneous module ignored after suffix: #{input[interval].inspect}" if node_class_declarations.inline_modules.size > 0 && atomic.inline_modules.size > 0
1468
1484
  suffix.compile(address, builder, self)
1469
1485
  end
1470
1486
 
@@ -1476,8 +1492,12 @@ module Treetop
1476
1492
  node_class_declarations.node_class_name
1477
1493
  end
1478
1494
 
1495
+ def parent_modules
1496
+ node_class_declarations.inline_modules
1497
+ end
1498
+
1479
1499
  def inline_modules
1480
- atomic.inline_modules + node_class_declarations.inline_modules
1500
+ atomic.inline_modules + parent_modules
1481
1501
  end
1482
1502
 
1483
1503
  def inline_module_name
@@ -1497,6 +1517,7 @@ module Treetop
1497
1517
 
1498
1518
  module Primary7
1499
1519
  def compile(address, builder, parent_expression=nil)
1520
+ STDERR.puts "Extraneous module ignored with nested atomic: #{input[interval].inspect}" if node_class_declarations.inline_modules.size > 0 && atomic.inline_modules.size > 0
1500
1521
  atomic.compile(address, builder, self)
1501
1522
  end
1502
1523
 
@@ -1504,8 +1525,12 @@ module Treetop
1504
1525
  node_class_declarations.node_class_name
1505
1526
  end
1506
1527
 
1528
+ def parent_modules
1529
+ node_class_declarations.inline_modules
1530
+ end
1531
+
1507
1532
  def inline_modules
1508
- atomic.inline_modules + node_class_declarations.inline_modules
1533
+ atomic.inline_modules + parent_modules
1509
1534
  end
1510
1535
 
1511
1536
  def inline_module_name
@@ -1673,6 +1698,10 @@ module Treetop
1673
1698
  sequence_primary.compile(lexical_address, builder)
1674
1699
  end
1675
1700
 
1701
+ def parent_modules
1702
+ []
1703
+ end
1704
+
1676
1705
  def inline_modules
1677
1706
  sequence_primary.inline_modules
1678
1707
  end
@@ -1729,6 +1758,10 @@ module Treetop
1729
1758
  sequence_primary.compile(lexical_address, builder)
1730
1759
  end
1731
1760
 
1761
+ def parent_modules
1762
+ []
1763
+ end
1764
+
1732
1765
  def inline_modules
1733
1766
  sequence_primary.inline_modules
1734
1767
  end
@@ -1863,7 +1896,7 @@ module Treetop
1863
1896
  r5 = true
1864
1897
  @index += match_len
1865
1898
  else
1866
- terminal_parse_failure(':')
1899
+ terminal_parse_failure('\':\'')
1867
1900
  r5 = nil
1868
1901
  end
1869
1902
  s0 << r5
@@ -1904,7 +1937,7 @@ module Treetop
1904
1937
  r0.extend(NullLabel0)
1905
1938
  @index += match_len
1906
1939
  else
1907
- terminal_parse_failure('')
1940
+ terminal_parse_failure('\'\'')
1908
1941
  r0 = nil
1909
1942
  end
1910
1943
 
@@ -1932,6 +1965,10 @@ module Treetop
1932
1965
  elements[1]
1933
1966
  end
1934
1967
 
1968
+ def parent_modules
1969
+ []
1970
+ end
1971
+
1935
1972
  def inline_modules
1936
1973
  atomic.inline_modules
1937
1974
  end
@@ -1958,6 +1995,9 @@ module Treetop
1958
1995
  def prefixed_expression
1959
1996
  atomic
1960
1997
  end
1998
+ def parent_modules
1999
+ []
2000
+ end
1961
2001
  def inline_modules
1962
2002
  []
1963
2003
  end
@@ -1982,6 +2022,10 @@ module Treetop
1982
2022
  nil
1983
2023
  end
1984
2024
 
2025
+ def parent_modules
2026
+ []
2027
+ end
2028
+
1985
2029
  def inline_modules
1986
2030
  atomic.inline_modules
1987
2031
  end
@@ -2133,7 +2177,7 @@ module Treetop
2133
2177
  r0 = instantiate_node(Optional,input, index...(index + match_len))
2134
2178
  @index += match_len
2135
2179
  else
2136
- terminal_parse_failure('?')
2180
+ terminal_parse_failure('\'?\'')
2137
2181
  r0 = nil
2138
2182
  end
2139
2183
 
@@ -2157,6 +2201,7 @@ module Treetop
2157
2201
  node_class_expression.node_class_name
2158
2202
  end
2159
2203
 
2204
+ # !!!! cjh !!!!!
2160
2205
  def inline_modules
2161
2206
  trailing_inline_module.inline_modules
2162
2207
  end
@@ -2218,7 +2263,7 @@ module Treetop
2218
2263
  r1 = instantiate_node(OneOrMore,input, index...(index + match_len))
2219
2264
  @index += match_len
2220
2265
  else
2221
- terminal_parse_failure('+')
2266
+ terminal_parse_failure('\'+\'')
2222
2267
  r1 = nil
2223
2268
  end
2224
2269
  if r1
@@ -2229,7 +2274,7 @@ module Treetop
2229
2274
  r2 = instantiate_node(ZeroOrMore,input, index...(index + match_len))
2230
2275
  @index += match_len
2231
2276
  else
2232
- terminal_parse_failure('*')
2277
+ terminal_parse_failure('\'*\'')
2233
2278
  r2 = nil
2234
2279
  end
2235
2280
  if r2
@@ -2304,7 +2349,7 @@ module Treetop
2304
2349
  r5 = instantiate_node(SyntaxNode,input, index...(index + match_len))
2305
2350
  @index += match_len
2306
2351
  else
2307
- terminal_parse_failure('..')
2352
+ terminal_parse_failure('\'..\'')
2308
2353
  r5 = nil
2309
2354
  end
2310
2355
  s0 << r5
@@ -2358,7 +2403,7 @@ module Treetop
2358
2403
  r1 = instantiate_node(AndPredicate,input, index...(index + match_len))
2359
2404
  @index += match_len
2360
2405
  else
2361
- terminal_parse_failure('&')
2406
+ terminal_parse_failure('\'&\'')
2362
2407
  r1 = nil
2363
2408
  end
2364
2409
  if r1
@@ -2369,7 +2414,7 @@ module Treetop
2369
2414
  r2 = instantiate_node(NotPredicate,input, index...(index + match_len))
2370
2415
  @index += match_len
2371
2416
  else
2372
- terminal_parse_failure('!')
2417
+ terminal_parse_failure('\'!\'')
2373
2418
  r2 = nil
2374
2419
  end
2375
2420
  if r2
@@ -2380,7 +2425,7 @@ module Treetop
2380
2425
  r3 = instantiate_node(TransientPrefix,input, index...(index + match_len))
2381
2426
  @index += match_len
2382
2427
  else
2383
- terminal_parse_failure('~')
2428
+ terminal_parse_failure('\'~\'')
2384
2429
  r3 = nil
2385
2430
  end
2386
2431
  if r3
@@ -2444,6 +2489,9 @@ module Treetop
2444
2489
  end
2445
2490
 
2446
2491
  module ParenthesizedExpression1
2492
+ def parent_modules
2493
+ []
2494
+ end
2447
2495
  def inline_modules
2448
2496
  parsing_expression.inline_modules
2449
2497
  end
@@ -2465,7 +2513,7 @@ module Treetop
2465
2513
  r1 = true
2466
2514
  @index += match_len
2467
2515
  else
2468
- terminal_parse_failure('(')
2516
+ terminal_parse_failure('\'(\'')
2469
2517
  r1 = nil
2470
2518
  end
2471
2519
  s0 << r1
@@ -2493,7 +2541,7 @@ module Treetop
2493
2541
  r7 = true
2494
2542
  @index += match_len
2495
2543
  else
2496
- terminal_parse_failure(')')
2544
+ terminal_parse_failure('\')\'')
2497
2545
  r7 = nil
2498
2546
  end
2499
2547
  s0 << r7
@@ -2540,6 +2588,7 @@ module Treetop
2540
2588
  i1 = index
2541
2589
  r2 = _nt_keyword_inside_grammar
2542
2590
  if r2
2591
+ @index = i1
2543
2592
  r1 = nil
2544
2593
  else
2545
2594
  @index = i1
@@ -2726,7 +2775,7 @@ module Treetop
2726
2775
  r1 = true
2727
2776
  @index += match_len
2728
2777
  else
2729
- terminal_parse_failure('"')
2778
+ terminal_parse_failure('\'"\'')
2730
2779
  r1 = nil
2731
2780
  end
2732
2781
  s0 << r1
@@ -2739,12 +2788,15 @@ module Treetop
2739
2788
  r5 = true
2740
2789
  @index += match_len
2741
2790
  else
2742
- terminal_parse_failure('"')
2791
+ terminal_parse_failure('\'"\'')
2743
2792
  r5 = nil
2744
2793
  end
2745
2794
  if r5
2795
+ @index = i4
2746
2796
  r4 = nil
2797
+ terminal_parse_failure('\'"\'', true)
2747
2798
  else
2799
+ @terminal_failures.pop
2748
2800
  @index = i4
2749
2801
  r4 = instantiate_node(SyntaxNode,input, index...index)
2750
2802
  end
@@ -2755,7 +2807,7 @@ module Treetop
2755
2807
  r7 = instantiate_node(SyntaxNode,input, index...(index + match_len))
2756
2808
  @index += match_len
2757
2809
  else
2758
- terminal_parse_failure("\\\\")
2810
+ terminal_parse_failure('"\\\\\\\\"')
2759
2811
  r7 = nil
2760
2812
  end
2761
2813
  if r7
@@ -2766,7 +2818,7 @@ module Treetop
2766
2818
  r8 = instantiate_node(SyntaxNode,input, index...(index + match_len))
2767
2819
  @index += match_len
2768
2820
  else
2769
- terminal_parse_failure('\"')
2821
+ terminal_parse_failure('\'\\"\'')
2770
2822
  r8 = nil
2771
2823
  end
2772
2824
  if r8
@@ -2811,7 +2863,7 @@ module Treetop
2811
2863
  r10 = true
2812
2864
  @index += match_len
2813
2865
  else
2814
- terminal_parse_failure('"')
2866
+ terminal_parse_failure('\'"\'')
2815
2867
  r10 = nil
2816
2868
  end
2817
2869
  s0 << r10
@@ -2856,7 +2908,7 @@ module Treetop
2856
2908
  r1 = true
2857
2909
  @index += match_len
2858
2910
  else
2859
- terminal_parse_failure("'")
2911
+ terminal_parse_failure('"\'"')
2860
2912
  r1 = nil
2861
2913
  end
2862
2914
  s0 << r1
@@ -2869,12 +2921,15 @@ module Treetop
2869
2921
  r5 = true
2870
2922
  @index += match_len
2871
2923
  else
2872
- terminal_parse_failure("'")
2924
+ terminal_parse_failure('"\'"')
2873
2925
  r5 = nil
2874
2926
  end
2875
2927
  if r5
2928
+ @index = i4
2876
2929
  r4 = nil
2930
+ terminal_parse_failure('"\'"', true)
2877
2931
  else
2932
+ @terminal_failures.pop
2878
2933
  @index = i4
2879
2934
  r4 = instantiate_node(SyntaxNode,input, index...index)
2880
2935
  end
@@ -2885,7 +2940,7 @@ module Treetop
2885
2940
  r7 = instantiate_node(SyntaxNode,input, index...(index + match_len))
2886
2941
  @index += match_len
2887
2942
  else
2888
- terminal_parse_failure("\\\\")
2943
+ terminal_parse_failure('"\\\\\\\\"')
2889
2944
  r7 = nil
2890
2945
  end
2891
2946
  if r7
@@ -2896,7 +2951,7 @@ module Treetop
2896
2951
  r8 = instantiate_node(SyntaxNode,input, index...(index + match_len))
2897
2952
  @index += match_len
2898
2953
  else
2899
- terminal_parse_failure("\\'")
2954
+ terminal_parse_failure('"\\\\\'"')
2900
2955
  r8 = nil
2901
2956
  end
2902
2957
  if r8
@@ -2941,7 +2996,7 @@ module Treetop
2941
2996
  r10 = true
2942
2997
  @index += match_len
2943
2998
  else
2944
- terminal_parse_failure("'")
2999
+ terminal_parse_failure('"\'"')
2945
3000
  r10 = nil
2946
3001
  end
2947
3002
  s0 << r10
@@ -2998,7 +3053,7 @@ module Treetop
2998
3053
  r1 = true
2999
3054
  @index += match_len
3000
3055
  else
3001
- terminal_parse_failure('[')
3056
+ terminal_parse_failure('\'[\'')
3002
3057
  r1 = nil
3003
3058
  end
3004
3059
  s0 << r1
@@ -3011,12 +3066,15 @@ module Treetop
3011
3066
  r5 = true
3012
3067
  @index += match_len
3013
3068
  else
3014
- terminal_parse_failure(']')
3069
+ terminal_parse_failure('\']\'')
3015
3070
  r5 = nil
3016
3071
  end
3017
3072
  if r5
3073
+ @index = i4
3018
3074
  r4 = nil
3075
+ terminal_parse_failure('\']\'', true)
3019
3076
  else
3077
+ @terminal_failures.pop
3020
3078
  @index = i4
3021
3079
  r4 = instantiate_node(SyntaxNode,input, index...index)
3022
3080
  end
@@ -3028,7 +3086,7 @@ module Treetop
3028
3086
  r8 = true
3029
3087
  @index += match_len
3030
3088
  else
3031
- terminal_parse_failure('\\')
3089
+ terminal_parse_failure('\'\\\\\'')
3032
3090
  r8 = nil
3033
3091
  end
3034
3092
  s7 << r8
@@ -3064,12 +3122,15 @@ module Treetop
3064
3122
  r13 = true
3065
3123
  @index += match_len
3066
3124
  else
3067
- terminal_parse_failure('\\')
3125
+ terminal_parse_failure('\'\\\\\'')
3068
3126
  r13 = nil
3069
3127
  end
3070
3128
  if r13
3129
+ @index = i12
3071
3130
  r12 = nil
3131
+ terminal_parse_failure('\'\\\\\'', true)
3072
3132
  else
3133
+ @terminal_failures.pop
3073
3134
  @index = i12
3074
3135
  r12 = instantiate_node(SyntaxNode,input, index...index)
3075
3136
  end
@@ -3127,7 +3188,7 @@ module Treetop
3127
3188
  r15 = true
3128
3189
  @index += match_len
3129
3190
  else
3130
- terminal_parse_failure(']')
3191
+ terminal_parse_failure('\']\'')
3131
3192
  r15 = nil
3132
3193
  end
3133
3194
  s0 << r15
@@ -3166,7 +3227,7 @@ module Treetop
3166
3227
  r1 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3167
3228
  @index += match_len
3168
3229
  else
3169
- terminal_parse_failure('[:')
3230
+ terminal_parse_failure('\'[:\'')
3170
3231
  r1 = nil
3171
3232
  end
3172
3233
  s0 << r1
@@ -3175,7 +3236,7 @@ module Treetop
3175
3236
  r3 = true
3176
3237
  @index += match_len
3177
3238
  else
3178
- terminal_parse_failure('^')
3239
+ terminal_parse_failure('\'^\'')
3179
3240
  r3 = nil
3180
3241
  end
3181
3242
  if r3
@@ -3190,7 +3251,7 @@ module Treetop
3190
3251
  r5 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3191
3252
  @index += match_len
3192
3253
  else
3193
- terminal_parse_failure('alnum')
3254
+ terminal_parse_failure('\'alnum\'')
3194
3255
  r5 = nil
3195
3256
  end
3196
3257
  if r5
@@ -3201,7 +3262,7 @@ module Treetop
3201
3262
  r6 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3202
3263
  @index += match_len
3203
3264
  else
3204
- terminal_parse_failure('alpha')
3265
+ terminal_parse_failure('\'alpha\'')
3205
3266
  r6 = nil
3206
3267
  end
3207
3268
  if r6
@@ -3212,7 +3273,7 @@ module Treetop
3212
3273
  r7 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3213
3274
  @index += match_len
3214
3275
  else
3215
- terminal_parse_failure('blank')
3276
+ terminal_parse_failure('\'blank\'')
3216
3277
  r7 = nil
3217
3278
  end
3218
3279
  if r7
@@ -3223,7 +3284,7 @@ module Treetop
3223
3284
  r8 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3224
3285
  @index += match_len
3225
3286
  else
3226
- terminal_parse_failure('cntrl')
3287
+ terminal_parse_failure('\'cntrl\'')
3227
3288
  r8 = nil
3228
3289
  end
3229
3290
  if r8
@@ -3234,7 +3295,7 @@ module Treetop
3234
3295
  r9 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3235
3296
  @index += match_len
3236
3297
  else
3237
- terminal_parse_failure('digit')
3298
+ terminal_parse_failure('\'digit\'')
3238
3299
  r9 = nil
3239
3300
  end
3240
3301
  if r9
@@ -3245,7 +3306,7 @@ module Treetop
3245
3306
  r10 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3246
3307
  @index += match_len
3247
3308
  else
3248
- terminal_parse_failure('graph')
3309
+ terminal_parse_failure('\'graph\'')
3249
3310
  r10 = nil
3250
3311
  end
3251
3312
  if r10
@@ -3256,7 +3317,7 @@ module Treetop
3256
3317
  r11 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3257
3318
  @index += match_len
3258
3319
  else
3259
- terminal_parse_failure('lower')
3320
+ terminal_parse_failure('\'lower\'')
3260
3321
  r11 = nil
3261
3322
  end
3262
3323
  if r11
@@ -3267,7 +3328,7 @@ module Treetop
3267
3328
  r12 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3268
3329
  @index += match_len
3269
3330
  else
3270
- terminal_parse_failure('print')
3331
+ terminal_parse_failure('\'print\'')
3271
3332
  r12 = nil
3272
3333
  end
3273
3334
  if r12
@@ -3278,7 +3339,7 @@ module Treetop
3278
3339
  r13 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3279
3340
  @index += match_len
3280
3341
  else
3281
- terminal_parse_failure('punct')
3342
+ terminal_parse_failure('\'punct\'')
3282
3343
  r13 = nil
3283
3344
  end
3284
3345
  if r13
@@ -3289,7 +3350,7 @@ module Treetop
3289
3350
  r14 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3290
3351
  @index += match_len
3291
3352
  else
3292
- terminal_parse_failure('space')
3353
+ terminal_parse_failure('\'space\'')
3293
3354
  r14 = nil
3294
3355
  end
3295
3356
  if r14
@@ -3300,7 +3361,7 @@ module Treetop
3300
3361
  r15 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3301
3362
  @index += match_len
3302
3363
  else
3303
- terminal_parse_failure('upper')
3364
+ terminal_parse_failure('\'upper\'')
3304
3365
  r15 = nil
3305
3366
  end
3306
3367
  if r15
@@ -3311,7 +3372,7 @@ module Treetop
3311
3372
  r16 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3312
3373
  @index += match_len
3313
3374
  else
3314
- terminal_parse_failure('xdigit')
3375
+ terminal_parse_failure('\'xdigit\'')
3315
3376
  r16 = nil
3316
3377
  end
3317
3378
  if r16
@@ -3322,7 +3383,7 @@ module Treetop
3322
3383
  r17 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3323
3384
  @index += match_len
3324
3385
  else
3325
- terminal_parse_failure('word')
3386
+ terminal_parse_failure('\'word\'')
3326
3387
  r17 = nil
3327
3388
  end
3328
3389
  if r17
@@ -3350,7 +3411,7 @@ module Treetop
3350
3411
  r18 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3351
3412
  @index += match_len
3352
3413
  else
3353
- terminal_parse_failure(':]')
3414
+ terminal_parse_failure('\':]\'')
3354
3415
  r18 = nil
3355
3416
  end
3356
3417
  s0 << r18
@@ -3385,7 +3446,7 @@ module Treetop
3385
3446
  r0 = instantiate_node(AnythingSymbol,input, index...(index + match_len))
3386
3447
  @index += match_len
3387
3448
  else
3388
- terminal_parse_failure('.')
3449
+ terminal_parse_failure('\'.\'')
3389
3450
  r0 = nil
3390
3451
  end
3391
3452
 
@@ -3436,7 +3497,7 @@ module Treetop
3436
3497
  r3 = true
3437
3498
  @index += match_len
3438
3499
  else
3439
- terminal_parse_failure('<')
3500
+ terminal_parse_failure('\'<\'')
3440
3501
  r3 = nil
3441
3502
  end
3442
3503
  s1 << r3
@@ -3449,12 +3510,15 @@ module Treetop
3449
3510
  r7 = true
3450
3511
  @index += match_len
3451
3512
  else
3452
- terminal_parse_failure('>')
3513
+ terminal_parse_failure('\'>\'')
3453
3514
  r7 = nil
3454
3515
  end
3455
3516
  if r7
3517
+ @index = i6
3456
3518
  r6 = nil
3519
+ terminal_parse_failure('\'>\'', true)
3457
3520
  else
3521
+ @terminal_failures.pop
3458
3522
  @index = i6
3459
3523
  r6 = instantiate_node(SyntaxNode,input, index...index)
3460
3524
  end
@@ -3494,7 +3558,7 @@ module Treetop
3494
3558
  r9 = true
3495
3559
  @index += match_len
3496
3560
  else
3497
- terminal_parse_failure('>')
3561
+ terminal_parse_failure('\'>\'')
3498
3562
  r9 = nil
3499
3563
  end
3500
3564
  s1 << r9
@@ -3518,7 +3582,7 @@ module Treetop
3518
3582
  r10.extend(NodeClassExpression3)
3519
3583
  @index += match_len
3520
3584
  else
3521
- terminal_parse_failure('')
3585
+ terminal_parse_failure('\'\'')
3522
3586
  r10 = nil
3523
3587
  end
3524
3588
  if r10
@@ -3546,6 +3610,9 @@ module Treetop
3546
3610
  end
3547
3611
 
3548
3612
  module TrailingInlineModule1
3613
+ def parent_modules
3614
+ []
3615
+ end
3549
3616
  def inline_modules
3550
3617
  [inline_module]
3551
3618
  end
@@ -3556,6 +3623,9 @@ module Treetop
3556
3623
  end
3557
3624
 
3558
3625
  module TrailingInlineModule2
3626
+ def parent_modules
3627
+ []
3628
+ end
3559
3629
  def inline_modules
3560
3630
  []
3561
3631
  end
@@ -3605,7 +3675,7 @@ module Treetop
3605
3675
  r4.extend(TrailingInlineModule2)
3606
3676
  @index += match_len
3607
3677
  else
3608
- terminal_parse_failure('')
3678
+ terminal_parse_failure('\'\'')
3609
3679
  r4 = nil
3610
3680
  end
3611
3681
  if r4
@@ -3644,7 +3714,7 @@ module Treetop
3644
3714
  r1 = true
3645
3715
  @index += match_len
3646
3716
  else
3647
- terminal_parse_failure('')
3717
+ terminal_parse_failure('\'\'')
3648
3718
  r1 = nil
3649
3719
  end
3650
3720
  s0 << r1
@@ -3687,7 +3757,7 @@ module Treetop
3687
3757
  r1 = true
3688
3758
  @index += match_len
3689
3759
  else
3690
- terminal_parse_failure('{')
3760
+ terminal_parse_failure('\'{\'')
3691
3761
  r1 = nil
3692
3762
  end
3693
3763
  s0 << r1
@@ -3710,8 +3780,11 @@ module Treetop
3710
3780
  r7 = nil
3711
3781
  end
3712
3782
  if r7
3783
+ @index = i6
3713
3784
  r6 = nil
3785
+ terminal_parse_failure('[{}]', true)
3714
3786
  else
3787
+ @terminal_failures.pop
3715
3788
  @index = i6
3716
3789
  r6 = instantiate_node(SyntaxNode,input, index...index)
3717
3790
  end
@@ -3754,7 +3827,7 @@ module Treetop
3754
3827
  r9 = true
3755
3828
  @index += match_len
3756
3829
  else
3757
- terminal_parse_failure('}')
3830
+ terminal_parse_failure('\'}\'')
3758
3831
  r9 = nil
3759
3832
  end
3760
3833
  s0 << r9
@@ -3793,7 +3866,7 @@ module Treetop
3793
3866
  r2 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3794
3867
  @index += match_len
3795
3868
  else
3796
- terminal_parse_failure('rule')
3869
+ terminal_parse_failure('\'rule\'')
3797
3870
  r2 = nil
3798
3871
  end
3799
3872
  if r2
@@ -3804,7 +3877,7 @@ module Treetop
3804
3877
  r3 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3805
3878
  @index += match_len
3806
3879
  else
3807
- terminal_parse_failure('end')
3880
+ terminal_parse_failure('\'end\'')
3808
3881
  r3 = nil
3809
3882
  end
3810
3883
  if r3
@@ -3820,6 +3893,7 @@ module Treetop
3820
3893
  i4 = index
3821
3894
  r5 = _nt_non_space_char
3822
3895
  if r5
3896
+ @index = i4
3823
3897
  r4 = nil
3824
3898
  else
3825
3899
  @index = i4
@@ -3858,6 +3932,7 @@ module Treetop
3858
3932
  i1 = index
3859
3933
  r2 = _nt_space
3860
3934
  if r2
3935
+ @index = i1
3861
3936
  r1 = nil
3862
3937
  else
3863
3938
  @index = i1
@@ -4017,7 +4092,7 @@ module Treetop
4017
4092
  r1 = true
4018
4093
  @index += match_len
4019
4094
  else
4020
- terminal_parse_failure('#')
4095
+ terminal_parse_failure('\'#\'')
4021
4096
  r1 = nil
4022
4097
  end
4023
4098
  s0 << r1
@@ -4030,12 +4105,15 @@ module Treetop
4030
4105
  r5 = true
4031
4106
  @index += match_len
4032
4107
  else
4033
- terminal_parse_failure("\n")
4108
+ terminal_parse_failure('"\\n"')
4034
4109
  r5 = nil
4035
4110
  end
4036
4111
  if r5
4112
+ @index = i4
4037
4113
  r4 = nil
4114
+ terminal_parse_failure('"\\n"', true)
4038
4115
  else
4116
+ @terminal_failures.pop
4039
4117
  @index = i4
4040
4118
  r4 = instantiate_node(SyntaxNode,input, index...index)
4041
4119
  end