sfp 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -2,7 +2,7 @@ SFP Parser and Planner for Ruby
2
2
  ===============================
3
3
  - Author: Herry (herry13@gmail.com)
4
4
  - Last update: 20 April 2013
5
- - Version: 1.0.1
5
+ - Version: 0.1.1
6
6
  - License: [BSD License](https://github.com/herry13/sfp-ruby/blob/master/LICENSE)
7
7
 
8
8
  A Ruby gem that provides a Ruby interface to parse SFP language. It also provides
@@ -23,6 +23,12 @@ Requirements
23
23
  - json
24
24
 
25
25
 
26
+ Supporting Platforms
27
+ --------------------
28
+ - Linux
29
+ - MacOS X
30
+
31
+
26
32
  To use as a solver to solve a planning task
27
33
  -------------------------------------------
28
34
  - parse a SFP file, then print the output in JSON
Binary file
@@ -5,7 +5,7 @@
5
5
  # Generated using ANTLR version: 3.2.1-SNAPSHOT Jul 31, 2010 19:34:52
6
6
  # Ruby runtime library version: 1.8.11
7
7
  # Input grammar file: SfpLang.g
8
- # Generated at: 2013-04-20 05:22:46
8
+ # Generated at: 2013-04-20 17:59:20
9
9
  #
10
10
 
11
11
  # ~~~> start load path setup
@@ -71,20 +71,21 @@ module SfpLang
71
71
  :T__65 => 65, :T__27 => 27, :T__62 => 62, :T__26 => 26,
72
72
  :T__63 => 63, :T__25 => 25, :T__24 => 24, :T__23 => 23,
73
73
  :T__22 => 22, :T__21 => 21, :T__20 => 20, :OCTAL_ESC => 17,
74
- :ID => 6, :T__61 => 61, :EOF => -1, :T__60 => 60, :T__55 => 55,
74
+ :ID => 7, :T__61 => 61, :EOF => -1, :T__60 => 60, :T__55 => 55,
75
75
  :T__19 => 19, :T__56 => 56, :T__57 => 57, :T__58 => 58,
76
76
  :ESC_SEQ => 13, :BOOLEAN => 9, :T__51 => 51, :T__52 => 52,
77
77
  :T__18 => 18, :T__53 => 53, :T__54 => 54, :T__59 => 59,
78
78
  :NL => 4, :COMMENT => 11, :T__50 => 50, :T__42 => 42,
79
79
  :T__43 => 43, :T__40 => 40, :T__41 => 41, :T__46 => 46,
80
80
  :T__47 => 47, :T__44 => 44, :T__45 => 45, :T__48 => 48,
81
- :T__49 => 49, :NULL => 8, :UNICODE_ESC => 16, :NUMBER => 7,
81
+ :T__49 => 49, :NULL => 5, :UNICODE_ESC => 16, :NUMBER => 8,
82
82
  :HEX_DIGIT => 15, :MULTILINE_STRING => 10, :T__30 => 30,
83
83
  :T__31 => 31, :T__32 => 32, :T__33 => 33, :T__71 => 71,
84
84
  :WS => 12, :T__34 => 34, :T__72 => 72, :T__35 => 35,
85
85
  :T__36 => 36, :T__70 => 70, :T__37 => 37, :T__38 => 38,
86
86
  :T__39 => 39, :T__76 => 76, :T__75 => 75, :T__74 => 74,
87
- :T__73 => 73, :STRING => 5, :T__77 => 77 )
87
+ :T__73 => 73, :T__79 => 79, :T__78 => 78, :STRING => 6,
88
+ :T__77 => 77 )
88
89
 
89
90
  end
90
91
 
@@ -110,9 +111,9 @@ module SfpLang
110
111
  "T__60", "T__61", "T__62", "T__63", "T__64", "T__65",
111
112
  "T__66", "T__67", "T__68", "T__69", "T__70", "T__71",
112
113
  "T__72", "T__73", "T__74", "T__75", "T__76", "T__77",
113
- "NULL", "BOOLEAN", "ID", "NUMBER", "COMMENT", "MULTILINE_STRING",
114
- "NL", "WS", "STRING", "EXPONENT", "HEX_DIGIT", "ESC_SEQ",
115
- "OCTAL_ESC", "UNICODE_ESC" ].freeze
114
+ "T__78", "T__79", "NULL", "BOOLEAN", "ID", "NUMBER",
115
+ "COMMENT", "MULTILINE_STRING", "NL", "WS", "STRING",
116
+ "EXPONENT", "HEX_DIGIT", "ESC_SEQ", "OCTAL_ESC", "UNICODE_ESC" ].freeze
116
117
  RULE_METHODS = [ :t__18!, :t__19!, :t__20!, :t__21!, :t__22!, :t__23!,
117
118
  :t__24!, :t__25!, :t__26!, :t__27!, :t__28!, :t__29!,
118
119
  :t__30!, :t__31!, :t__32!, :t__33!, :t__34!, :t__35!,
@@ -123,9 +124,9 @@ module SfpLang
123
124
  :t__60!, :t__61!, :t__62!, :t__63!, :t__64!, :t__65!,
124
125
  :t__66!, :t__67!, :t__68!, :t__69!, :t__70!, :t__71!,
125
126
  :t__72!, :t__73!, :t__74!, :t__75!, :t__76!, :t__77!,
126
- :null!, :boolean!, :id!, :number!, :comment!, :multiline_string!,
127
- :nl!, :ws!, :string!, :exponent!, :hex_digit!, :esc_seq!,
128
- :octal_esc!, :unicode_esc! ].freeze
127
+ :t__78!, :t__79!, :null!, :boolean!, :id!, :number!,
128
+ :comment!, :multiline_string!, :nl!, :ws!, :string!,
129
+ :exponent!, :hex_digit!, :esc_seq!, :octal_esc!, :unicode_esc! ].freeze
129
130
 
130
131
 
131
132
  def initialize( input=nil, options = {} )
@@ -530,8 +531,8 @@ module SfpLang
530
531
 
531
532
 
532
533
  # - - - - main rule block - - - -
533
- # at line 23:9: 'effects'
534
- match( "effects" )
534
+ # at line 23:9: 'condition'
535
+ match( "condition" )
535
536
 
536
537
 
537
538
  @state.type = type
@@ -554,8 +555,8 @@ module SfpLang
554
555
 
555
556
 
556
557
  # - - - - main rule block - - - -
557
- # at line 24:9: 'procedure'
558
- match( "procedure" )
558
+ # at line 24:9: 'effects'
559
+ match( "effects" )
559
560
 
560
561
 
561
562
  @state.type = type
@@ -578,8 +579,8 @@ module SfpLang
578
579
 
579
580
 
580
581
  # - - - - main rule block - - - -
581
- # at line 25:9: '('
582
- match( 0x28 )
582
+ # at line 25:9: 'procedure'
583
+ match( "procedure" )
583
584
 
584
585
 
585
586
  @state.type = type
@@ -602,8 +603,8 @@ module SfpLang
602
603
 
603
604
 
604
605
  # - - - - main rule block - - - -
605
- # at line 26:9: ','
606
- match( 0x2c )
606
+ # at line 26:9: '('
607
+ match( 0x28 )
607
608
 
608
609
 
609
610
  @state.type = type
@@ -626,8 +627,8 @@ module SfpLang
626
627
 
627
628
 
628
629
  # - - - - main rule block - - - -
629
- # at line 27:9: ')'
630
- match( 0x29 )
630
+ # at line 27:9: ','
631
+ match( 0x2c )
631
632
 
632
633
 
633
634
  @state.type = type
@@ -650,8 +651,8 @@ module SfpLang
650
651
 
651
652
 
652
653
  # - - - - main rule block - - - -
653
- # at line 28:9: 'areall'
654
- match( "areall" )
654
+ # at line 28:9: ')'
655
+ match( 0x29 )
655
656
 
656
657
 
657
658
  @state.type = type
@@ -674,8 +675,8 @@ module SfpLang
674
675
 
675
676
 
676
677
  # - - - - main rule block - - - -
677
- # at line 29:9: 'isset'
678
- match( "isset" )
678
+ # at line 29:9: 'areall'
679
+ match( "areall" )
679
680
 
680
681
 
681
682
  @state.type = type
@@ -698,8 +699,8 @@ module SfpLang
698
699
 
699
700
 
700
701
  # - - - - main rule block - - - -
701
- # at line 30:9: 'goal'
702
- match( "goal" )
702
+ # at line 30:9: 'isset'
703
+ match( "isset" )
703
704
 
704
705
 
705
706
  @state.type = type
@@ -722,8 +723,8 @@ module SfpLang
722
723
 
723
724
 
724
725
  # - - - - main rule block - - - -
725
- # at line 31:9: 'constraint'
726
- match( "constraint" )
726
+ # at line 31:9: 'effect'
727
+ match( "effect" )
727
728
 
728
729
 
729
730
  @state.type = type
@@ -746,8 +747,8 @@ module SfpLang
746
747
 
747
748
 
748
749
  # - - - - main rule block - - - -
749
- # at line 32:9: 'always'
750
- match( "always" )
750
+ # at line 32:9: 'goal'
751
+ match( "goal" )
751
752
 
752
753
 
753
754
  @state.type = type
@@ -770,8 +771,8 @@ module SfpLang
770
771
 
771
772
 
772
773
  # - - - - main rule block - - - -
773
- # at line 33:9: 'sometime'
774
- match( "sometime" )
774
+ # at line 33:9: 'constraint'
775
+ match( "constraint" )
775
776
 
776
777
 
777
778
  @state.type = type
@@ -794,8 +795,8 @@ module SfpLang
794
795
 
795
796
 
796
797
  # - - - - main rule block - - - -
797
- # at line 34:9: 'within'
798
- match( "within" )
798
+ # at line 34:9: 'always'
799
+ match( "always" )
799
800
 
800
801
 
801
802
  @state.type = type
@@ -818,8 +819,8 @@ module SfpLang
818
819
 
819
820
 
820
821
  # - - - - main rule block - - - -
821
- # at line 35:9: 'after'
822
- match( "after" )
822
+ # at line 35:9: 'sometime'
823
+ match( "sometime" )
823
824
 
824
825
 
825
826
  @state.type = type
@@ -842,8 +843,8 @@ module SfpLang
842
843
 
843
844
 
844
845
  # - - - - main rule block - - - -
845
- # at line 36:9: 'before'
846
- match( "before" )
846
+ # at line 36:9: 'within'
847
+ match( "within" )
847
848
 
848
849
 
849
850
  @state.type = type
@@ -866,8 +867,8 @@ module SfpLang
866
867
 
867
868
 
868
869
  # - - - - main rule block - - - -
869
- # at line 37:9: 'foreach'
870
- match( "foreach" )
870
+ # at line 37:9: 'after'
871
+ match( "after" )
871
872
 
872
873
 
873
874
  @state.type = type
@@ -890,8 +891,8 @@ module SfpLang
890
891
 
891
892
 
892
893
  # - - - - main rule block - - - -
893
- # at line 38:9: 'as'
894
- match( "as" )
894
+ # at line 38:9: 'before'
895
+ match( "before" )
895
896
 
896
897
 
897
898
  @state.type = type
@@ -914,8 +915,8 @@ module SfpLang
914
915
 
915
916
 
916
917
  # - - - - main rule block - - - -
917
- # at line 39:9: 'forall'
918
- match( "forall" )
918
+ # at line 39:9: 'foreach'
919
+ match( "foreach" )
919
920
 
920
921
 
921
922
  @state.type = type
@@ -938,8 +939,8 @@ module SfpLang
938
939
 
939
940
 
940
941
  # - - - - main rule block - - - -
941
- # at line 40:9: 'exist'
942
- match( "exist" )
942
+ # at line 40:9: 'as'
943
+ match( "as" )
943
944
 
944
945
 
945
946
  @state.type = type
@@ -962,8 +963,8 @@ module SfpLang
962
963
 
963
964
 
964
965
  # - - - - main rule block - - - -
965
- # at line 41:9: 'forsome'
966
- match( "forsome" )
966
+ # at line 41:9: 'forall'
967
+ match( "forall" )
967
968
 
968
969
 
969
970
  @state.type = type
@@ -986,8 +987,8 @@ module SfpLang
986
987
 
987
988
 
988
989
  # - - - - main rule block - - - -
989
- # at line 42:9: '='
990
- match( 0x3d )
990
+ # at line 42:9: 'exist'
991
+ match( "exist" )
991
992
 
992
993
 
993
994
  @state.type = type
@@ -1010,8 +1011,8 @@ module SfpLang
1010
1011
 
1011
1012
 
1012
1013
  # - - - - main rule block - - - -
1013
- # at line 43:9: ':different'
1014
- match( ":different" )
1014
+ # at line 43:9: 'forsome'
1015
+ match( "forsome" )
1015
1016
 
1016
1017
 
1017
1018
  @state.type = type
@@ -1034,8 +1035,8 @@ module SfpLang
1034
1035
 
1035
1036
 
1036
1037
  # - - - - main rule block - - - -
1037
- # at line 44:9: 'not'
1038
- match( "not" )
1038
+ # at line 44:9: '='
1039
+ match( 0x3d )
1039
1040
 
1040
1041
 
1041
1042
  @state.type = type
@@ -1058,8 +1059,8 @@ module SfpLang
1058
1059
 
1059
1060
 
1060
1061
  # - - - - main rule block - - - -
1061
- # at line 45:9: 'is'
1062
- match( "is" )
1062
+ # at line 45:9: ':different'
1063
+ match( ":different" )
1063
1064
 
1064
1065
 
1065
1066
  @state.type = type
@@ -1082,8 +1083,8 @@ module SfpLang
1082
1083
 
1083
1084
 
1084
1085
  # - - - - main rule block - - - -
1085
- # at line 46:9: 'in'
1086
- match( "in" )
1086
+ # at line 46:9: 'not'
1087
+ match( "not" )
1087
1088
 
1088
1089
 
1089
1090
  @state.type = type
@@ -1106,8 +1107,8 @@ module SfpLang
1106
1107
 
1107
1108
 
1108
1109
  # - - - - main rule block - - - -
1109
- # at line 47:9: 'isnot'
1110
- match( "isnot" )
1110
+ # at line 47:9: 'is'
1111
+ match( "is" )
1111
1112
 
1112
1113
 
1113
1114
  @state.type = type
@@ -1130,8 +1131,8 @@ module SfpLang
1130
1131
 
1131
1132
 
1132
1133
  # - - - - main rule block - - - -
1133
- # at line 48:9: 'isnt'
1134
- match( "isnt" )
1134
+ # at line 48:9: 'in'
1135
+ match( "in" )
1135
1136
 
1136
1137
 
1137
1138
  @state.type = type
@@ -1154,8 +1155,8 @@ module SfpLang
1154
1155
 
1155
1156
 
1156
1157
  # - - - - main rule block - - - -
1157
- # at line 49:9: 'has'
1158
- match( "has" )
1158
+ # at line 49:9: 'isnot'
1159
+ match( "isnot" )
1159
1160
 
1160
1161
 
1161
1162
  @state.type = type
@@ -1178,8 +1179,8 @@ module SfpLang
1178
1179
 
1179
1180
 
1180
1181
  # - - - - main rule block - - - -
1181
- # at line 50:9: 'total('
1182
- match( "total(" )
1182
+ # at line 50:9: 'isnt'
1183
+ match( "isnt" )
1183
1184
 
1184
1185
 
1185
1186
  @state.type = type
@@ -1202,8 +1203,8 @@ module SfpLang
1202
1203
 
1203
1204
 
1204
1205
  # - - - - main rule block - - - -
1205
- # at line 51:9: 'new'
1206
- match( "new" )
1206
+ # at line 51:9: 'has'
1207
+ match( "has" )
1207
1208
 
1208
1209
 
1209
1210
  @state.type = type
@@ -1226,8 +1227,8 @@ module SfpLang
1226
1227
 
1227
1228
 
1228
1229
  # - - - - main rule block - - - -
1229
- # at line 52:9: 'delete'
1230
- match( "delete" )
1230
+ # at line 52:9: 'total('
1231
+ match( "total(" )
1231
1232
 
1232
1233
 
1233
1234
  @state.type = type
@@ -1250,8 +1251,8 @@ module SfpLang
1250
1251
 
1251
1252
 
1252
1253
  # - - - - main rule block - - - -
1253
- # at line 53:9: 'add('
1254
- match( "add(" )
1254
+ # at line 53:9: 'new'
1255
+ match( "new" )
1255
1256
 
1256
1257
 
1257
1258
  @state.type = type
@@ -1274,8 +1275,8 @@ module SfpLang
1274
1275
 
1275
1276
 
1276
1277
  # - - - - main rule block - - - -
1277
- # at line 54:9: 'remove('
1278
- match( "remove(" )
1278
+ # at line 54:9: 'delete'
1279
+ match( "delete" )
1279
1280
 
1280
1281
 
1281
1282
  @state.type = type
@@ -1298,8 +1299,8 @@ module SfpLang
1298
1299
 
1299
1300
 
1300
1301
  # - - - - main rule block - - - -
1301
- # at line 55:9: '.'
1302
- match( 0x2e )
1302
+ # at line 55:9: 'add('
1303
+ match( "add(" )
1303
1304
 
1304
1305
 
1305
1306
  @state.type = type
@@ -1322,8 +1323,8 @@ module SfpLang
1322
1323
 
1323
1324
 
1324
1325
  # - - - - main rule block - - - -
1325
- # at line 56:9: 'isref'
1326
- match( "isref" )
1326
+ # at line 56:9: 'remove('
1327
+ match( "remove(" )
1327
1328
 
1328
1329
 
1329
1330
  @state.type = type
@@ -1346,8 +1347,8 @@ module SfpLang
1346
1347
 
1347
1348
 
1348
1349
  # - - - - main rule block - - - -
1349
- # at line 57:9: 'either'
1350
- match( "either" )
1350
+ # at line 57:9: '.'
1351
+ match( 0x2e )
1351
1352
 
1352
1353
 
1353
1354
  @state.type = type
@@ -1370,8 +1371,8 @@ module SfpLang
1370
1371
 
1371
1372
 
1372
1373
  # - - - - main rule block - - - -
1373
- # at line 58:9: '!='
1374
- match( "!=" )
1374
+ # at line 58:9: 'isref'
1375
+ match( "isref" )
1375
1376
 
1376
1377
 
1377
1378
  @state.type = type
@@ -1394,8 +1395,8 @@ module SfpLang
1394
1395
 
1395
1396
 
1396
1397
  # - - - - main rule block - - - -
1397
- # at line 59:9: '+='
1398
- match( "+=" )
1398
+ # at line 59:9: 'either'
1399
+ match( "either" )
1399
1400
 
1400
1401
 
1401
1402
  @state.type = type
@@ -1418,8 +1419,8 @@ module SfpLang
1418
1419
 
1419
1420
 
1420
1421
  # - - - - main rule block - - - -
1421
- # at line 60:9: '-='
1422
- match( "-=" )
1422
+ # at line 60:9: '!='
1423
+ match( "!=" )
1423
1424
 
1424
1425
 
1425
1426
  @state.type = type
@@ -1442,8 +1443,8 @@ module SfpLang
1442
1443
 
1443
1444
 
1444
1445
  # - - - - main rule block - - - -
1445
- # at line 61:9: '*='
1446
- match( "*=" )
1446
+ # at line 61:9: '+='
1447
+ match( "+=" )
1447
1448
 
1448
1449
 
1449
1450
  @state.type = type
@@ -1466,8 +1467,8 @@ module SfpLang
1466
1467
 
1467
1468
 
1468
1469
  # - - - - main rule block - - - -
1469
- # at line 62:9: '/='
1470
- match( "/=" )
1470
+ # at line 62:9: '-='
1471
+ match( "-=" )
1471
1472
 
1472
1473
 
1473
1474
  @state.type = type
@@ -1490,8 +1491,8 @@ module SfpLang
1490
1491
 
1491
1492
 
1492
1493
  # - - - - main rule block - - - -
1493
- # at line 63:9: '>'
1494
- match( 0x3e )
1494
+ # at line 63:9: '*='
1495
+ match( "*=" )
1495
1496
 
1496
1497
 
1497
1498
  @state.type = type
@@ -1514,8 +1515,8 @@ module SfpLang
1514
1515
 
1515
1516
 
1516
1517
  # - - - - main rule block - - - -
1517
- # at line 64:9: '>='
1518
- match( ">=" )
1518
+ # at line 64:9: '/='
1519
+ match( "/=" )
1519
1520
 
1520
1521
 
1521
1522
  @state.type = type
@@ -1538,8 +1539,8 @@ module SfpLang
1538
1539
 
1539
1540
 
1540
1541
  # - - - - main rule block - - - -
1541
- # at line 65:9: '<'
1542
- match( 0x3c )
1542
+ # at line 65:9: '>'
1543
+ match( 0x3e )
1543
1544
 
1544
1545
 
1545
1546
  @state.type = type
@@ -1562,8 +1563,8 @@ module SfpLang
1562
1563
 
1563
1564
 
1564
1565
  # - - - - main rule block - - - -
1565
- # at line 66:9: '<='
1566
- match( "<=" )
1566
+ # at line 66:9: '>='
1567
+ match( ">=" )
1567
1568
 
1568
1569
 
1569
1570
  @state.type = type
@@ -1575,18 +1576,66 @@ module SfpLang
1575
1576
 
1576
1577
  end
1577
1578
 
1579
+ # lexer rule t__78! (T__78)
1580
+ # (in SfpLang.g)
1581
+ def t__78!
1582
+ # -> uncomment the next line to manually enable rule tracing
1583
+ # trace_in( __method__, 61 )
1584
+
1585
+ type = T__78
1586
+ channel = ANTLR3::DEFAULT_CHANNEL
1587
+
1588
+
1589
+ # - - - - main rule block - - - -
1590
+ # at line 67:9: '<'
1591
+ match( 0x3c )
1592
+
1593
+
1594
+ @state.type = type
1595
+ @state.channel = channel
1596
+
1597
+ ensure
1598
+ # -> uncomment the next line to manually enable rule tracing
1599
+ # trace_out( __method__, 61 )
1600
+
1601
+ end
1602
+
1603
+ # lexer rule t__79! (T__79)
1604
+ # (in SfpLang.g)
1605
+ def t__79!
1606
+ # -> uncomment the next line to manually enable rule tracing
1607
+ # trace_in( __method__, 62 )
1608
+
1609
+ type = T__79
1610
+ channel = ANTLR3::DEFAULT_CHANNEL
1611
+
1612
+
1613
+ # - - - - main rule block - - - -
1614
+ # at line 68:9: '<='
1615
+ match( "<=" )
1616
+
1617
+
1618
+ @state.type = type
1619
+ @state.channel = channel
1620
+
1621
+ ensure
1622
+ # -> uncomment the next line to manually enable rule tracing
1623
+ # trace_out( __method__, 62 )
1624
+
1625
+ end
1626
+
1578
1627
  # lexer rule null! (NULL)
1579
1628
  # (in SfpLang.g)
1580
1629
  def null!
1581
1630
  # -> uncomment the next line to manually enable rule tracing
1582
- # trace_in( __method__, 61 )
1631
+ # trace_in( __method__, 63 )
1583
1632
 
1584
1633
  type = NULL
1585
1634
  channel = ANTLR3::DEFAULT_CHANNEL
1586
1635
 
1587
1636
 
1588
1637
  # - - - - main rule block - - - -
1589
- # at line 934:2: ( 'null' | 'nil' )
1638
+ # at line 960:2: ( 'null' | 'nil' )
1590
1639
  alt_1 = 2
1591
1640
  look_1_0 = @input.peek( 1 )
1592
1641
 
@@ -1605,11 +1654,11 @@ module SfpLang
1605
1654
  end
1606
1655
  case alt_1
1607
1656
  when 1
1608
- # at line 934:4: 'null'
1657
+ # at line 960:4: 'null'
1609
1658
  match( "null" )
1610
1659
 
1611
1660
  when 2
1612
- # at line 935:4: 'nil'
1661
+ # at line 961:4: 'nil'
1613
1662
  match( "nil" )
1614
1663
 
1615
1664
  end
@@ -1619,7 +1668,7 @@ module SfpLang
1619
1668
 
1620
1669
  ensure
1621
1670
  # -> uncomment the next line to manually enable rule tracing
1622
- # trace_out( __method__, 61 )
1671
+ # trace_out( __method__, 63 )
1623
1672
 
1624
1673
  end
1625
1674
 
@@ -1627,14 +1676,14 @@ module SfpLang
1627
1676
  # (in SfpLang.g)
1628
1677
  def boolean!
1629
1678
  # -> uncomment the next line to manually enable rule tracing
1630
- # trace_in( __method__, 62 )
1679
+ # trace_in( __method__, 64 )
1631
1680
 
1632
1681
  type = BOOLEAN
1633
1682
  channel = ANTLR3::DEFAULT_CHANNEL
1634
1683
 
1635
1684
 
1636
1685
  # - - - - main rule block - - - -
1637
- # at line 939:2: ( 'true' | 'false' | 'off' | 'on' | 'yes' | 'no' )
1686
+ # at line 965:2: ( 'true' | 'false' | 'off' | 'on' | 'yes' | 'no' )
1638
1687
  alt_2 = 6
1639
1688
  case look_2 = @input.peek( 1 )
1640
1689
  when 0x74 then alt_2 = 1
@@ -1655,27 +1704,27 @@ module SfpLang
1655
1704
  end
1656
1705
  case alt_2
1657
1706
  when 1
1658
- # at line 939:4: 'true'
1707
+ # at line 965:4: 'true'
1659
1708
  match( "true" )
1660
1709
 
1661
1710
  when 2
1662
- # at line 940:4: 'false'
1711
+ # at line 966:4: 'false'
1663
1712
  match( "false" )
1664
1713
 
1665
1714
  when 3
1666
- # at line 941:4: 'off'
1715
+ # at line 967:4: 'off'
1667
1716
  match( "off" )
1668
1717
 
1669
1718
  when 4
1670
- # at line 942:4: 'on'
1719
+ # at line 968:4: 'on'
1671
1720
  match( "on" )
1672
1721
 
1673
1722
  when 5
1674
- # at line 943:4: 'yes'
1723
+ # at line 969:4: 'yes'
1675
1724
  match( "yes" )
1676
1725
 
1677
1726
  when 6
1678
- # at line 944:4: 'no'
1727
+ # at line 970:4: 'no'
1679
1728
  match( "no" )
1680
1729
 
1681
1730
  end
@@ -1685,7 +1734,7 @@ module SfpLang
1685
1734
 
1686
1735
  ensure
1687
1736
  # -> uncomment the next line to manually enable rule tracing
1688
- # trace_out( __method__, 62 )
1737
+ # trace_out( __method__, 64 )
1689
1738
 
1690
1739
  end
1691
1740
 
@@ -1693,14 +1742,14 @@ module SfpLang
1693
1742
  # (in SfpLang.g)
1694
1743
  def id!
1695
1744
  # -> uncomment the next line to manually enable rule tracing
1696
- # trace_in( __method__, 63 )
1745
+ # trace_in( __method__, 65 )
1697
1746
 
1698
1747
  type = ID
1699
1748
  channel = ANTLR3::DEFAULT_CHANNEL
1700
1749
 
1701
1750
 
1702
1751
  # - - - - main rule block - - - -
1703
- # at line 947:6: ( 'a' .. 'z' | 'A' .. 'Z' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' | '-' )*
1752
+ # at line 973:6: ( 'a' .. 'z' | 'A' .. 'Z' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' | '-' )*
1704
1753
  if @input.peek( 1 ).between?( 0x41, 0x5a ) || @input.peek( 1 ).between?( 0x61, 0x7a )
1705
1754
  @input.consume
1706
1755
  else
@@ -1710,7 +1759,7 @@ module SfpLang
1710
1759
  end
1711
1760
 
1712
1761
 
1713
- # at line 947:26: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' | '-' )*
1762
+ # at line 973:26: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' | '-' )*
1714
1763
  while true # decision 3
1715
1764
  alt_3 = 2
1716
1765
  look_3_0 = @input.peek( 1 )
@@ -1743,7 +1792,7 @@ module SfpLang
1743
1792
 
1744
1793
  ensure
1745
1794
  # -> uncomment the next line to manually enable rule tracing
1746
- # trace_out( __method__, 63 )
1795
+ # trace_out( __method__, 65 )
1747
1796
 
1748
1797
  end
1749
1798
 
@@ -1751,15 +1800,15 @@ module SfpLang
1751
1800
  # (in SfpLang.g)
1752
1801
  def number!
1753
1802
  # -> uncomment the next line to manually enable rule tracing
1754
- # trace_in( __method__, 64 )
1803
+ # trace_in( __method__, 66 )
1755
1804
 
1756
1805
  type = NUMBER
1757
1806
  channel = ANTLR3::DEFAULT_CHANNEL
1758
1807
 
1759
1808
 
1760
1809
  # - - - - main rule block - - - -
1761
- # at line 951:4: ( '-' )? ( '0' .. '9' )+
1762
- # at line 951:4: ( '-' )?
1810
+ # at line 977:4: ( '-' )? ( '0' .. '9' )+
1811
+ # at line 977:4: ( '-' )?
1763
1812
  alt_4 = 2
1764
1813
  look_4_0 = @input.peek( 1 )
1765
1814
 
@@ -1768,11 +1817,11 @@ module SfpLang
1768
1817
  end
1769
1818
  case alt_4
1770
1819
  when 1
1771
- # at line 951:4: '-'
1820
+ # at line 977:4: '-'
1772
1821
  match( 0x2d )
1773
1822
 
1774
1823
  end
1775
- # at file 951:8: ( '0' .. '9' )+
1824
+ # at file 977:8: ( '0' .. '9' )+
1776
1825
  match_count_5 = 0
1777
1826
  while true
1778
1827
  alt_5 = 2
@@ -1784,7 +1833,7 @@ module SfpLang
1784
1833
  end
1785
1834
  case alt_5
1786
1835
  when 1
1787
- # at line 951:9: '0' .. '9'
1836
+ # at line 977:9: '0' .. '9'
1788
1837
  match_range( 0x30, 0x39 )
1789
1838
 
1790
1839
  else
@@ -1804,7 +1853,7 @@ module SfpLang
1804
1853
 
1805
1854
  ensure
1806
1855
  # -> uncomment the next line to manually enable rule tracing
1807
- # trace_out( __method__, 64 )
1856
+ # trace_out( __method__, 66 )
1808
1857
 
1809
1858
  end
1810
1859
 
@@ -1812,14 +1861,14 @@ module SfpLang
1812
1861
  # (in SfpLang.g)
1813
1862
  def comment!
1814
1863
  # -> uncomment the next line to manually enable rule tracing
1815
- # trace_in( __method__, 65 )
1864
+ # trace_in( __method__, 67 )
1816
1865
 
1817
1866
  type = COMMENT
1818
1867
  channel = ANTLR3::DEFAULT_CHANNEL
1819
1868
 
1820
1869
 
1821
1870
  # - - - - main rule block - - - -
1822
- # at line 962:2: ( '//' (~ ( '\\n' | '\\r' ) )* | '#' (~ ( '\\n' | '\\r' ) )* | '/*' ( options {greedy=false; } : . )* '*/' )
1871
+ # at line 988:2: ( '//' (~ ( '\\n' | '\\r' ) )* | '#' (~ ( '\\n' | '\\r' ) )* | '/*' ( options {greedy=false; } : . )* '*/' )
1823
1872
  alt_9 = 3
1824
1873
  look_9_0 = @input.peek( 1 )
1825
1874
 
@@ -1840,9 +1889,9 @@ module SfpLang
1840
1889
  end
1841
1890
  case alt_9
1842
1891
  when 1
1843
- # at line 962:4: '//' (~ ( '\\n' | '\\r' ) )*
1892
+ # at line 988:4: '//' (~ ( '\\n' | '\\r' ) )*
1844
1893
  match( "//" )
1845
- # at line 962:9: (~ ( '\\n' | '\\r' ) )*
1894
+ # at line 988:9: (~ ( '\\n' | '\\r' ) )*
1846
1895
  while true # decision 6
1847
1896
  alt_6 = 2
1848
1897
  look_6_0 = @input.peek( 1 )
@@ -1853,7 +1902,7 @@ module SfpLang
1853
1902
  end
1854
1903
  case alt_6
1855
1904
  when 1
1856
- # at line 962:9: ~ ( '\\n' | '\\r' )
1905
+ # at line 988:9: ~ ( '\\n' | '\\r' )
1857
1906
  if @input.peek( 1 ).between?( 0x0, 0x9 ) || @input.peek( 1 ).between?( 0xb, 0xc ) || @input.peek( 1 ).between?( 0xe, 0xff )
1858
1907
  @input.consume
1859
1908
  else
@@ -1873,9 +1922,9 @@ module SfpLang
1873
1922
  # <-- action
1874
1923
 
1875
1924
  when 2
1876
- # at line 963:4: '#' (~ ( '\\n' | '\\r' ) )*
1925
+ # at line 989:4: '#' (~ ( '\\n' | '\\r' ) )*
1877
1926
  match( 0x23 )
1878
- # at line 963:8: (~ ( '\\n' | '\\r' ) )*
1927
+ # at line 989:8: (~ ( '\\n' | '\\r' ) )*
1879
1928
  while true # decision 7
1880
1929
  alt_7 = 2
1881
1930
  look_7_0 = @input.peek( 1 )
@@ -1886,7 +1935,7 @@ module SfpLang
1886
1935
  end
1887
1936
  case alt_7
1888
1937
  when 1
1889
- # at line 963:8: ~ ( '\\n' | '\\r' )
1938
+ # at line 989:8: ~ ( '\\n' | '\\r' )
1890
1939
  if @input.peek( 1 ).between?( 0x0, 0x9 ) || @input.peek( 1 ).between?( 0xb, 0xc ) || @input.peek( 1 ).between?( 0xe, 0xff )
1891
1940
  @input.consume
1892
1941
  else
@@ -1906,9 +1955,9 @@ module SfpLang
1906
1955
  # <-- action
1907
1956
 
1908
1957
  when 3
1909
- # at line 964:4: '/*' ( options {greedy=false; } : . )* '*/'
1958
+ # at line 990:4: '/*' ( options {greedy=false; } : . )* '*/'
1910
1959
  match( "/*" )
1911
- # at line 964:9: ( options {greedy=false; } : . )*
1960
+ # at line 990:9: ( options {greedy=false; } : . )*
1912
1961
  while true # decision 8
1913
1962
  alt_8 = 2
1914
1963
  look_8_0 = @input.peek( 1 )
@@ -1928,7 +1977,7 @@ module SfpLang
1928
1977
  end
1929
1978
  case alt_8
1930
1979
  when 1
1931
- # at line 964:37: .
1980
+ # at line 990:37: .
1932
1981
  match_any
1933
1982
 
1934
1983
  else
@@ -1947,7 +1996,7 @@ module SfpLang
1947
1996
 
1948
1997
  ensure
1949
1998
  # -> uncomment the next line to manually enable rule tracing
1950
- # trace_out( __method__, 65 )
1999
+ # trace_out( __method__, 67 )
1951
2000
 
1952
2001
  end
1953
2002
 
@@ -1955,16 +2004,16 @@ module SfpLang
1955
2004
  # (in SfpLang.g)
1956
2005
  def multiline_string!
1957
2006
  # -> uncomment the next line to manually enable rule tracing
1958
- # trace_in( __method__, 66 )
2007
+ # trace_in( __method__, 68 )
1959
2008
 
1960
2009
  type = MULTILINE_STRING
1961
2010
  channel = ANTLR3::DEFAULT_CHANNEL
1962
2011
 
1963
2012
 
1964
2013
  # - - - - main rule block - - - -
1965
- # at line 968:4: 'r\"' ( options {greedy=false; } : . )* '\"'
2014
+ # at line 994:4: 'r\"' ( options {greedy=false; } : . )* '\"'
1966
2015
  match( "r\"" )
1967
- # at line 968:9: ( options {greedy=false; } : . )*
2016
+ # at line 994:9: ( options {greedy=false; } : . )*
1968
2017
  while true # decision 10
1969
2018
  alt_10 = 2
1970
2019
  look_10_0 = @input.peek( 1 )
@@ -1977,7 +2026,7 @@ module SfpLang
1977
2026
  end
1978
2027
  case alt_10
1979
2028
  when 1
1980
- # at line 968:37: .
2029
+ # at line 994:37: .
1981
2030
  match_any
1982
2031
 
1983
2032
  else
@@ -1992,7 +2041,7 @@ module SfpLang
1992
2041
 
1993
2042
  ensure
1994
2043
  # -> uncomment the next line to manually enable rule tracing
1995
- # trace_out( __method__, 66 )
2044
+ # trace_out( __method__, 68 )
1996
2045
 
1997
2046
  end
1998
2047
 
@@ -2000,15 +2049,15 @@ module SfpLang
2000
2049
  # (in SfpLang.g)
2001
2050
  def nl!
2002
2051
  # -> uncomment the next line to manually enable rule tracing
2003
- # trace_in( __method__, 67 )
2052
+ # trace_in( __method__, 69 )
2004
2053
 
2005
2054
  type = NL
2006
2055
  channel = ANTLR3::DEFAULT_CHANNEL
2007
2056
 
2008
2057
 
2009
2058
  # - - - - main rule block - - - -
2010
- # at line 971:6: ( '\\r' )? '\\n'
2011
- # at line 971:6: ( '\\r' )?
2059
+ # at line 997:6: ( '\\r' )? '\\n'
2060
+ # at line 997:6: ( '\\r' )?
2012
2061
  alt_11 = 2
2013
2062
  look_11_0 = @input.peek( 1 )
2014
2063
 
@@ -2017,7 +2066,7 @@ module SfpLang
2017
2066
  end
2018
2067
  case alt_11
2019
2068
  when 1
2020
- # at line 971:6: '\\r'
2069
+ # at line 997:6: '\\r'
2021
2070
  match( 0xd )
2022
2071
 
2023
2072
  end
@@ -2029,7 +2078,7 @@ module SfpLang
2029
2078
 
2030
2079
  ensure
2031
2080
  # -> uncomment the next line to manually enable rule tracing
2032
- # trace_out( __method__, 67 )
2081
+ # trace_out( __method__, 69 )
2033
2082
 
2034
2083
  end
2035
2084
 
@@ -2037,14 +2086,14 @@ module SfpLang
2037
2086
  # (in SfpLang.g)
2038
2087
  def ws!
2039
2088
  # -> uncomment the next line to manually enable rule tracing
2040
- # trace_in( __method__, 68 )
2089
+ # trace_in( __method__, 70 )
2041
2090
 
2042
2091
  type = WS
2043
2092
  channel = ANTLR3::DEFAULT_CHANNEL
2044
2093
 
2045
2094
 
2046
2095
  # - - - - main rule block - - - -
2047
- # at line 974:8: ( ' ' | '\\t' )
2096
+ # at line 1000:8: ( ' ' | '\\t' )
2048
2097
  if @input.peek(1) == 0x9 || @input.peek(1) == 0x20
2049
2098
  @input.consume
2050
2099
  else
@@ -2064,7 +2113,7 @@ module SfpLang
2064
2113
 
2065
2114
  ensure
2066
2115
  # -> uncomment the next line to manually enable rule tracing
2067
- # trace_out( __method__, 68 )
2116
+ # trace_out( __method__, 70 )
2068
2117
 
2069
2118
  end
2070
2119
 
@@ -2072,16 +2121,16 @@ module SfpLang
2072
2121
  # (in SfpLang.g)
2073
2122
  def string!
2074
2123
  # -> uncomment the next line to manually enable rule tracing
2075
- # trace_in( __method__, 69 )
2124
+ # trace_in( __method__, 71 )
2076
2125
 
2077
2126
  type = STRING
2078
2127
  channel = ANTLR3::DEFAULT_CHANNEL
2079
2128
 
2080
2129
 
2081
2130
  # - - - - main rule block - - - -
2082
- # at line 978:5: '\"' ( ESC_SEQ | ~ ( '\\\\' | '\"' ) )* '\"'
2131
+ # at line 1004:5: '\"' ( ESC_SEQ | ~ ( '\\\\' | '\"' ) )* '\"'
2083
2132
  match( 0x22 )
2084
- # at line 978:9: ( ESC_SEQ | ~ ( '\\\\' | '\"' ) )*
2133
+ # at line 1004:9: ( ESC_SEQ | ~ ( '\\\\' | '\"' ) )*
2085
2134
  while true # decision 12
2086
2135
  alt_12 = 3
2087
2136
  look_12_0 = @input.peek( 1 )
@@ -2094,11 +2143,11 @@ module SfpLang
2094
2143
  end
2095
2144
  case alt_12
2096
2145
  when 1
2097
- # at line 978:11: ESC_SEQ
2146
+ # at line 1004:11: ESC_SEQ
2098
2147
  esc_seq!
2099
2148
 
2100
2149
  when 2
2101
- # at line 978:21: ~ ( '\\\\' | '\"' )
2150
+ # at line 1004:21: ~ ( '\\\\' | '\"' )
2102
2151
  if @input.peek( 1 ).between?( 0x0, 0x21 ) || @input.peek( 1 ).between?( 0x23, 0x5b ) || @input.peek( 1 ).between?( 0x5d, 0xff )
2103
2152
  @input.consume
2104
2153
  else
@@ -2121,7 +2170,7 @@ module SfpLang
2121
2170
 
2122
2171
  ensure
2123
2172
  # -> uncomment the next line to manually enable rule tracing
2124
- # trace_out( __method__, 69 )
2173
+ # trace_out( __method__, 71 )
2125
2174
 
2126
2175
  end
2127
2176
 
@@ -2129,11 +2178,11 @@ module SfpLang
2129
2178
  # (in SfpLang.g)
2130
2179
  def exponent!
2131
2180
  # -> uncomment the next line to manually enable rule tracing
2132
- # trace_in( __method__, 70 )
2181
+ # trace_in( __method__, 72 )
2133
2182
 
2134
2183
 
2135
2184
  # - - - - main rule block - - - -
2136
- # at line 982:12: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+
2185
+ # at line 1008:12: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+
2137
2186
  if @input.peek(1) == 0x45 || @input.peek(1) == 0x65
2138
2187
  @input.consume
2139
2188
  else
@@ -2143,7 +2192,7 @@ module SfpLang
2143
2192
  end
2144
2193
 
2145
2194
 
2146
- # at line 982:22: ( '+' | '-' )?
2195
+ # at line 1008:22: ( '+' | '-' )?
2147
2196
  alt_13 = 2
2148
2197
  look_13_0 = @input.peek( 1 )
2149
2198
 
@@ -2164,7 +2213,7 @@ module SfpLang
2164
2213
 
2165
2214
 
2166
2215
  end
2167
- # at file 982:33: ( '0' .. '9' )+
2216
+ # at file 1008:33: ( '0' .. '9' )+
2168
2217
  match_count_14 = 0
2169
2218
  while true
2170
2219
  alt_14 = 2
@@ -2176,7 +2225,7 @@ module SfpLang
2176
2225
  end
2177
2226
  case alt_14
2178
2227
  when 1
2179
- # at line 982:34: '0' .. '9'
2228
+ # at line 1008:34: '0' .. '9'
2180
2229
  match_range( 0x30, 0x39 )
2181
2230
 
2182
2231
  else
@@ -2192,7 +2241,7 @@ module SfpLang
2192
2241
 
2193
2242
  ensure
2194
2243
  # -> uncomment the next line to manually enable rule tracing
2195
- # trace_out( __method__, 70 )
2244
+ # trace_out( __method__, 72 )
2196
2245
 
2197
2246
  end
2198
2247
 
@@ -2200,11 +2249,11 @@ module SfpLang
2200
2249
  # (in SfpLang.g)
2201
2250
  def hex_digit!
2202
2251
  # -> uncomment the next line to manually enable rule tracing
2203
- # trace_in( __method__, 71 )
2252
+ # trace_in( __method__, 73 )
2204
2253
 
2205
2254
 
2206
2255
  # - - - - main rule block - - - -
2207
- # at line 985:13: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )
2256
+ # at line 1011:13: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )
2208
2257
  if @input.peek( 1 ).between?( 0x30, 0x39 ) || @input.peek( 1 ).between?( 0x41, 0x46 ) || @input.peek( 1 ).between?( 0x61, 0x66 )
2209
2258
  @input.consume
2210
2259
  else
@@ -2217,7 +2266,7 @@ module SfpLang
2217
2266
 
2218
2267
  ensure
2219
2268
  # -> uncomment the next line to manually enable rule tracing
2220
- # trace_out( __method__, 71 )
2269
+ # trace_out( __method__, 73 )
2221
2270
 
2222
2271
  end
2223
2272
 
@@ -2225,11 +2274,11 @@ module SfpLang
2225
2274
  # (in SfpLang.g)
2226
2275
  def esc_seq!
2227
2276
  # -> uncomment the next line to manually enable rule tracing
2228
- # trace_in( __method__, 72 )
2277
+ # trace_in( __method__, 74 )
2229
2278
 
2230
2279
 
2231
2280
  # - - - - main rule block - - - -
2232
- # at line 989:2: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UNICODE_ESC | OCTAL_ESC )
2281
+ # at line 1015:2: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UNICODE_ESC | OCTAL_ESC )
2233
2282
  alt_15 = 3
2234
2283
  look_15_0 = @input.peek( 1 )
2235
2284
 
@@ -2246,7 +2295,7 @@ module SfpLang
2246
2295
  end
2247
2296
  case alt_15
2248
2297
  when 1
2249
- # at line 989:6: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' )
2298
+ # at line 1015:6: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' )
2250
2299
  match( 0x5c )
2251
2300
  if @input.peek(1) == 0x22 || @input.peek(1) == 0x27 || @input.peek(1) == 0x5c || @input.peek(1) == 0x62 || @input.peek(1) == 0x66 || @input.peek(1) == 0x6e || @input.peek(1) == 0x72 || @input.peek(1) == 0x74
2252
2301
  @input.consume
@@ -2259,17 +2308,17 @@ module SfpLang
2259
2308
 
2260
2309
 
2261
2310
  when 2
2262
- # at line 990:6: UNICODE_ESC
2311
+ # at line 1016:6: UNICODE_ESC
2263
2312
  unicode_esc!
2264
2313
 
2265
2314
  when 3
2266
- # at line 991:6: OCTAL_ESC
2315
+ # at line 1017:6: OCTAL_ESC
2267
2316
  octal_esc!
2268
2317
 
2269
2318
  end
2270
2319
  ensure
2271
2320
  # -> uncomment the next line to manually enable rule tracing
2272
- # trace_out( __method__, 72 )
2321
+ # trace_out( __method__, 74 )
2273
2322
 
2274
2323
  end
2275
2324
 
@@ -2277,11 +2326,11 @@ module SfpLang
2277
2326
  # (in SfpLang.g)
2278
2327
  def octal_esc!
2279
2328
  # -> uncomment the next line to manually enable rule tracing
2280
- # trace_in( __method__, 73 )
2329
+ # trace_in( __method__, 75 )
2281
2330
 
2282
2331
 
2283
2332
  # - - - - main rule block - - - -
2284
- # at line 996:2: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) )
2333
+ # at line 1022:2: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) )
2285
2334
  alt_16 = 3
2286
2335
  look_16_0 = @input.peek( 1 )
2287
2336
 
@@ -2318,45 +2367,45 @@ module SfpLang
2318
2367
  end
2319
2368
  case alt_16
2320
2369
  when 1
2321
- # at line 996:6: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )
2370
+ # at line 1022:6: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )
2322
2371
  match( 0x5c )
2323
- # at line 996:11: ( '0' .. '3' )
2324
- # at line 996:12: '0' .. '3'
2372
+ # at line 1022:11: ( '0' .. '3' )
2373
+ # at line 1022:12: '0' .. '3'
2325
2374
  match_range( 0x30, 0x33 )
2326
2375
 
2327
- # at line 996:22: ( '0' .. '7' )
2328
- # at line 996:23: '0' .. '7'
2376
+ # at line 1022:22: ( '0' .. '7' )
2377
+ # at line 1022:23: '0' .. '7'
2329
2378
  match_range( 0x30, 0x37 )
2330
2379
 
2331
- # at line 996:33: ( '0' .. '7' )
2332
- # at line 996:34: '0' .. '7'
2380
+ # at line 1022:33: ( '0' .. '7' )
2381
+ # at line 1022:34: '0' .. '7'
2333
2382
  match_range( 0x30, 0x37 )
2334
2383
 
2335
2384
 
2336
2385
  when 2
2337
- # at line 997:6: '\\\\' ( '0' .. '7' ) ( '0' .. '7' )
2386
+ # at line 1023:6: '\\\\' ( '0' .. '7' ) ( '0' .. '7' )
2338
2387
  match( 0x5c )
2339
- # at line 997:11: ( '0' .. '7' )
2340
- # at line 997:12: '0' .. '7'
2388
+ # at line 1023:11: ( '0' .. '7' )
2389
+ # at line 1023:12: '0' .. '7'
2341
2390
  match_range( 0x30, 0x37 )
2342
2391
 
2343
- # at line 997:22: ( '0' .. '7' )
2344
- # at line 997:23: '0' .. '7'
2392
+ # at line 1023:22: ( '0' .. '7' )
2393
+ # at line 1023:23: '0' .. '7'
2345
2394
  match_range( 0x30, 0x37 )
2346
2395
 
2347
2396
 
2348
2397
  when 3
2349
- # at line 998:6: '\\\\' ( '0' .. '7' )
2398
+ # at line 1024:6: '\\\\' ( '0' .. '7' )
2350
2399
  match( 0x5c )
2351
- # at line 998:11: ( '0' .. '7' )
2352
- # at line 998:12: '0' .. '7'
2400
+ # at line 1024:11: ( '0' .. '7' )
2401
+ # at line 1024:12: '0' .. '7'
2353
2402
  match_range( 0x30, 0x37 )
2354
2403
 
2355
2404
 
2356
2405
  end
2357
2406
  ensure
2358
2407
  # -> uncomment the next line to manually enable rule tracing
2359
- # trace_out( __method__, 73 )
2408
+ # trace_out( __method__, 75 )
2360
2409
 
2361
2410
  end
2362
2411
 
@@ -2364,11 +2413,11 @@ module SfpLang
2364
2413
  # (in SfpLang.g)
2365
2414
  def unicode_esc!
2366
2415
  # -> uncomment the next line to manually enable rule tracing
2367
- # trace_in( __method__, 74 )
2416
+ # trace_in( __method__, 76 )
2368
2417
 
2369
2418
 
2370
2419
  # - - - - main rule block - - - -
2371
- # at line 1003:6: '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT
2420
+ # at line 1029:6: '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT
2372
2421
  match( 0x5c )
2373
2422
  match( 0x75 )
2374
2423
  hex_digit!
@@ -2378,7 +2427,7 @@ module SfpLang
2378
2427
 
2379
2428
  ensure
2380
2429
  # -> uncomment the next line to manually enable rule tracing
2381
- # trace_out( __method__, 74 )
2430
+ # trace_out( __method__, 76 )
2382
2431
 
2383
2432
  end
2384
2433
 
@@ -2390,8 +2439,8 @@ module SfpLang
2390
2439
  # but instead use the next_token method, which will
2391
2440
  # build and emit the actual next token
2392
2441
  def token!
2393
- # at line 1:8: ( T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | NULL | BOOLEAN | ID | NUMBER | COMMENT | MULTILINE_STRING | NL | WS | STRING )
2394
- alt_17 = 69
2442
+ # at line 1:8: ( T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | NULL | BOOLEAN | ID | NUMBER | COMMENT | MULTILINE_STRING | NL | WS | STRING )
2443
+ alt_17 = 71
2395
2444
  alt_17 = @dfa17.predict( @input )
2396
2445
  case alt_17
2397
2446
  when 1
@@ -2635,39 +2684,47 @@ module SfpLang
2635
2684
  t__77!
2636
2685
 
2637
2686
  when 61
2638
- # at line 1:370: NULL
2639
- null!
2687
+ # at line 1:370: T__78
2688
+ t__78!
2640
2689
 
2641
2690
  when 62
2642
- # at line 1:375: BOOLEAN
2643
- boolean!
2691
+ # at line 1:376: T__79
2692
+ t__79!
2644
2693
 
2645
2694
  when 63
2646
- # at line 1:383: ID
2647
- id!
2695
+ # at line 1:382: NULL
2696
+ null!
2648
2697
 
2649
2698
  when 64
2650
- # at line 1:386: NUMBER
2651
- number!
2699
+ # at line 1:387: BOOLEAN
2700
+ boolean!
2652
2701
 
2653
2702
  when 65
2654
- # at line 1:393: COMMENT
2655
- comment!
2703
+ # at line 1:395: ID
2704
+ id!
2656
2705
 
2657
2706
  when 66
2658
- # at line 1:401: MULTILINE_STRING
2659
- multiline_string!
2707
+ # at line 1:398: NUMBER
2708
+ number!
2660
2709
 
2661
2710
  when 67
2662
- # at line 1:418: NL
2663
- nl!
2711
+ # at line 1:405: COMMENT
2712
+ comment!
2664
2713
 
2665
2714
  when 68
2666
- # at line 1:421: WS
2667
- ws!
2715
+ # at line 1:413: MULTILINE_STRING
2716
+ multiline_string!
2668
2717
 
2669
2718
  when 69
2670
- # at line 1:424: STRING
2719
+ # at line 1:430: NL
2720
+ nl!
2721
+
2722
+ when 70
2723
+ # at line 1:433: WS
2724
+ ws!
2725
+
2726
+ when 71
2727
+ # at line 1:436: STRING
2671
2728
  string!
2672
2729
 
2673
2730
  end
@@ -2688,13 +2745,14 @@ module SfpLang
2688
2745
  1, 201, 1, 202, 1, -1, 1, 203, 1, 204, 2, 35, 1, -1,
2689
2746
  2, 35, 1, 209, 1, 35, 1, 211, 2, 35, 1, -1, 5, 35, 1,
2690
2747
  219, 1, -1, 5, 35, 1, 108, 3, 35, 4, -1, 4, 35, 1, -1,
2691
- 1, 35, 1, -1, 1, 35, 1, 234, 1, -1, 2, 35, 1, 237, 1,
2692
- 238, 1, -1, 1, 239, 1, 240, 1, 35, 1, 242, 1, 35, 1,
2693
- 244, 1, 35, 1, 246, 4, 35, 1, 251, 1, 252, 1, -1, 2,
2694
- 35, 4, -1, 1, 255, 1, -1, 1, 256, 3, -1, 1, 257, 3,
2695
- 35, 2, -1, 1, 261, 1, 35, 3, -1, 1, 263, 2, 35, 1, -1,
2696
- 1, 266, 1, -1, 1, 267, 1, 268, 3, -1 )
2697
- EOF = unpack( 269, -1 )
2748
+ 1, 35, 1, -1, 1, 234, 1, 235, 1, -1, 2, 35, 1, 238,
2749
+ 1, 239, 1, -1, 1, 240, 1, 241, 1, 35, 1, 243, 1, 35,
2750
+ 1, 245, 1, 35, 1, 247, 4, 35, 1, 252, 1, 253, 2, -1,
2751
+ 2, 35, 4, -1, 1, 256, 1, -1, 1, 257, 3, -1, 1, 258,
2752
+ 3, 35, 2, -1, 1, 262, 1, 35, 3, -1, 1, 264, 1, 266,
2753
+ 1, 35, 1, -1, 1, 268, 1, -1, 1, 269, 1, -1, 1, 270,
2754
+ 3, -1 )
2755
+ EOF = unpack( 271, -1 )
2698
2756
  MIN = unpack( 1, 9, 1, 102, 1, 111, 2, -1, 1, 108, 1, 102, 2, -1,
2699
2757
  1, 104, 1, 102, 1, 114, 3, -1, 1, 100, 1, 111, 1, 105,
2700
2758
  1, 101, 1, 97, 2, -1, 1, 101, 1, 97, 1, 101, 1, 34,
@@ -2719,13 +2777,13 @@ module SfpLang
2719
2777
  1, 45, 1, 100, 1, 45, 1, 116, 1, 114, 1, -1, 1, 40,
2720
2778
  1, 116, 1, 100, 1, 108, 1, 115, 1, 45, 1, -1, 1, 110,
2721
2779
  1, 101, 1, 99, 1, 108, 1, 109, 1, 45, 3, 101, 4, -1,
2722
- 1, 109, 2, 105, 1, 97, 1, -1, 1, 115, 1, -1, 1, 115,
2723
- 1, 45, 1, -1, 1, 111, 1, 117, 2, 45, 1, -1, 2, 45, 1,
2724
- 104, 1, 45, 1, 101, 1, 45, 1, 40, 1, 45, 1, 101, 1,
2725
- 116, 1, 111, 1, 105, 2, 45, 1, -1, 2, 114, 4, -1, 1,
2726
- 45, 1, -1, 1, 45, 3, -1, 1, 45, 1, 101, 2, 110, 2, -1,
2727
- 1, 45, 1, 101, 3, -1, 1, 45, 1, 115, 1, 116, 1, -1,
2728
- 1, 45, 1, -1, 2, 45, 3, -1 )
2780
+ 1, 109, 2, 105, 1, 97, 1, -1, 1, 115, 1, -1, 2, 45,
2781
+ 1, -1, 1, 111, 1, 117, 2, 45, 1, -1, 2, 45, 1, 104,
2782
+ 1, 45, 1, 101, 1, 45, 1, 40, 1, 45, 1, 101, 1, 116,
2783
+ 1, 111, 1, 105, 2, 45, 2, -1, 2, 114, 4, -1, 1, 45,
2784
+ 1, -1, 1, 45, 3, -1, 1, 45, 1, 101, 2, 110, 2, -1, 1,
2785
+ 45, 1, 101, 3, -1, 2, 45, 1, 116, 1, -1, 1, 45, 1, -1,
2786
+ 1, 45, 1, -1, 1, 45, 3, -1 )
2729
2787
  MAX = unpack( 1, 125, 1, 115, 1, 116, 2, -1, 1, 111, 1, 120, 2, -1,
2730
2788
  3, 114, 3, -1, 1, 115, 1, 111, 1, 105, 1, 101, 1, 111,
2731
2789
  2, -1, 1, 117, 1, 97, 2, 101, 3, -1, 1, 61, 1, -1, 3,
@@ -2750,28 +2808,28 @@ module SfpLang
2750
2808
  1, -1, 1, 40, 1, 116, 1, 100, 1, 108, 1, 115, 1, 122,
2751
2809
  1, -1, 1, 110, 1, 101, 1, 99, 1, 108, 1, 109, 1, 122,
2752
2810
  3, 101, 4, -1, 1, 109, 2, 105, 1, 97, 1, -1, 1, 115,
2753
- 1, -1, 1, 115, 1, 122, 1, -1, 1, 111, 1, 117, 2, 122,
2754
- 1, -1, 2, 122, 1, 104, 1, 122, 1, 101, 1, 122, 1, 40,
2755
- 1, 122, 1, 101, 1, 116, 1, 111, 1, 105, 2, 122, 1, -1,
2756
- 2, 114, 4, -1, 1, 122, 1, -1, 1, 122, 3, -1, 1, 122,
2757
- 1, 101, 2, 110, 2, -1, 1, 122, 1, 101, 3, -1, 1, 122,
2758
- 1, 115, 1, 116, 1, -1, 1, 122, 1, -1, 2, 122, 3, -1 )
2811
+ 1, -1, 2, 122, 1, -1, 1, 111, 1, 117, 2, 122, 1, -1,
2812
+ 2, 122, 1, 104, 1, 122, 1, 101, 1, 122, 1, 40, 1, 122,
2813
+ 1, 101, 1, 116, 1, 111, 1, 105, 2, 122, 2, -1, 2, 114,
2814
+ 4, -1, 1, 122, 1, -1, 1, 122, 3, -1, 1, 122, 1, 101,
2815
+ 2, 110, 2, -1, 1, 122, 1, 101, 3, -1, 2, 122, 1, 116,
2816
+ 1, -1, 1, 122, 1, -1, 1, 122, 1, -1, 1, 122, 3, -1 )
2759
2817
  ACCEPT = unpack( 3, -1, 1, 3, 1, 4, 2, -1, 1, 9, 1, 10, 3, -1, 1,
2760
- 19, 1, 20, 1, 21, 5, -1, 1, 36, 1, 37, 4, -1, 1,
2761
- 49, 1, 52, 1, 53, 1, -1, 1, 55, 4, -1, 1, 63, 1,
2762
- 64, 1, 65, 1, 67, 1, 68, 1, 69, 35, -1, 1, 66, 1,
2763
- 54, 1, 56, 1, 58, 1, 57, 1, 60, 1, 59, 2, -1, 1,
2764
- 40, 4, -1, 1, 39, 1, 11, 13, -1, 1, 13, 2, -1, 1,
2765
- 62, 4, -1, 1, 32, 15, -1, 1, 8, 23, -1, 1, 47, 7,
2766
- -1, 1, 38, 1, 45, 1, -1, 1, 61, 1, 43, 5, -1, 1,
2767
- 42, 4, -1, 1, 15, 7, -1, 1, 12, 6, -1, 1, 24, 9,
2768
- -1, 1, 23, 1, 41, 1, 50, 1, 2, 4, -1, 1, 6, 1, -1,
2769
- 1, 34, 2, -1, 1, 44, 4, -1, 1, 29, 14, -1, 1, 51,
2770
- 2, -1, 1, 22, 1, 26, 1, 28, 1, 30, 1, -1, 1, 33,
2771
- 1, -1, 1, 46, 1, 48, 1, 1, 4, -1, 1, 7, 1, 17, 2,
2772
- -1, 1, 31, 1, 35, 1, 27, 3, -1, 1, 14, 1, -1, 1,
2773
- 5, 2, -1, 1, 18, 1, 16, 1, 25 )
2774
- SPECIAL = unpack( 269, -1 )
2818
+ 20, 1, 21, 1, 22, 5, -1, 1, 38, 1, 39, 4, -1, 1,
2819
+ 51, 1, 54, 1, 55, 1, -1, 1, 57, 4, -1, 1, 65, 1,
2820
+ 66, 1, 67, 1, 69, 1, 70, 1, 71, 35, -1, 1, 68, 1,
2821
+ 56, 1, 58, 1, 60, 1, 59, 1, 62, 1, 61, 2, -1, 1,
2822
+ 42, 4, -1, 1, 41, 1, 11, 13, -1, 1, 13, 2, -1, 1,
2823
+ 64, 4, -1, 1, 34, 15, -1, 1, 8, 23, -1, 1, 49, 7,
2824
+ -1, 1, 40, 1, 47, 1, -1, 1, 63, 1, 45, 5, -1, 1,
2825
+ 44, 4, -1, 1, 15, 7, -1, 1, 12, 6, -1, 1, 26, 9,
2826
+ -1, 1, 24, 1, 43, 1, 52, 1, 2, 4, -1, 1, 6, 1, -1,
2827
+ 1, 36, 2, -1, 1, 46, 4, -1, 1, 31, 14, -1, 1, 25,
2828
+ 1, 53, 2, -1, 1, 23, 1, 28, 1, 30, 1, 32, 1, -1,
2829
+ 1, 35, 1, -1, 1, 48, 1, 50, 1, 1, 4, -1, 1, 7, 1,
2830
+ 18, 2, -1, 1, 33, 1, 37, 1, 29, 3, -1, 1, 14, 1,
2831
+ -1, 1, 5, 1, -1, 1, 17, 1, -1, 1, 19, 1, 16, 1, 27 )
2832
+ SPECIAL = unpack( 271, -1 )
2775
2833
  TRANSITION = [
2776
2834
  unpack( 1, 39, 1, 38, 2, -1, 1, 38, 18, -1, 1, 39, 1, 27, 1, 40,
2777
2835
  1, 37, 4, -1, 1, 12, 1, 14, 1, 30, 1, 28, 1, 13, 1, 29,
@@ -3019,12 +3077,13 @@ module SfpLang
3019
3077
  unpack( ),
3020
3078
  unpack( 1, 232 ),
3021
3079
  unpack( ),
3022
- unpack( 1, 233 ),
3080
+ unpack( 1, 35, 2, -1, 10, 35, 7, -1, 26, 35, 4, -1, 1, 35, 1, -1,
3081
+ 18, 35, 1, 233, 7, 35 ),
3023
3082
  unpack( 1, 35, 2, -1, 10, 35, 7, -1, 26, 35, 4, -1, 1, 35, 1, -1,
3024
3083
  26, 35 ),
3025
3084
  unpack( ),
3026
- unpack( 1, 235 ),
3027
3085
  unpack( 1, 236 ),
3086
+ unpack( 1, 237 ),
3028
3087
  unpack( 1, 35, 2, -1, 10, 35, 7, -1, 26, 35, 4, -1, 1, 35, 1, -1,
3029
3088
  26, 35 ),
3030
3089
  unpack( 1, 35, 2, -1, 10, 35, 7, -1, 26, 35, 4, -1, 1, 35, 1, -1,
@@ -3034,26 +3093,27 @@ module SfpLang
3034
3093
  26, 35 ),
3035
3094
  unpack( 1, 35, 2, -1, 10, 35, 7, -1, 26, 35, 4, -1, 1, 35, 1, -1,
3036
3095
  26, 35 ),
3037
- unpack( 1, 241 ),
3096
+ unpack( 1, 242 ),
3038
3097
  unpack( 1, 35, 2, -1, 10, 35, 7, -1, 26, 35, 4, -1, 1, 35, 1, -1,
3039
3098
  26, 35 ),
3040
- unpack( 1, 243 ),
3099
+ unpack( 1, 244 ),
3041
3100
  unpack( 1, 35, 2, -1, 10, 35, 7, -1, 26, 35, 4, -1, 1, 35, 1, -1,
3042
3101
  26, 35 ),
3043
- unpack( 1, 245 ),
3102
+ unpack( 1, 246 ),
3044
3103
  unpack( 1, 35, 2, -1, 10, 35, 7, -1, 26, 35, 4, -1, 1, 35, 1, -1,
3045
3104
  26, 35 ),
3046
- unpack( 1, 247 ),
3047
3105
  unpack( 1, 248 ),
3048
3106
  unpack( 1, 249 ),
3049
3107
  unpack( 1, 250 ),
3108
+ unpack( 1, 251 ),
3050
3109
  unpack( 1, 35, 2, -1, 10, 35, 7, -1, 26, 35, 4, -1, 1, 35, 1, -1,
3051
3110
  26, 35 ),
3052
3111
  unpack( 1, 35, 2, -1, 10, 35, 7, -1, 26, 35, 4, -1, 1, 35, 1, -1,
3053
3112
  26, 35 ),
3054
3113
  unpack( ),
3055
- unpack( 1, 253 ),
3114
+ unpack( ),
3056
3115
  unpack( 1, 254 ),
3116
+ unpack( 1, 255 ),
3057
3117
  unpack( ),
3058
3118
  unpack( ),
3059
3119
  unpack( ),
@@ -3068,27 +3128,29 @@ module SfpLang
3068
3128
  unpack( ),
3069
3129
  unpack( 1, 35, 2, -1, 10, 35, 7, -1, 26, 35, 4, -1, 1, 35, 1, -1,
3070
3130
  26, 35 ),
3071
- unpack( 1, 258 ),
3072
3131
  unpack( 1, 259 ),
3073
3132
  unpack( 1, 260 ),
3133
+ unpack( 1, 261 ),
3074
3134
  unpack( ),
3075
3135
  unpack( ),
3076
3136
  unpack( 1, 35, 2, -1, 10, 35, 7, -1, 26, 35, 4, -1, 1, 35, 1, -1,
3077
3137
  26, 35 ),
3078
- unpack( 1, 262 ),
3138
+ unpack( 1, 263 ),
3079
3139
  unpack( ),
3080
3140
  unpack( ),
3081
3141
  unpack( ),
3082
3142
  unpack( 1, 35, 2, -1, 10, 35, 7, -1, 26, 35, 4, -1, 1, 35, 1, -1,
3083
3143
  26, 35 ),
3084
- unpack( 1, 264 ),
3085
- unpack( 1, 265 ),
3144
+ unpack( 1, 35, 2, -1, 10, 35, 7, -1, 26, 35, 4, -1, 1, 35, 1, -1,
3145
+ 18, 35, 1, 265, 7, 35 ),
3146
+ unpack( 1, 267 ),
3086
3147
  unpack( ),
3087
3148
  unpack( 1, 35, 2, -1, 10, 35, 7, -1, 26, 35, 4, -1, 1, 35, 1, -1,
3088
3149
  26, 35 ),
3089
3150
  unpack( ),
3090
3151
  unpack( 1, 35, 2, -1, 10, 35, 7, -1, 26, 35, 4, -1, 1, 35, 1, -1,
3091
3152
  26, 35 ),
3153
+ unpack( ),
3092
3154
  unpack( 1, 35, 2, -1, 10, 35, 7, -1, 26, 35, 4, -1, 1, 35, 1, -1,
3093
3155
  26, 35 ),
3094
3156
  unpack( ),
@@ -3107,7 +3169,7 @@ module SfpLang
3107
3169
 
3108
3170
  def description
3109
3171
  <<-'__dfa_description__'.strip!
3110
- 1:1: Tokens : ( T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | NULL | BOOLEAN | ID | NUMBER | COMMENT | MULTILINE_STRING | NL | WS | STRING );
3172
+ 1:1: Tokens : ( T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | NULL | BOOLEAN | ID | NUMBER | COMMENT | MULTILINE_STRING | NL | WS | STRING );
3111
3173
  __dfa_description__
3112
3174
  end
3113
3175
  end