bel_parser 1.0.8 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (112) hide show
  1. checksums.yaml +4 -4
  2. data/.gemspec +12 -2
  3. data/VERSION +1 -1
  4. data/bin/bel2_compatibility +12 -9
  5. data/bin/bel2_upgrade +18 -6
  6. data/bin/bel2_validator +6 -3
  7. data/bin/bel_script_reader +1 -0
  8. data/lib/bel_parser/completion.rb +984 -0
  9. data/lib/bel_parser/language/apply_namespace_encoding.rb +14 -3
  10. data/lib/bel_parser/language/expression_validator.rb +1 -2
  11. data/lib/bel_parser/language/function.rb +4 -0
  12. data/lib/bel_parser/language/relationship.rb +4 -0
  13. data/lib/bel_parser/language/semantics/function_deprecation.rb +1 -0
  14. data/lib/bel_parser/language/semantics/list_function_subject.rb +2 -0
  15. data/lib/bel_parser/language/semantics/multiple_subject_object.rb +4 -1
  16. data/lib/bel_parser/language/semantics/nested_statement_without_object.rb +43 -0
  17. data/lib/bel_parser/language/semantics/non_object_list.rb +3 -0
  18. data/lib/bel_parser/language/semantics/relationship_not_listable.rb +2 -0
  19. data/lib/bel_parser/language/semantics/signature_mapping.rb +2 -0
  20. data/lib/bel_parser/language/semantics_ast.rb +0 -7
  21. data/lib/bel_parser/language/syntax/invalid_function.rb +6 -1
  22. data/lib/bel_parser/language/syntax/invalid_relationship.rb +1 -0
  23. data/lib/bel_parser/language/version1_0/relationships/acts_in.rb +9 -9
  24. data/lib/bel_parser/language/version1_0/relationships/analogous.rb +6 -4
  25. data/lib/bel_parser/language/version1_0/relationships/association.rb +8 -7
  26. data/lib/bel_parser/language/version1_0/relationships/biomarker_for.rb +6 -5
  27. data/lib/bel_parser/language/version1_0/relationships/causes_no_change.rb +8 -7
  28. data/lib/bel_parser/language/version1_0/relationships/decreases.rb +13 -12
  29. data/lib/bel_parser/language/version1_0/relationships/directly_decreases.rb +8 -6
  30. data/lib/bel_parser/language/version1_0/relationships/directly_increases.rb +8 -6
  31. data/lib/bel_parser/language/version1_0/relationships/has_component.rb +14 -14
  32. data/lib/bel_parser/language/version1_0/relationships/has_components.rb +12 -11
  33. data/lib/bel_parser/language/version1_0/relationships/has_member.rb +10 -8
  34. data/lib/bel_parser/language/version1_0/relationships/has_members.rb +12 -11
  35. data/lib/bel_parser/language/version1_0/relationships/has_modification.rb +9 -7
  36. data/lib/bel_parser/language/version1_0/relationships/has_product.rb +10 -8
  37. data/lib/bel_parser/language/version1_0/relationships/has_variant.rb +9 -7
  38. data/lib/bel_parser/language/version1_0/relationships/includes.rb +11 -10
  39. data/lib/bel_parser/language/version1_0/relationships/increases.rb +12 -13
  40. data/lib/bel_parser/language/version1_0/relationships/is_a.rb +10 -8
  41. data/lib/bel_parser/language/version1_0/relationships/negative_correlation.rb +9 -7
  42. data/lib/bel_parser/language/version1_0/relationships/orthologous.rb +9 -8
  43. data/lib/bel_parser/language/version1_0/relationships/positive_correlation.rb +8 -5
  44. data/lib/bel_parser/language/version1_0/relationships/prognostic_biomarker_for.rb +8 -6
  45. data/lib/bel_parser/language/version1_0/relationships/rate_limiting_step_of.rb +10 -9
  46. data/lib/bel_parser/language/version1_0/relationships/reactant_in.rb +10 -8
  47. data/lib/bel_parser/language/version1_0/relationships/sub_process_of.rb +13 -12
  48. data/lib/bel_parser/language/version1_0/relationships/transcribed_to.rb +8 -7
  49. data/lib/bel_parser/language/version1_0/relationships/translated_to.rb +9 -7
  50. data/lib/bel_parser/language/version1_0/relationships/translocates.rb +10 -9
  51. data/lib/bel_parser/language/version2_0/functions/protein_modification.rb +1 -2
  52. data/lib/bel_parser/language/version2_0/functions/translocation.rb +1 -2
  53. data/lib/bel_parser/language/version2_0/functions/variant.rb +1 -2
  54. data/lib/bel_parser/language/version2_0/relationships/acts_in.rb +10 -9
  55. data/lib/bel_parser/language/version2_0/relationships/biomarker_for.rb +7 -5
  56. data/lib/bel_parser/language/version2_0/relationships/causes_no_change.rb +9 -7
  57. data/lib/bel_parser/language/version2_0/relationships/decreases.rb +13 -12
  58. data/lib/bel_parser/language/version2_0/relationships/directly_decreases.rb +8 -6
  59. data/lib/bel_parser/language/version2_0/relationships/directly_increases.rb +8 -6
  60. data/lib/bel_parser/language/version2_0/relationships/has_component.rb +15 -14
  61. data/lib/bel_parser/language/version2_0/relationships/has_components.rb +12 -11
  62. data/lib/bel_parser/language/version2_0/relationships/has_member.rb +9 -8
  63. data/lib/bel_parser/language/version2_0/relationships/has_members.rb +12 -11
  64. data/lib/bel_parser/language/version2_0/relationships/has_modification.rb +9 -7
  65. data/lib/bel_parser/language/version2_0/relationships/has_product.rb +10 -8
  66. data/lib/bel_parser/language/version2_0/relationships/has_variant.rb +9 -7
  67. data/lib/bel_parser/language/version2_0/relationships/includes.rb +11 -10
  68. data/lib/bel_parser/language/version2_0/relationships/increases.rb +13 -12
  69. data/lib/bel_parser/language/version2_0/relationships/is_a.rb +10 -8
  70. data/lib/bel_parser/language/version2_0/relationships/negative_correlation.rb +9 -7
  71. data/lib/bel_parser/language/version2_0/relationships/orthologous.rb +10 -8
  72. data/lib/bel_parser/language/version2_0/relationships/positive_correlation.rb +7 -5
  73. data/lib/bel_parser/language/version2_0/relationships/prognostic_biomarker_for.rb +8 -6
  74. data/lib/bel_parser/language/version2_0/relationships/rate_limiting_step_of.rb +10 -9
  75. data/lib/bel_parser/language/version2_0/relationships/reactant_in.rb +10 -8
  76. data/lib/bel_parser/language/version2_0/relationships/regulates.rb +9 -8
  77. data/lib/bel_parser/language/version2_0/relationships/sub_process_of.rb +13 -12
  78. data/lib/bel_parser/language/version2_0/relationships/transcribed_to.rb +8 -7
  79. data/lib/bel_parser/language/version2_0/relationships/translated_to.rb +9 -7
  80. data/lib/bel_parser/language/version2_0/relationships/translocates.rb +10 -9
  81. data/lib/bel_parser/mixin/levenshtein.rb +20 -0
  82. data/lib/bel_parser/parsers/ast/node.rb +49 -2
  83. data/lib/bel_parser/parsers/bel_script/define_annotation.rb +156 -156
  84. data/lib/bel_parser/parsers/bel_script/define_namespace.rb +60 -60
  85. data/lib/bel_parser/parsers/bel_script/set.rb +200 -200
  86. data/lib/bel_parser/parsers/bel_script/set_document.rb +188 -188
  87. data/lib/bel_parser/parsers/bel_script/unset.rb +14 -14
  88. data/lib/bel_parser/parsers/common/common.rl +1 -0
  89. data/lib/bel_parser/parsers/common/function.rb +8 -8
  90. data/lib/bel_parser/parsers/common/function.rl +6 -6
  91. data/lib/bel_parser/parsers/common/identifier.rb +3 -3
  92. data/lib/bel_parser/parsers/common/identifier.rl +4 -4
  93. data/lib/bel_parser/parsers/common/list.rb +78 -78
  94. data/lib/bel_parser/parsers/common/multi_identifier.rb +275 -0
  95. data/lib/bel_parser/parsers/common/multi_identifier.rl +141 -0
  96. data/lib/bel_parser/parsers/common/string.rb +6 -6
  97. data/lib/bel_parser/parsers/common/string.rl +4 -4
  98. data/lib/bel_parser/parsers/common.rb +1 -0
  99. data/lib/bel_parser/parsers/expression/nested_statement.rb +30180 -29055
  100. data/lib/bel_parser/parsers/expression/observed_term.rb +1456 -1099
  101. data/lib/bel_parser/parsers/expression/parameter.rb +192 -111
  102. data/lib/bel_parser/parsers/expression/parameter.rl +6 -3
  103. data/lib/bel_parser/parsers/expression/relationship.rb +43 -19
  104. data/lib/bel_parser/parsers/expression/relationship.rl +1 -0
  105. data/lib/bel_parser/parsers/expression/simple_statement.rb +17805 -17093
  106. data/lib/bel_parser/parsers/expression/statement_autocomplete.rb +1035 -0
  107. data/lib/bel_parser/parsers/expression/statement_autocomplete.rl +736 -0
  108. data/lib/bel_parser/parsers/expression/term.rb +960 -705
  109. data/lib/bel_parser/parsers/serializer.rb +8 -4
  110. data/lib/bel_parser/version.rb +33 -0
  111. data/lib/bel_parser.rb +3 -0
  112. metadata +25 -3
@@ -711,7 +711,7 @@ begin
711
711
  id_end = p
712
712
  chars = data[id_start...id_end]
713
713
  completed = !chars.empty?
714
- ast_node = identifier(utf8_string(chars), complete: completed)
714
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
715
715
  @buffers[:ident] = ast_node
716
716
  end
717
717
  when 2 then
@@ -720,7 +720,7 @@ begin
720
720
  trace('IDENTIFIER an_ident_err')
721
721
  id_end = p
722
722
  chars = data[id_start...id_end]
723
- ast_node = identifier(utf8_string(chars), complete: false)
723
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
724
724
  @buffers[:ident] = ast_node
725
725
  end
726
726
  when 35 then
@@ -729,7 +729,7 @@ begin
729
729
  trace('IDENTIFIER ident_node_err')
730
730
  id_end = p
731
731
  chars = data[id_start...id_end]
732
- ast_node = identifier(utf8_string(chars), complete: false)
732
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
733
733
  yield ast_node
734
734
  end
735
735
  when 9 then
@@ -745,7 +745,7 @@ begin
745
745
  trace('STRING a_string_err')
746
746
  p_end = p
747
747
  chars = data[p_start...p_end]
748
- ast_node = string(utf8_string(chars), complete: false)
748
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
749
749
  @buffers[:string] = ast_node
750
750
  end
751
751
  when 27 then
@@ -754,7 +754,7 @@ begin
754
754
  trace('STRING string_node_err')
755
755
  p_end = p
756
756
  chars = data[p_start...p_end]
757
- ast_node = string(utf8_string(chars), complete: false)
757
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
758
758
  yield ast_node
759
759
  end
760
760
  when 15 then
@@ -809,7 +809,7 @@ begin
809
809
  id_end = p
810
810
  chars = data[id_start...id_end]
811
811
  completed = !chars.empty?
812
- ast_node = identifier(utf8_string(chars), complete: completed)
812
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
813
813
  @buffers[:ident] = ast_node
814
814
  end
815
815
  begin
@@ -826,7 +826,7 @@ begin
826
826
  id_end = p
827
827
  chars = data[id_start...id_end]
828
828
  completed = !chars.empty?
829
- ast_node = identifier(utf8_string(chars), complete: completed)
829
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
830
830
  @buffers[:ident] = ast_node
831
831
  end
832
832
  begin
@@ -847,7 +847,7 @@ begin
847
847
  trace('STRING string_end')
848
848
  completed = @string_opened && @string_closed
849
849
  chars = data[p_start...p_end]
850
- ast_node = string(utf8_string(chars), complete: true)
850
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
851
851
  @buffers[:string] = ast_node
852
852
  end
853
853
  when 14 then
@@ -856,7 +856,7 @@ begin
856
856
  trace('STRING a_string_err')
857
857
  p_end = p
858
858
  chars = data[p_start...p_end]
859
- ast_node = string(utf8_string(chars), complete: false)
859
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
860
860
  @buffers[:string] = ast_node
861
861
  end
862
862
  begin
@@ -864,7 +864,7 @@ begin
864
864
  trace('IDENTIFIER an_ident_err')
865
865
  id_end = p
866
866
  chars = data[id_start...id_end]
867
- ast_node = identifier(utf8_string(chars), complete: false)
867
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
868
868
  @buffers[:ident] = ast_node
869
869
  end
870
870
  when 16 then
@@ -898,7 +898,7 @@ begin
898
898
  trace('STRING string_end')
899
899
  completed = @string_opened && @string_closed
900
900
  chars = data[p_start...p_end]
901
- ast_node = string(utf8_string(chars), complete: true)
901
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
902
902
  @buffers[:string] = ast_node
903
903
  end
904
904
  when 30 then
@@ -913,7 +913,7 @@ begin
913
913
  trace('STRING string_end')
914
914
  completed = @string_opened && @string_closed
915
915
  chars = data[p_start...p_end]
916
- ast_node = string(utf8_string(chars), complete: true)
916
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
917
917
  @buffers[:string] = ast_node
918
918
  end
919
919
  begin
@@ -982,7 +982,7 @@ begin
982
982
  trace('STRING string_end')
983
983
  completed = @string_opened && @string_closed
984
984
  chars = data[p_start...p_end]
985
- ast_node = string(utf8_string(chars), complete: true)
985
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
986
986
  @buffers[:string] = ast_node
987
987
  end
988
988
  begin
@@ -1075,7 +1075,7 @@ begin
1075
1075
  trace('STRING a_string_err')
1076
1076
  p_end = p
1077
1077
  chars = data[p_start...p_end]
1078
- ast_node = string(utf8_string(chars), complete: false)
1078
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1079
1079
  @buffers[:string] = ast_node
1080
1080
  end
1081
1081
  when 34 then
@@ -1085,7 +1085,7 @@ begin
1085
1085
  id_end = p
1086
1086
  chars = data[id_start...id_end]
1087
1087
  completed = !chars.empty?
1088
- ast_node = identifier(utf8_string(chars), complete: completed)
1088
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1089
1089
  @buffers[:ident] = ast_node
1090
1090
  end
1091
1091
  begin
@@ -1101,7 +1101,7 @@ begin
1101
1101
  id_end = p
1102
1102
  chars = data[id_start...id_end]
1103
1103
  completed = !chars.empty?
1104
- ast_node = identifier(utf8_string(chars), complete: completed)
1104
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1105
1105
  @buffers[:ident] = ast_node
1106
1106
  end
1107
1107
  end
@@ -1110,7 +1110,7 @@ begin
1110
1110
  trace('IDENTIFIER an_ident_err')
1111
1111
  id_end = p
1112
1112
  chars = data[id_start...id_end]
1113
- ast_node = identifier(utf8_string(chars), complete: false)
1113
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
1114
1114
  @buffers[:ident] = ast_node
1115
1115
  end
1116
1116
  when 31 then
@@ -1119,7 +1119,7 @@ begin
1119
1119
  trace('STRING a_string_err')
1120
1120
  p_end = p
1121
1121
  chars = data[p_start...p_end]
1122
- ast_node = string(utf8_string(chars), complete: false)
1122
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1123
1123
  @buffers[:string] = ast_node
1124
1124
  end
1125
1125
  begin
@@ -1138,7 +1138,7 @@ begin
1138
1138
  trace('STRING a_string_err')
1139
1139
  p_end = p
1140
1140
  chars = data[p_start...p_end]
1141
- ast_node = string(utf8_string(chars), complete: false)
1141
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1142
1142
  @buffers[:string] = ast_node
1143
1143
  end
1144
1144
  begin
@@ -1178,7 +1178,7 @@ begin
1178
1178
  trace('STRING string_node_err')
1179
1179
  p_end = p
1180
1180
  chars = data[p_start...p_end]
1181
- ast_node = string(utf8_string(chars), complete: false)
1181
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1182
1182
  yield ast_node
1183
1183
  end
1184
1184
  begin
@@ -1263,7 +1263,7 @@ begin
1263
1263
  trace('STRING eof_string')
1264
1264
  p_end = p
1265
1265
  chars = data[p_start...p_end]
1266
- ast_node = string(utf8_string(chars), complete: false)
1266
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1267
1267
  @buffers[:string] = ast_node
1268
1268
  end
1269
1269
  begin
@@ -1271,7 +1271,7 @@ begin
1271
1271
  trace('STRING a_string_err')
1272
1272
  p_end = p
1273
1273
  chars = data[p_start...p_end]
1274
- ast_node = string(utf8_string(chars), complete: false)
1274
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1275
1275
  @buffers[:string] = ast_node
1276
1276
  end
1277
1277
  begin
@@ -1290,7 +1290,7 @@ begin
1290
1290
  trace('STRING eof_string')
1291
1291
  p_end = p
1292
1292
  chars = data[p_start...p_end]
1293
- ast_node = string(utf8_string(chars), complete: false)
1293
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1294
1294
  @buffers[:string] = ast_node
1295
1295
  end
1296
1296
  begin
@@ -1298,7 +1298,7 @@ begin
1298
1298
  trace('STRING a_string_err')
1299
1299
  p_end = p
1300
1300
  chars = data[p_start...p_end]
1301
- ast_node = string(utf8_string(chars), complete: false)
1301
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1302
1302
  @buffers[:string] = ast_node
1303
1303
  end
1304
1304
  begin
@@ -1338,7 +1338,7 @@ begin
1338
1338
  trace('STRING eof_string')
1339
1339
  p_end = p
1340
1340
  chars = data[p_start...p_end]
1341
- ast_node = string(utf8_string(chars), complete: false)
1341
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1342
1342
  @buffers[:string] = ast_node
1343
1343
  end
1344
1344
  begin
@@ -1346,7 +1346,7 @@ begin
1346
1346
  trace('STRING string_node_err')
1347
1347
  p_end = p
1348
1348
  chars = data[p_start...p_end]
1349
- ast_node = string(utf8_string(chars), complete: false)
1349
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1350
1350
  yield ast_node
1351
1351
  end
1352
1352
  begin
@@ -1360,7 +1360,7 @@ begin
1360
1360
  trace('STRING a_string_err')
1361
1361
  p_end = p
1362
1362
  chars = data[p_start...p_end]
1363
- ast_node = string(utf8_string(chars), complete: false)
1363
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1364
1364
  @buffers[:string] = ast_node
1365
1365
  end
1366
1366
  begin
@@ -1499,7 +1499,7 @@ begin
1499
1499
  id_end = p
1500
1500
  chars = data[id_start...id_end]
1501
1501
  completed = !chars.empty?
1502
- ast_node = identifier(utf8_string(chars), complete: completed)
1502
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1503
1503
  @buffers[:ident] = ast_node
1504
1504
  end
1505
1505
  end
@@ -1508,7 +1508,7 @@ begin
1508
1508
  trace('IDENTIFIER an_ident_err')
1509
1509
  id_end = p
1510
1510
  chars = data[id_start...id_end]
1511
- ast_node = identifier(utf8_string(chars), complete: false)
1511
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
1512
1512
  @buffers[:ident] = ast_node
1513
1513
  end
1514
1514
  begin
@@ -1571,7 +1571,7 @@ begin
1571
1571
  id_end = p
1572
1572
  chars = data[id_start...id_end]
1573
1573
  completed = !chars.empty?
1574
- ast_node = identifier(utf8_string(chars), complete: completed)
1574
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1575
1575
  @buffers[:ident] = ast_node
1576
1576
  end
1577
1577
  end
@@ -1608,7 +1608,7 @@ begin
1608
1608
  trace('STRING a_string_err')
1609
1609
  p_end = p
1610
1610
  chars = data[p_start...p_end]
1611
- ast_node = string(utf8_string(chars), complete: false)
1611
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1612
1612
  @buffers[:string] = ast_node
1613
1613
  end
1614
1614
  begin
@@ -1618,7 +1618,7 @@ begin
1618
1618
  id_end = p
1619
1619
  chars = data[id_start...id_end]
1620
1620
  completed = !chars.empty?
1621
- ast_node = identifier(utf8_string(chars), complete: completed)
1621
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1622
1622
  @buffers[:ident] = ast_node
1623
1623
  end
1624
1624
  end
@@ -1627,7 +1627,7 @@ begin
1627
1627
  trace('IDENTIFIER an_ident_err')
1628
1628
  id_end = p
1629
1629
  chars = data[id_start...id_end]
1630
- ast_node = identifier(utf8_string(chars), complete: false)
1630
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
1631
1631
  @buffers[:ident] = ast_node
1632
1632
  end
1633
1633
  begin
@@ -1646,7 +1646,7 @@ begin
1646
1646
  trace('STRING a_string_err')
1647
1647
  p_end = p
1648
1648
  chars = data[p_start...p_end]
1649
- ast_node = string(utf8_string(chars), complete: false)
1649
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1650
1650
  @buffers[:string] = ast_node
1651
1651
  end
1652
1652
  begin
@@ -1656,7 +1656,7 @@ begin
1656
1656
  id_end = p
1657
1657
  chars = data[id_start...id_end]
1658
1658
  completed = !chars.empty?
1659
- ast_node = identifier(utf8_string(chars), complete: completed)
1659
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1660
1660
  @buffers[:ident] = ast_node
1661
1661
  end
1662
1662
  end
@@ -1665,7 +1665,7 @@ begin
1665
1665
  trace('IDENTIFIER an_ident_err')
1666
1666
  id_end = p
1667
1667
  chars = data[id_start...id_end]
1668
- ast_node = identifier(utf8_string(chars), complete: false)
1668
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
1669
1669
  @buffers[:ident] = ast_node
1670
1670
  end
1671
1671
  begin
@@ -1713,7 +1713,7 @@ begin
1713
1713
  id_end = p
1714
1714
  chars = data[id_start...id_end]
1715
1715
  completed = !chars.empty?
1716
- ast_node = identifier(utf8_string(chars), complete: completed)
1716
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1717
1717
  @buffers[:ident] = ast_node
1718
1718
  end
1719
1719
  end
@@ -1741,7 +1741,7 @@ begin
1741
1741
  id_end = p
1742
1742
  chars = data[id_start...id_end]
1743
1743
  completed = !chars.empty?
1744
- ast_node = identifier(utf8_string(chars), complete: completed)
1744
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1745
1745
  @buffers[:ident] = ast_node
1746
1746
  end
1747
1747
  begin
@@ -1751,7 +1751,7 @@ begin
1751
1751
  id_end = p
1752
1752
  chars = data[id_start...id_end]
1753
1753
  completed = !chars.empty?
1754
- ast_node = identifier(utf8_string(chars), complete: completed)
1754
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1755
1755
  @buffers[:ident] = ast_node
1756
1756
  end
1757
1757
  end
@@ -2498,7 +2498,7 @@ begin
2498
2498
  id_end = p
2499
2499
  chars = data[id_start...id_end]
2500
2500
  completed = !chars.empty?
2501
- ast_node = identifier(utf8_string(chars), complete: completed)
2501
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
2502
2502
  @buffers[:ident] = ast_node
2503
2503
  end
2504
2504
  when 2 then
@@ -2507,7 +2507,7 @@ begin
2507
2507
  trace('IDENTIFIER an_ident_err')
2508
2508
  id_end = p
2509
2509
  chars = data[id_start...id_end]
2510
- ast_node = identifier(utf8_string(chars), complete: false)
2510
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
2511
2511
  @buffers[:ident] = ast_node
2512
2512
  end
2513
2513
  when 35 then
@@ -2516,7 +2516,7 @@ begin
2516
2516
  trace('IDENTIFIER ident_node_err')
2517
2517
  id_end = p
2518
2518
  chars = data[id_start...id_end]
2519
- ast_node = identifier(utf8_string(chars), complete: false)
2519
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
2520
2520
  yield ast_node
2521
2521
  end
2522
2522
  when 9 then
@@ -2532,7 +2532,7 @@ begin
2532
2532
  trace('STRING a_string_err')
2533
2533
  p_end = p
2534
2534
  chars = data[p_start...p_end]
2535
- ast_node = string(utf8_string(chars), complete: false)
2535
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2536
2536
  @buffers[:string] = ast_node
2537
2537
  end
2538
2538
  when 27 then
@@ -2541,7 +2541,7 @@ begin
2541
2541
  trace('STRING string_node_err')
2542
2542
  p_end = p
2543
2543
  chars = data[p_start...p_end]
2544
- ast_node = string(utf8_string(chars), complete: false)
2544
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2545
2545
  yield ast_node
2546
2546
  end
2547
2547
  when 15 then
@@ -2596,7 +2596,7 @@ begin
2596
2596
  id_end = p
2597
2597
  chars = data[id_start...id_end]
2598
2598
  completed = !chars.empty?
2599
- ast_node = identifier(utf8_string(chars), complete: completed)
2599
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
2600
2600
  @buffers[:ident] = ast_node
2601
2601
  end
2602
2602
  begin
@@ -2613,7 +2613,7 @@ begin
2613
2613
  id_end = p
2614
2614
  chars = data[id_start...id_end]
2615
2615
  completed = !chars.empty?
2616
- ast_node = identifier(utf8_string(chars), complete: completed)
2616
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
2617
2617
  @buffers[:ident] = ast_node
2618
2618
  end
2619
2619
  begin
@@ -2634,7 +2634,7 @@ begin
2634
2634
  trace('STRING string_end')
2635
2635
  completed = @string_opened && @string_closed
2636
2636
  chars = data[p_start...p_end]
2637
- ast_node = string(utf8_string(chars), complete: true)
2637
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
2638
2638
  @buffers[:string] = ast_node
2639
2639
  end
2640
2640
  when 14 then
@@ -2643,7 +2643,7 @@ begin
2643
2643
  trace('STRING a_string_err')
2644
2644
  p_end = p
2645
2645
  chars = data[p_start...p_end]
2646
- ast_node = string(utf8_string(chars), complete: false)
2646
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2647
2647
  @buffers[:string] = ast_node
2648
2648
  end
2649
2649
  begin
@@ -2651,7 +2651,7 @@ begin
2651
2651
  trace('IDENTIFIER an_ident_err')
2652
2652
  id_end = p
2653
2653
  chars = data[id_start...id_end]
2654
- ast_node = identifier(utf8_string(chars), complete: false)
2654
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
2655
2655
  @buffers[:ident] = ast_node
2656
2656
  end
2657
2657
  when 16 then
@@ -2685,7 +2685,7 @@ begin
2685
2685
  trace('STRING string_end')
2686
2686
  completed = @string_opened && @string_closed
2687
2687
  chars = data[p_start...p_end]
2688
- ast_node = string(utf8_string(chars), complete: true)
2688
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
2689
2689
  @buffers[:string] = ast_node
2690
2690
  end
2691
2691
  when 30 then
@@ -2700,7 +2700,7 @@ begin
2700
2700
  trace('STRING string_end')
2701
2701
  completed = @string_opened && @string_closed
2702
2702
  chars = data[p_start...p_end]
2703
- ast_node = string(utf8_string(chars), complete: true)
2703
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
2704
2704
  @buffers[:string] = ast_node
2705
2705
  end
2706
2706
  begin
@@ -2769,7 +2769,7 @@ begin
2769
2769
  trace('STRING string_end')
2770
2770
  completed = @string_opened && @string_closed
2771
2771
  chars = data[p_start...p_end]
2772
- ast_node = string(utf8_string(chars), complete: true)
2772
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
2773
2773
  @buffers[:string] = ast_node
2774
2774
  end
2775
2775
  begin
@@ -2862,7 +2862,7 @@ begin
2862
2862
  trace('STRING a_string_err')
2863
2863
  p_end = p
2864
2864
  chars = data[p_start...p_end]
2865
- ast_node = string(utf8_string(chars), complete: false)
2865
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2866
2866
  @buffers[:string] = ast_node
2867
2867
  end
2868
2868
  when 34 then
@@ -2872,7 +2872,7 @@ begin
2872
2872
  id_end = p
2873
2873
  chars = data[id_start...id_end]
2874
2874
  completed = !chars.empty?
2875
- ast_node = identifier(utf8_string(chars), complete: completed)
2875
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
2876
2876
  @buffers[:ident] = ast_node
2877
2877
  end
2878
2878
  begin
@@ -2888,7 +2888,7 @@ begin
2888
2888
  id_end = p
2889
2889
  chars = data[id_start...id_end]
2890
2890
  completed = !chars.empty?
2891
- ast_node = identifier(utf8_string(chars), complete: completed)
2891
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
2892
2892
  @buffers[:ident] = ast_node
2893
2893
  end
2894
2894
  end
@@ -2897,7 +2897,7 @@ begin
2897
2897
  trace('IDENTIFIER an_ident_err')
2898
2898
  id_end = p
2899
2899
  chars = data[id_start...id_end]
2900
- ast_node = identifier(utf8_string(chars), complete: false)
2900
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
2901
2901
  @buffers[:ident] = ast_node
2902
2902
  end
2903
2903
  when 31 then
@@ -2906,7 +2906,7 @@ begin
2906
2906
  trace('STRING a_string_err')
2907
2907
  p_end = p
2908
2908
  chars = data[p_start...p_end]
2909
- ast_node = string(utf8_string(chars), complete: false)
2909
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2910
2910
  @buffers[:string] = ast_node
2911
2911
  end
2912
2912
  begin
@@ -2925,7 +2925,7 @@ begin
2925
2925
  trace('STRING a_string_err')
2926
2926
  p_end = p
2927
2927
  chars = data[p_start...p_end]
2928
- ast_node = string(utf8_string(chars), complete: false)
2928
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2929
2929
  @buffers[:string] = ast_node
2930
2930
  end
2931
2931
  begin
@@ -2965,7 +2965,7 @@ begin
2965
2965
  trace('STRING string_node_err')
2966
2966
  p_end = p
2967
2967
  chars = data[p_start...p_end]
2968
- ast_node = string(utf8_string(chars), complete: false)
2968
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2969
2969
  yield ast_node
2970
2970
  end
2971
2971
  begin
@@ -3050,7 +3050,7 @@ begin
3050
3050
  trace('STRING eof_string')
3051
3051
  p_end = p
3052
3052
  chars = data[p_start...p_end]
3053
- ast_node = string(utf8_string(chars), complete: false)
3053
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3054
3054
  @buffers[:string] = ast_node
3055
3055
  end
3056
3056
  begin
@@ -3058,7 +3058,7 @@ begin
3058
3058
  trace('STRING a_string_err')
3059
3059
  p_end = p
3060
3060
  chars = data[p_start...p_end]
3061
- ast_node = string(utf8_string(chars), complete: false)
3061
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3062
3062
  @buffers[:string] = ast_node
3063
3063
  end
3064
3064
  begin
@@ -3077,7 +3077,7 @@ begin
3077
3077
  trace('STRING eof_string')
3078
3078
  p_end = p
3079
3079
  chars = data[p_start...p_end]
3080
- ast_node = string(utf8_string(chars), complete: false)
3080
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3081
3081
  @buffers[:string] = ast_node
3082
3082
  end
3083
3083
  begin
@@ -3085,7 +3085,7 @@ begin
3085
3085
  trace('STRING a_string_err')
3086
3086
  p_end = p
3087
3087
  chars = data[p_start...p_end]
3088
- ast_node = string(utf8_string(chars), complete: false)
3088
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3089
3089
  @buffers[:string] = ast_node
3090
3090
  end
3091
3091
  begin
@@ -3125,7 +3125,7 @@ begin
3125
3125
  trace('STRING eof_string')
3126
3126
  p_end = p
3127
3127
  chars = data[p_start...p_end]
3128
- ast_node = string(utf8_string(chars), complete: false)
3128
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3129
3129
  @buffers[:string] = ast_node
3130
3130
  end
3131
3131
  begin
@@ -3133,7 +3133,7 @@ begin
3133
3133
  trace('STRING string_node_err')
3134
3134
  p_end = p
3135
3135
  chars = data[p_start...p_end]
3136
- ast_node = string(utf8_string(chars), complete: false)
3136
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3137
3137
  yield ast_node
3138
3138
  end
3139
3139
  begin
@@ -3147,7 +3147,7 @@ begin
3147
3147
  trace('STRING a_string_err')
3148
3148
  p_end = p
3149
3149
  chars = data[p_start...p_end]
3150
- ast_node = string(utf8_string(chars), complete: false)
3150
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3151
3151
  @buffers[:string] = ast_node
3152
3152
  end
3153
3153
  begin
@@ -3286,7 +3286,7 @@ begin
3286
3286
  id_end = p
3287
3287
  chars = data[id_start...id_end]
3288
3288
  completed = !chars.empty?
3289
- ast_node = identifier(utf8_string(chars), complete: completed)
3289
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3290
3290
  @buffers[:ident] = ast_node
3291
3291
  end
3292
3292
  end
@@ -3295,7 +3295,7 @@ begin
3295
3295
  trace('IDENTIFIER an_ident_err')
3296
3296
  id_end = p
3297
3297
  chars = data[id_start...id_end]
3298
- ast_node = identifier(utf8_string(chars), complete: false)
3298
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
3299
3299
  @buffers[:ident] = ast_node
3300
3300
  end
3301
3301
  begin
@@ -3358,7 +3358,7 @@ begin
3358
3358
  id_end = p
3359
3359
  chars = data[id_start...id_end]
3360
3360
  completed = !chars.empty?
3361
- ast_node = identifier(utf8_string(chars), complete: completed)
3361
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3362
3362
  @buffers[:ident] = ast_node
3363
3363
  end
3364
3364
  end
@@ -3395,7 +3395,7 @@ begin
3395
3395
  trace('STRING a_string_err')
3396
3396
  p_end = p
3397
3397
  chars = data[p_start...p_end]
3398
- ast_node = string(utf8_string(chars), complete: false)
3398
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3399
3399
  @buffers[:string] = ast_node
3400
3400
  end
3401
3401
  begin
@@ -3405,7 +3405,7 @@ begin
3405
3405
  id_end = p
3406
3406
  chars = data[id_start...id_end]
3407
3407
  completed = !chars.empty?
3408
- ast_node = identifier(utf8_string(chars), complete: completed)
3408
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3409
3409
  @buffers[:ident] = ast_node
3410
3410
  end
3411
3411
  end
@@ -3414,7 +3414,7 @@ begin
3414
3414
  trace('IDENTIFIER an_ident_err')
3415
3415
  id_end = p
3416
3416
  chars = data[id_start...id_end]
3417
- ast_node = identifier(utf8_string(chars), complete: false)
3417
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
3418
3418
  @buffers[:ident] = ast_node
3419
3419
  end
3420
3420
  begin
@@ -3433,7 +3433,7 @@ begin
3433
3433
  trace('STRING a_string_err')
3434
3434
  p_end = p
3435
3435
  chars = data[p_start...p_end]
3436
- ast_node = string(utf8_string(chars), complete: false)
3436
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3437
3437
  @buffers[:string] = ast_node
3438
3438
  end
3439
3439
  begin
@@ -3443,7 +3443,7 @@ begin
3443
3443
  id_end = p
3444
3444
  chars = data[id_start...id_end]
3445
3445
  completed = !chars.empty?
3446
- ast_node = identifier(utf8_string(chars), complete: completed)
3446
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3447
3447
  @buffers[:ident] = ast_node
3448
3448
  end
3449
3449
  end
@@ -3452,7 +3452,7 @@ begin
3452
3452
  trace('IDENTIFIER an_ident_err')
3453
3453
  id_end = p
3454
3454
  chars = data[id_start...id_end]
3455
- ast_node = identifier(utf8_string(chars), complete: false)
3455
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
3456
3456
  @buffers[:ident] = ast_node
3457
3457
  end
3458
3458
  begin
@@ -3500,7 +3500,7 @@ begin
3500
3500
  id_end = p
3501
3501
  chars = data[id_start...id_end]
3502
3502
  completed = !chars.empty?
3503
- ast_node = identifier(utf8_string(chars), complete: completed)
3503
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3504
3504
  @buffers[:ident] = ast_node
3505
3505
  end
3506
3506
  end
@@ -3528,7 +3528,7 @@ begin
3528
3528
  id_end = p
3529
3529
  chars = data[id_start...id_end]
3530
3530
  completed = !chars.empty?
3531
- ast_node = identifier(utf8_string(chars), complete: completed)
3531
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3532
3532
  @buffers[:ident] = ast_node
3533
3533
  end
3534
3534
  begin
@@ -3538,7 +3538,7 @@ begin
3538
3538
  id_end = p
3539
3539
  chars = data[id_start...id_end]
3540
3540
  completed = !chars.empty?
3541
- ast_node = identifier(utf8_string(chars), complete: completed)
3541
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3542
3542
  @buffers[:ident] = ast_node
3543
3543
  end
3544
3544
  end
@@ -4285,7 +4285,7 @@ begin
4285
4285
  id_end = p
4286
4286
  chars = data[id_start...id_end]
4287
4287
  completed = !chars.empty?
4288
- ast_node = identifier(utf8_string(chars), complete: completed)
4288
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
4289
4289
  @buffers[:ident] = ast_node
4290
4290
  end
4291
4291
  when 2 then
@@ -4294,7 +4294,7 @@ begin
4294
4294
  trace('IDENTIFIER an_ident_err')
4295
4295
  id_end = p
4296
4296
  chars = data[id_start...id_end]
4297
- ast_node = identifier(utf8_string(chars), complete: false)
4297
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
4298
4298
  @buffers[:ident] = ast_node
4299
4299
  end
4300
4300
  when 35 then
@@ -4303,7 +4303,7 @@ begin
4303
4303
  trace('IDENTIFIER ident_node_err')
4304
4304
  id_end = p
4305
4305
  chars = data[id_start...id_end]
4306
- ast_node = identifier(utf8_string(chars), complete: false)
4306
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
4307
4307
  yield ast_node
4308
4308
  end
4309
4309
  when 9 then
@@ -4319,7 +4319,7 @@ begin
4319
4319
  trace('STRING a_string_err')
4320
4320
  p_end = p
4321
4321
  chars = data[p_start...p_end]
4322
- ast_node = string(utf8_string(chars), complete: false)
4322
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4323
4323
  @buffers[:string] = ast_node
4324
4324
  end
4325
4325
  when 27 then
@@ -4328,7 +4328,7 @@ begin
4328
4328
  trace('STRING string_node_err')
4329
4329
  p_end = p
4330
4330
  chars = data[p_start...p_end]
4331
- ast_node = string(utf8_string(chars), complete: false)
4331
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4332
4332
  yield ast_node
4333
4333
  end
4334
4334
  when 15 then
@@ -4383,7 +4383,7 @@ begin
4383
4383
  id_end = p
4384
4384
  chars = data[id_start...id_end]
4385
4385
  completed = !chars.empty?
4386
- ast_node = identifier(utf8_string(chars), complete: completed)
4386
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
4387
4387
  @buffers[:ident] = ast_node
4388
4388
  end
4389
4389
  begin
@@ -4400,7 +4400,7 @@ begin
4400
4400
  id_end = p
4401
4401
  chars = data[id_start...id_end]
4402
4402
  completed = !chars.empty?
4403
- ast_node = identifier(utf8_string(chars), complete: completed)
4403
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
4404
4404
  @buffers[:ident] = ast_node
4405
4405
  end
4406
4406
  begin
@@ -4421,7 +4421,7 @@ begin
4421
4421
  trace('STRING string_end')
4422
4422
  completed = @string_opened && @string_closed
4423
4423
  chars = data[p_start...p_end]
4424
- ast_node = string(utf8_string(chars), complete: true)
4424
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
4425
4425
  @buffers[:string] = ast_node
4426
4426
  end
4427
4427
  when 14 then
@@ -4430,7 +4430,7 @@ begin
4430
4430
  trace('STRING a_string_err')
4431
4431
  p_end = p
4432
4432
  chars = data[p_start...p_end]
4433
- ast_node = string(utf8_string(chars), complete: false)
4433
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4434
4434
  @buffers[:string] = ast_node
4435
4435
  end
4436
4436
  begin
@@ -4438,7 +4438,7 @@ begin
4438
4438
  trace('IDENTIFIER an_ident_err')
4439
4439
  id_end = p
4440
4440
  chars = data[id_start...id_end]
4441
- ast_node = identifier(utf8_string(chars), complete: false)
4441
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
4442
4442
  @buffers[:ident] = ast_node
4443
4443
  end
4444
4444
  when 16 then
@@ -4472,7 +4472,7 @@ begin
4472
4472
  trace('STRING string_end')
4473
4473
  completed = @string_opened && @string_closed
4474
4474
  chars = data[p_start...p_end]
4475
- ast_node = string(utf8_string(chars), complete: true)
4475
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
4476
4476
  @buffers[:string] = ast_node
4477
4477
  end
4478
4478
  when 30 then
@@ -4487,7 +4487,7 @@ begin
4487
4487
  trace('STRING string_end')
4488
4488
  completed = @string_opened && @string_closed
4489
4489
  chars = data[p_start...p_end]
4490
- ast_node = string(utf8_string(chars), complete: true)
4490
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
4491
4491
  @buffers[:string] = ast_node
4492
4492
  end
4493
4493
  begin
@@ -4556,7 +4556,7 @@ begin
4556
4556
  trace('STRING string_end')
4557
4557
  completed = @string_opened && @string_closed
4558
4558
  chars = data[p_start...p_end]
4559
- ast_node = string(utf8_string(chars), complete: true)
4559
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
4560
4560
  @buffers[:string] = ast_node
4561
4561
  end
4562
4562
  begin
@@ -4649,7 +4649,7 @@ begin
4649
4649
  trace('STRING a_string_err')
4650
4650
  p_end = p
4651
4651
  chars = data[p_start...p_end]
4652
- ast_node = string(utf8_string(chars), complete: false)
4652
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4653
4653
  @buffers[:string] = ast_node
4654
4654
  end
4655
4655
  when 34 then
@@ -4659,7 +4659,7 @@ begin
4659
4659
  id_end = p
4660
4660
  chars = data[id_start...id_end]
4661
4661
  completed = !chars.empty?
4662
- ast_node = identifier(utf8_string(chars), complete: completed)
4662
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
4663
4663
  @buffers[:ident] = ast_node
4664
4664
  end
4665
4665
  begin
@@ -4675,7 +4675,7 @@ begin
4675
4675
  id_end = p
4676
4676
  chars = data[id_start...id_end]
4677
4677
  completed = !chars.empty?
4678
- ast_node = identifier(utf8_string(chars), complete: completed)
4678
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
4679
4679
  @buffers[:ident] = ast_node
4680
4680
  end
4681
4681
  end
@@ -4684,7 +4684,7 @@ begin
4684
4684
  trace('IDENTIFIER an_ident_err')
4685
4685
  id_end = p
4686
4686
  chars = data[id_start...id_end]
4687
- ast_node = identifier(utf8_string(chars), complete: false)
4687
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
4688
4688
  @buffers[:ident] = ast_node
4689
4689
  end
4690
4690
  when 31 then
@@ -4693,7 +4693,7 @@ begin
4693
4693
  trace('STRING a_string_err')
4694
4694
  p_end = p
4695
4695
  chars = data[p_start...p_end]
4696
- ast_node = string(utf8_string(chars), complete: false)
4696
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4697
4697
  @buffers[:string] = ast_node
4698
4698
  end
4699
4699
  begin
@@ -4712,7 +4712,7 @@ begin
4712
4712
  trace('STRING a_string_err')
4713
4713
  p_end = p
4714
4714
  chars = data[p_start...p_end]
4715
- ast_node = string(utf8_string(chars), complete: false)
4715
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4716
4716
  @buffers[:string] = ast_node
4717
4717
  end
4718
4718
  begin
@@ -4752,7 +4752,7 @@ begin
4752
4752
  trace('STRING string_node_err')
4753
4753
  p_end = p
4754
4754
  chars = data[p_start...p_end]
4755
- ast_node = string(utf8_string(chars), complete: false)
4755
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4756
4756
  yield ast_node
4757
4757
  end
4758
4758
  begin
@@ -4837,7 +4837,7 @@ begin
4837
4837
  trace('STRING eof_string')
4838
4838
  p_end = p
4839
4839
  chars = data[p_start...p_end]
4840
- ast_node = string(utf8_string(chars), complete: false)
4840
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4841
4841
  @buffers[:string] = ast_node
4842
4842
  end
4843
4843
  begin
@@ -4845,7 +4845,7 @@ begin
4845
4845
  trace('STRING a_string_err')
4846
4846
  p_end = p
4847
4847
  chars = data[p_start...p_end]
4848
- ast_node = string(utf8_string(chars), complete: false)
4848
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4849
4849
  @buffers[:string] = ast_node
4850
4850
  end
4851
4851
  begin
@@ -4864,7 +4864,7 @@ begin
4864
4864
  trace('STRING eof_string')
4865
4865
  p_end = p
4866
4866
  chars = data[p_start...p_end]
4867
- ast_node = string(utf8_string(chars), complete: false)
4867
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4868
4868
  @buffers[:string] = ast_node
4869
4869
  end
4870
4870
  begin
@@ -4872,7 +4872,7 @@ begin
4872
4872
  trace('STRING a_string_err')
4873
4873
  p_end = p
4874
4874
  chars = data[p_start...p_end]
4875
- ast_node = string(utf8_string(chars), complete: false)
4875
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4876
4876
  @buffers[:string] = ast_node
4877
4877
  end
4878
4878
  begin
@@ -4912,7 +4912,7 @@ begin
4912
4912
  trace('STRING eof_string')
4913
4913
  p_end = p
4914
4914
  chars = data[p_start...p_end]
4915
- ast_node = string(utf8_string(chars), complete: false)
4915
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4916
4916
  @buffers[:string] = ast_node
4917
4917
  end
4918
4918
  begin
@@ -4920,7 +4920,7 @@ begin
4920
4920
  trace('STRING string_node_err')
4921
4921
  p_end = p
4922
4922
  chars = data[p_start...p_end]
4923
- ast_node = string(utf8_string(chars), complete: false)
4923
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4924
4924
  yield ast_node
4925
4925
  end
4926
4926
  begin
@@ -4934,7 +4934,7 @@ begin
4934
4934
  trace('STRING a_string_err')
4935
4935
  p_end = p
4936
4936
  chars = data[p_start...p_end]
4937
- ast_node = string(utf8_string(chars), complete: false)
4937
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4938
4938
  @buffers[:string] = ast_node
4939
4939
  end
4940
4940
  begin
@@ -5073,7 +5073,7 @@ begin
5073
5073
  id_end = p
5074
5074
  chars = data[id_start...id_end]
5075
5075
  completed = !chars.empty?
5076
- ast_node = identifier(utf8_string(chars), complete: completed)
5076
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
5077
5077
  @buffers[:ident] = ast_node
5078
5078
  end
5079
5079
  end
@@ -5082,7 +5082,7 @@ begin
5082
5082
  trace('IDENTIFIER an_ident_err')
5083
5083
  id_end = p
5084
5084
  chars = data[id_start...id_end]
5085
- ast_node = identifier(utf8_string(chars), complete: false)
5085
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
5086
5086
  @buffers[:ident] = ast_node
5087
5087
  end
5088
5088
  begin
@@ -5145,7 +5145,7 @@ begin
5145
5145
  id_end = p
5146
5146
  chars = data[id_start...id_end]
5147
5147
  completed = !chars.empty?
5148
- ast_node = identifier(utf8_string(chars), complete: completed)
5148
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
5149
5149
  @buffers[:ident] = ast_node
5150
5150
  end
5151
5151
  end
@@ -5182,7 +5182,7 @@ begin
5182
5182
  trace('STRING a_string_err')
5183
5183
  p_end = p
5184
5184
  chars = data[p_start...p_end]
5185
- ast_node = string(utf8_string(chars), complete: false)
5185
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
5186
5186
  @buffers[:string] = ast_node
5187
5187
  end
5188
5188
  begin
@@ -5192,7 +5192,7 @@ begin
5192
5192
  id_end = p
5193
5193
  chars = data[id_start...id_end]
5194
5194
  completed = !chars.empty?
5195
- ast_node = identifier(utf8_string(chars), complete: completed)
5195
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
5196
5196
  @buffers[:ident] = ast_node
5197
5197
  end
5198
5198
  end
@@ -5201,7 +5201,7 @@ begin
5201
5201
  trace('IDENTIFIER an_ident_err')
5202
5202
  id_end = p
5203
5203
  chars = data[id_start...id_end]
5204
- ast_node = identifier(utf8_string(chars), complete: false)
5204
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
5205
5205
  @buffers[:ident] = ast_node
5206
5206
  end
5207
5207
  begin
@@ -5220,7 +5220,7 @@ begin
5220
5220
  trace('STRING a_string_err')
5221
5221
  p_end = p
5222
5222
  chars = data[p_start...p_end]
5223
- ast_node = string(utf8_string(chars), complete: false)
5223
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
5224
5224
  @buffers[:string] = ast_node
5225
5225
  end
5226
5226
  begin
@@ -5230,7 +5230,7 @@ begin
5230
5230
  id_end = p
5231
5231
  chars = data[id_start...id_end]
5232
5232
  completed = !chars.empty?
5233
- ast_node = identifier(utf8_string(chars), complete: completed)
5233
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
5234
5234
  @buffers[:ident] = ast_node
5235
5235
  end
5236
5236
  end
@@ -5239,7 +5239,7 @@ begin
5239
5239
  trace('IDENTIFIER an_ident_err')
5240
5240
  id_end = p
5241
5241
  chars = data[id_start...id_end]
5242
- ast_node = identifier(utf8_string(chars), complete: false)
5242
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
5243
5243
  @buffers[:ident] = ast_node
5244
5244
  end
5245
5245
  begin
@@ -5287,7 +5287,7 @@ begin
5287
5287
  id_end = p
5288
5288
  chars = data[id_start...id_end]
5289
5289
  completed = !chars.empty?
5290
- ast_node = identifier(utf8_string(chars), complete: completed)
5290
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
5291
5291
  @buffers[:ident] = ast_node
5292
5292
  end
5293
5293
  end
@@ -5315,7 +5315,7 @@ begin
5315
5315
  id_end = p
5316
5316
  chars = data[id_start...id_end]
5317
5317
  completed = !chars.empty?
5318
- ast_node = identifier(utf8_string(chars), complete: completed)
5318
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
5319
5319
  @buffers[:ident] = ast_node
5320
5320
  end
5321
5321
  begin
@@ -5325,7 +5325,7 @@ begin
5325
5325
  id_end = p
5326
5326
  chars = data[id_start...id_end]
5327
5327
  completed = !chars.empty?
5328
- ast_node = identifier(utf8_string(chars), complete: completed)
5328
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
5329
5329
  @buffers[:ident] = ast_node
5330
5330
  end
5331
5331
  end
@@ -6128,7 +6128,7 @@ begin
6128
6128
  id_end = p
6129
6129
  chars = data[id_start...id_end]
6130
6130
  completed = !chars.empty?
6131
- ast_node = identifier(utf8_string(chars), complete: completed)
6131
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
6132
6132
  @buffers[:ident] = ast_node
6133
6133
  end
6134
6134
  when 2 then
@@ -6137,7 +6137,7 @@ begin
6137
6137
  trace('IDENTIFIER an_ident_err')
6138
6138
  id_end = p
6139
6139
  chars = data[id_start...id_end]
6140
- ast_node = identifier(utf8_string(chars), complete: false)
6140
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
6141
6141
  @buffers[:ident] = ast_node
6142
6142
  end
6143
6143
  when 35 then
@@ -6146,7 +6146,7 @@ begin
6146
6146
  trace('IDENTIFIER ident_node_err')
6147
6147
  id_end = p
6148
6148
  chars = data[id_start...id_end]
6149
- ast_node = identifier(utf8_string(chars), complete: false)
6149
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
6150
6150
  yield ast_node
6151
6151
  end
6152
6152
  when 9 then
@@ -6162,7 +6162,7 @@ begin
6162
6162
  trace('STRING a_string_err')
6163
6163
  p_end = p
6164
6164
  chars = data[p_start...p_end]
6165
- ast_node = string(utf8_string(chars), complete: false)
6165
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6166
6166
  @buffers[:string] = ast_node
6167
6167
  end
6168
6168
  when 27 then
@@ -6171,7 +6171,7 @@ begin
6171
6171
  trace('STRING string_node_err')
6172
6172
  p_end = p
6173
6173
  chars = data[p_start...p_end]
6174
- ast_node = string(utf8_string(chars), complete: false)
6174
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6175
6175
  yield ast_node
6176
6176
  end
6177
6177
  when 15 then
@@ -6226,7 +6226,7 @@ begin
6226
6226
  id_end = p
6227
6227
  chars = data[id_start...id_end]
6228
6228
  completed = !chars.empty?
6229
- ast_node = identifier(utf8_string(chars), complete: completed)
6229
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
6230
6230
  @buffers[:ident] = ast_node
6231
6231
  end
6232
6232
  begin
@@ -6243,7 +6243,7 @@ begin
6243
6243
  id_end = p
6244
6244
  chars = data[id_start...id_end]
6245
6245
  completed = !chars.empty?
6246
- ast_node = identifier(utf8_string(chars), complete: completed)
6246
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
6247
6247
  @buffers[:ident] = ast_node
6248
6248
  end
6249
6249
  begin
@@ -6264,7 +6264,7 @@ begin
6264
6264
  trace('STRING string_end')
6265
6265
  completed = @string_opened && @string_closed
6266
6266
  chars = data[p_start...p_end]
6267
- ast_node = string(utf8_string(chars), complete: true)
6267
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
6268
6268
  @buffers[:string] = ast_node
6269
6269
  end
6270
6270
  when 14 then
@@ -6273,7 +6273,7 @@ begin
6273
6273
  trace('STRING a_string_err')
6274
6274
  p_end = p
6275
6275
  chars = data[p_start...p_end]
6276
- ast_node = string(utf8_string(chars), complete: false)
6276
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6277
6277
  @buffers[:string] = ast_node
6278
6278
  end
6279
6279
  begin
@@ -6281,7 +6281,7 @@ begin
6281
6281
  trace('IDENTIFIER an_ident_err')
6282
6282
  id_end = p
6283
6283
  chars = data[id_start...id_end]
6284
- ast_node = identifier(utf8_string(chars), complete: false)
6284
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
6285
6285
  @buffers[:ident] = ast_node
6286
6286
  end
6287
6287
  when 16 then
@@ -6315,7 +6315,7 @@ begin
6315
6315
  trace('STRING string_end')
6316
6316
  completed = @string_opened && @string_closed
6317
6317
  chars = data[p_start...p_end]
6318
- ast_node = string(utf8_string(chars), complete: true)
6318
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
6319
6319
  @buffers[:string] = ast_node
6320
6320
  end
6321
6321
  when 30 then
@@ -6330,7 +6330,7 @@ begin
6330
6330
  trace('STRING string_end')
6331
6331
  completed = @string_opened && @string_closed
6332
6332
  chars = data[p_start...p_end]
6333
- ast_node = string(utf8_string(chars), complete: true)
6333
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
6334
6334
  @buffers[:string] = ast_node
6335
6335
  end
6336
6336
  begin
@@ -6399,7 +6399,7 @@ begin
6399
6399
  trace('STRING string_end')
6400
6400
  completed = @string_opened && @string_closed
6401
6401
  chars = data[p_start...p_end]
6402
- ast_node = string(utf8_string(chars), complete: true)
6402
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
6403
6403
  @buffers[:string] = ast_node
6404
6404
  end
6405
6405
  begin
@@ -6492,7 +6492,7 @@ begin
6492
6492
  trace('STRING a_string_err')
6493
6493
  p_end = p
6494
6494
  chars = data[p_start...p_end]
6495
- ast_node = string(utf8_string(chars), complete: false)
6495
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6496
6496
  @buffers[:string] = ast_node
6497
6497
  end
6498
6498
  when 34 then
@@ -6502,7 +6502,7 @@ begin
6502
6502
  id_end = p
6503
6503
  chars = data[id_start...id_end]
6504
6504
  completed = !chars.empty?
6505
- ast_node = identifier(utf8_string(chars), complete: completed)
6505
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
6506
6506
  @buffers[:ident] = ast_node
6507
6507
  end
6508
6508
  begin
@@ -6518,7 +6518,7 @@ begin
6518
6518
  id_end = p
6519
6519
  chars = data[id_start...id_end]
6520
6520
  completed = !chars.empty?
6521
- ast_node = identifier(utf8_string(chars), complete: completed)
6521
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
6522
6522
  @buffers[:ident] = ast_node
6523
6523
  end
6524
6524
  end
@@ -6527,7 +6527,7 @@ begin
6527
6527
  trace('IDENTIFIER an_ident_err')
6528
6528
  id_end = p
6529
6529
  chars = data[id_start...id_end]
6530
- ast_node = identifier(utf8_string(chars), complete: false)
6530
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
6531
6531
  @buffers[:ident] = ast_node
6532
6532
  end
6533
6533
  when 31 then
@@ -6536,7 +6536,7 @@ begin
6536
6536
  trace('STRING a_string_err')
6537
6537
  p_end = p
6538
6538
  chars = data[p_start...p_end]
6539
- ast_node = string(utf8_string(chars), complete: false)
6539
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6540
6540
  @buffers[:string] = ast_node
6541
6541
  end
6542
6542
  begin
@@ -6555,7 +6555,7 @@ begin
6555
6555
  trace('STRING a_string_err')
6556
6556
  p_end = p
6557
6557
  chars = data[p_start...p_end]
6558
- ast_node = string(utf8_string(chars), complete: false)
6558
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6559
6559
  @buffers[:string] = ast_node
6560
6560
  end
6561
6561
  begin
@@ -6595,7 +6595,7 @@ begin
6595
6595
  trace('STRING string_node_err')
6596
6596
  p_end = p
6597
6597
  chars = data[p_start...p_end]
6598
- ast_node = string(utf8_string(chars), complete: false)
6598
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6599
6599
  yield ast_node
6600
6600
  end
6601
6601
  begin
@@ -6680,7 +6680,7 @@ begin
6680
6680
  trace('STRING eof_string')
6681
6681
  p_end = p
6682
6682
  chars = data[p_start...p_end]
6683
- ast_node = string(utf8_string(chars), complete: false)
6683
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6684
6684
  @buffers[:string] = ast_node
6685
6685
  end
6686
6686
  begin
@@ -6688,7 +6688,7 @@ begin
6688
6688
  trace('STRING a_string_err')
6689
6689
  p_end = p
6690
6690
  chars = data[p_start...p_end]
6691
- ast_node = string(utf8_string(chars), complete: false)
6691
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6692
6692
  @buffers[:string] = ast_node
6693
6693
  end
6694
6694
  begin
@@ -6707,7 +6707,7 @@ begin
6707
6707
  trace('STRING eof_string')
6708
6708
  p_end = p
6709
6709
  chars = data[p_start...p_end]
6710
- ast_node = string(utf8_string(chars), complete: false)
6710
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6711
6711
  @buffers[:string] = ast_node
6712
6712
  end
6713
6713
  begin
@@ -6715,7 +6715,7 @@ begin
6715
6715
  trace('STRING a_string_err')
6716
6716
  p_end = p
6717
6717
  chars = data[p_start...p_end]
6718
- ast_node = string(utf8_string(chars), complete: false)
6718
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6719
6719
  @buffers[:string] = ast_node
6720
6720
  end
6721
6721
  begin
@@ -6755,7 +6755,7 @@ begin
6755
6755
  trace('STRING eof_string')
6756
6756
  p_end = p
6757
6757
  chars = data[p_start...p_end]
6758
- ast_node = string(utf8_string(chars), complete: false)
6758
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6759
6759
  @buffers[:string] = ast_node
6760
6760
  end
6761
6761
  begin
@@ -6763,7 +6763,7 @@ begin
6763
6763
  trace('STRING string_node_err')
6764
6764
  p_end = p
6765
6765
  chars = data[p_start...p_end]
6766
- ast_node = string(utf8_string(chars), complete: false)
6766
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6767
6767
  yield ast_node
6768
6768
  end
6769
6769
  begin
@@ -6777,7 +6777,7 @@ begin
6777
6777
  trace('STRING a_string_err')
6778
6778
  p_end = p
6779
6779
  chars = data[p_start...p_end]
6780
- ast_node = string(utf8_string(chars), complete: false)
6780
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6781
6781
  @buffers[:string] = ast_node
6782
6782
  end
6783
6783
  begin
@@ -6916,7 +6916,7 @@ begin
6916
6916
  id_end = p
6917
6917
  chars = data[id_start...id_end]
6918
6918
  completed = !chars.empty?
6919
- ast_node = identifier(utf8_string(chars), complete: completed)
6919
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
6920
6920
  @buffers[:ident] = ast_node
6921
6921
  end
6922
6922
  end
@@ -6925,7 +6925,7 @@ begin
6925
6925
  trace('IDENTIFIER an_ident_err')
6926
6926
  id_end = p
6927
6927
  chars = data[id_start...id_end]
6928
- ast_node = identifier(utf8_string(chars), complete: false)
6928
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
6929
6929
  @buffers[:ident] = ast_node
6930
6930
  end
6931
6931
  begin
@@ -6988,7 +6988,7 @@ begin
6988
6988
  id_end = p
6989
6989
  chars = data[id_start...id_end]
6990
6990
  completed = !chars.empty?
6991
- ast_node = identifier(utf8_string(chars), complete: completed)
6991
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
6992
6992
  @buffers[:ident] = ast_node
6993
6993
  end
6994
6994
  end
@@ -7025,7 +7025,7 @@ begin
7025
7025
  trace('STRING a_string_err')
7026
7026
  p_end = p
7027
7027
  chars = data[p_start...p_end]
7028
- ast_node = string(utf8_string(chars), complete: false)
7028
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
7029
7029
  @buffers[:string] = ast_node
7030
7030
  end
7031
7031
  begin
@@ -7035,7 +7035,7 @@ begin
7035
7035
  id_end = p
7036
7036
  chars = data[id_start...id_end]
7037
7037
  completed = !chars.empty?
7038
- ast_node = identifier(utf8_string(chars), complete: completed)
7038
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
7039
7039
  @buffers[:ident] = ast_node
7040
7040
  end
7041
7041
  end
@@ -7044,7 +7044,7 @@ begin
7044
7044
  trace('IDENTIFIER an_ident_err')
7045
7045
  id_end = p
7046
7046
  chars = data[id_start...id_end]
7047
- ast_node = identifier(utf8_string(chars), complete: false)
7047
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
7048
7048
  @buffers[:ident] = ast_node
7049
7049
  end
7050
7050
  begin
@@ -7063,7 +7063,7 @@ begin
7063
7063
  trace('STRING a_string_err')
7064
7064
  p_end = p
7065
7065
  chars = data[p_start...p_end]
7066
- ast_node = string(utf8_string(chars), complete: false)
7066
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
7067
7067
  @buffers[:string] = ast_node
7068
7068
  end
7069
7069
  begin
@@ -7073,7 +7073,7 @@ begin
7073
7073
  id_end = p
7074
7074
  chars = data[id_start...id_end]
7075
7075
  completed = !chars.empty?
7076
- ast_node = identifier(utf8_string(chars), complete: completed)
7076
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
7077
7077
  @buffers[:ident] = ast_node
7078
7078
  end
7079
7079
  end
@@ -7082,7 +7082,7 @@ begin
7082
7082
  trace('IDENTIFIER an_ident_err')
7083
7083
  id_end = p
7084
7084
  chars = data[id_start...id_end]
7085
- ast_node = identifier(utf8_string(chars), complete: false)
7085
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
7086
7086
  @buffers[:ident] = ast_node
7087
7087
  end
7088
7088
  begin
@@ -7130,7 +7130,7 @@ begin
7130
7130
  id_end = p
7131
7131
  chars = data[id_start...id_end]
7132
7132
  completed = !chars.empty?
7133
- ast_node = identifier(utf8_string(chars), complete: completed)
7133
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
7134
7134
  @buffers[:ident] = ast_node
7135
7135
  end
7136
7136
  end
@@ -7158,7 +7158,7 @@ begin
7158
7158
  id_end = p
7159
7159
  chars = data[id_start...id_end]
7160
7160
  completed = !chars.empty?
7161
- ast_node = identifier(utf8_string(chars), complete: completed)
7161
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
7162
7162
  @buffers[:ident] = ast_node
7163
7163
  end
7164
7164
  begin
@@ -7168,7 +7168,7 @@ begin
7168
7168
  id_end = p
7169
7169
  chars = data[id_start...id_end]
7170
7170
  completed = !chars.empty?
7171
- ast_node = identifier(utf8_string(chars), complete: completed)
7171
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
7172
7172
  @buffers[:ident] = ast_node
7173
7173
  end
7174
7174
  end