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
@@ -642,7 +642,7 @@ begin
642
642
  id_end = p
643
643
  chars = data[id_start...id_end]
644
644
  completed = !chars.empty?
645
- ast_node = identifier(utf8_string(chars), complete: completed)
645
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
646
646
  @buffers[:ident] = ast_node
647
647
  end
648
648
  when 2 then
@@ -651,7 +651,7 @@ begin
651
651
  trace('IDENTIFIER an_ident_err')
652
652
  id_end = p
653
653
  chars = data[id_start...id_end]
654
- ast_node = identifier(utf8_string(chars), complete: false)
654
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
655
655
  @buffers[:ident] = ast_node
656
656
  end
657
657
  when 39 then
@@ -660,7 +660,7 @@ begin
660
660
  trace('IDENTIFIER ident_node_err')
661
661
  id_end = p
662
662
  chars = data[id_start...id_end]
663
- ast_node = identifier(utf8_string(chars), complete: false)
663
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
664
664
  yield ast_node
665
665
  end
666
666
  when 9 then
@@ -676,7 +676,7 @@ begin
676
676
  trace('STRING a_string_err')
677
677
  p_end = p
678
678
  chars = data[p_start...p_end]
679
- ast_node = string(utf8_string(chars), complete: false)
679
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
680
680
  @buffers[:string] = ast_node
681
681
  end
682
682
  when 22 then
@@ -685,7 +685,7 @@ begin
685
685
  trace('STRING string_node_err')
686
686
  p_end = p
687
687
  chars = data[p_start...p_end]
688
- ast_node = string(utf8_string(chars), complete: false)
688
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
689
689
  yield ast_node
690
690
  end
691
691
  when 14 then
@@ -716,7 +716,7 @@ begin
716
716
  id_end = p
717
717
  chars = data[id_start...id_end]
718
718
  completed = !chars.empty?
719
- ast_node = identifier(utf8_string(chars), complete: completed)
719
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
720
720
  @buffers[:ident] = ast_node
721
721
  end
722
722
  begin
@@ -733,7 +733,7 @@ begin
733
733
  id_end = p
734
734
  chars = data[id_start...id_end]
735
735
  completed = !chars.empty?
736
- ast_node = identifier(utf8_string(chars), complete: completed)
736
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
737
737
  @buffers[:ident] = ast_node
738
738
  end
739
739
  begin
@@ -748,7 +748,7 @@ begin
748
748
  trace('IDENTIFIER an_ident_err')
749
749
  id_end = p
750
750
  chars = data[id_start...id_end]
751
- ast_node = identifier(utf8_string(chars), complete: false)
751
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
752
752
  @buffers[:ident] = ast_node
753
753
  end
754
754
  begin
@@ -756,7 +756,7 @@ begin
756
756
  trace('STRING a_string_err')
757
757
  p_end = p
758
758
  chars = data[p_start...p_end]
759
- ast_node = string(utf8_string(chars), complete: false)
759
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
760
760
  @buffers[:string] = ast_node
761
761
  end
762
762
  when 11 then
@@ -771,7 +771,7 @@ begin
771
771
  trace('STRING string_end')
772
772
  completed = @string_opened && @string_closed
773
773
  chars = data[p_start...p_end]
774
- ast_node = string(utf8_string(chars), complete: true)
774
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
775
775
  @buffers[:string] = ast_node
776
776
  end
777
777
  when 13 then
@@ -780,7 +780,7 @@ begin
780
780
  trace('STRING a_string_err')
781
781
  p_end = p
782
782
  chars = data[p_start...p_end]
783
- ast_node = string(utf8_string(chars), complete: false)
783
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
784
784
  @buffers[:string] = ast_node
785
785
  end
786
786
  begin
@@ -788,7 +788,7 @@ begin
788
788
  trace('IDENTIFIER an_ident_err')
789
789
  id_end = p
790
790
  chars = data[id_start...id_end]
791
- ast_node = identifier(utf8_string(chars), complete: false)
791
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
792
792
  @buffers[:ident] = ast_node
793
793
  end
794
794
  when 15 then
@@ -852,7 +852,7 @@ begin
852
852
  trace('STRING string_end')
853
853
  completed = @string_opened && @string_closed
854
854
  chars = data[p_start...p_end]
855
- ast_node = string(utf8_string(chars), complete: true)
855
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
856
856
  @buffers[:string] = ast_node
857
857
  end
858
858
  when 25 then
@@ -867,7 +867,7 @@ begin
867
867
  trace('STRING string_end')
868
868
  completed = @string_opened && @string_closed
869
869
  chars = data[p_start...p_end]
870
- ast_node = string(utf8_string(chars), complete: true)
870
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
871
871
  @buffers[:string] = ast_node
872
872
  end
873
873
  begin
@@ -918,7 +918,7 @@ begin
918
918
  id_end = p
919
919
  chars = data[id_start...id_end]
920
920
  completed = !chars.empty?
921
- ast_node = identifier(utf8_string(chars), complete: completed)
921
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
922
922
  @buffers[:ident] = ast_node
923
923
  end
924
924
  begin
@@ -974,7 +974,7 @@ begin
974
974
  trace('STRING string_end')
975
975
  completed = @string_opened && @string_closed
976
976
  chars = data[p_start...p_end]
977
- ast_node = string(utf8_string(chars), complete: true)
977
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
978
978
  @buffers[:string] = ast_node
979
979
  end
980
980
  begin
@@ -1088,7 +1088,7 @@ begin
1088
1088
  id_end = p
1089
1089
  chars = data[id_start...id_end]
1090
1090
  completed = !chars.empty?
1091
- ast_node = identifier(utf8_string(chars), complete: completed)
1091
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1092
1092
  @buffers[:ident] = ast_node
1093
1093
  end
1094
1094
  begin
@@ -1104,7 +1104,7 @@ begin
1104
1104
  id_end = p
1105
1105
  chars = data[id_start...id_end]
1106
1106
  completed = !chars.empty?
1107
- ast_node = identifier(utf8_string(chars), complete: completed)
1107
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1108
1108
  @buffers[:ident] = ast_node
1109
1109
  end
1110
1110
  end
@@ -1113,7 +1113,7 @@ begin
1113
1113
  trace('IDENTIFIER an_ident_err')
1114
1114
  id_end = p
1115
1115
  chars = data[id_start...id_end]
1116
- ast_node = identifier(utf8_string(chars), complete: false)
1116
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
1117
1117
  @buffers[:ident] = ast_node
1118
1118
  end
1119
1119
  when 26 then
@@ -1122,7 +1122,7 @@ begin
1122
1122
  trace('STRING a_string_err')
1123
1123
  p_end = p
1124
1124
  chars = data[p_start...p_end]
1125
- ast_node = string(utf8_string(chars), complete: false)
1125
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1126
1126
  @buffers[:string] = ast_node
1127
1127
  end
1128
1128
  begin
@@ -1141,7 +1141,7 @@ begin
1141
1141
  trace('STRING a_string_err')
1142
1142
  p_end = p
1143
1143
  chars = data[p_start...p_end]
1144
- ast_node = string(utf8_string(chars), complete: false)
1144
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1145
1145
  @buffers[:string] = ast_node
1146
1146
  end
1147
1147
  begin
@@ -1172,7 +1172,7 @@ begin
1172
1172
  trace('STRING string_node_err')
1173
1173
  p_end = p
1174
1174
  chars = data[p_start...p_end]
1175
- ast_node = string(utf8_string(chars), complete: false)
1175
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1176
1176
  yield ast_node
1177
1177
  end
1178
1178
  begin
@@ -1250,7 +1250,7 @@ begin
1250
1250
  id_end = p
1251
1251
  chars = data[id_start...id_end]
1252
1252
  completed = !chars.empty?
1253
- ast_node = identifier(utf8_string(chars), complete: completed)
1253
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1254
1254
  @buffers[:ident] = ast_node
1255
1255
  end
1256
1256
  end
@@ -1259,7 +1259,7 @@ begin
1259
1259
  trace('IDENTIFIER an_ident_err')
1260
1260
  id_end = p
1261
1261
  chars = data[id_start...id_end]
1262
- ast_node = identifier(utf8_string(chars), complete: false)
1262
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
1263
1263
  @buffers[:ident] = ast_node
1264
1264
  end
1265
1265
  begin
@@ -1292,7 +1292,7 @@ begin
1292
1292
  id_end = p
1293
1293
  chars = data[id_start...id_end]
1294
1294
  completed = !chars.empty?
1295
- ast_node = identifier(utf8_string(chars), complete: completed)
1295
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1296
1296
  @buffers[:ident] = ast_node
1297
1297
  end
1298
1298
  end
@@ -1331,7 +1331,7 @@ begin
1331
1331
  trace('STRING eof_string')
1332
1332
  p_end = p
1333
1333
  chars = data[p_start...p_end]
1334
- ast_node = string(utf8_string(chars), complete: false)
1334
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1335
1335
  @buffers[:string] = ast_node
1336
1336
  end
1337
1337
  begin
@@ -1339,7 +1339,7 @@ begin
1339
1339
  trace('STRING a_string_err')
1340
1340
  p_end = p
1341
1341
  chars = data[p_start...p_end]
1342
- ast_node = string(utf8_string(chars), complete: false)
1342
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1343
1343
  @buffers[:string] = ast_node
1344
1344
  end
1345
1345
  begin
@@ -1358,7 +1358,7 @@ begin
1358
1358
  trace('STRING eof_string')
1359
1359
  p_end = p
1360
1360
  chars = data[p_start...p_end]
1361
- ast_node = string(utf8_string(chars), complete: false)
1361
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1362
1362
  @buffers[:string] = ast_node
1363
1363
  end
1364
1364
  begin
@@ -1366,7 +1366,7 @@ begin
1366
1366
  trace('STRING a_string_err')
1367
1367
  p_end = p
1368
1368
  chars = data[p_start...p_end]
1369
- ast_node = string(utf8_string(chars), complete: false)
1369
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1370
1370
  @buffers[:string] = ast_node
1371
1371
  end
1372
1372
  begin
@@ -1397,7 +1397,7 @@ begin
1397
1397
  trace('STRING eof_string')
1398
1398
  p_end = p
1399
1399
  chars = data[p_start...p_end]
1400
- ast_node = string(utf8_string(chars), complete: false)
1400
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1401
1401
  @buffers[:string] = ast_node
1402
1402
  end
1403
1403
  begin
@@ -1405,7 +1405,7 @@ begin
1405
1405
  trace('STRING string_node_err')
1406
1406
  p_end = p
1407
1407
  chars = data[p_start...p_end]
1408
- ast_node = string(utf8_string(chars), complete: false)
1408
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1409
1409
  yield ast_node
1410
1410
  end
1411
1411
  begin
@@ -1419,7 +1419,7 @@ begin
1419
1419
  trace('STRING a_string_err')
1420
1420
  p_end = p
1421
1421
  chars = data[p_start...p_end]
1422
- ast_node = string(utf8_string(chars), complete: false)
1422
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1423
1423
  @buffers[:string] = ast_node
1424
1424
  end
1425
1425
  begin
@@ -1585,7 +1585,7 @@ begin
1585
1585
  id_end = p
1586
1586
  chars = data[id_start...id_end]
1587
1587
  completed = !chars.empty?
1588
- ast_node = identifier(utf8_string(chars), complete: completed)
1588
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1589
1589
  @buffers[:ident] = ast_node
1590
1590
  end
1591
1591
  end
@@ -1594,7 +1594,7 @@ begin
1594
1594
  trace('IDENTIFIER an_ident_err')
1595
1595
  id_end = p
1596
1596
  chars = data[id_start...id_end]
1597
- ast_node = identifier(utf8_string(chars), complete: false)
1597
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
1598
1598
  @buffers[:ident] = ast_node
1599
1599
  end
1600
1600
  begin
@@ -1648,7 +1648,7 @@ begin
1648
1648
  id_end = p
1649
1649
  chars = data[id_start...id_end]
1650
1650
  completed = !chars.empty?
1651
- ast_node = identifier(utf8_string(chars), complete: completed)
1651
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1652
1652
  @buffers[:ident] = ast_node
1653
1653
  end
1654
1654
  end
@@ -1687,7 +1687,7 @@ begin
1687
1687
  id_end = p
1688
1688
  chars = data[id_start...id_end]
1689
1689
  completed = !chars.empty?
1690
- ast_node = identifier(utf8_string(chars), complete: completed)
1690
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1691
1691
  @buffers[:ident] = ast_node
1692
1692
  end
1693
1693
  end
@@ -1748,7 +1748,7 @@ begin
1748
1748
  trace('STRING a_string_err')
1749
1749
  p_end = p
1750
1750
  chars = data[p_start...p_end]
1751
- ast_node = string(utf8_string(chars), complete: false)
1751
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1752
1752
  @buffers[:string] = ast_node
1753
1753
  end
1754
1754
  begin
@@ -1758,7 +1758,7 @@ begin
1758
1758
  id_end = p
1759
1759
  chars = data[id_start...id_end]
1760
1760
  completed = !chars.empty?
1761
- ast_node = identifier(utf8_string(chars), complete: completed)
1761
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1762
1762
  @buffers[:ident] = ast_node
1763
1763
  end
1764
1764
  end
@@ -1767,7 +1767,7 @@ begin
1767
1767
  trace('IDENTIFIER an_ident_err')
1768
1768
  id_end = p
1769
1769
  chars = data[id_start...id_end]
1770
- ast_node = identifier(utf8_string(chars), complete: false)
1770
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
1771
1771
  @buffers[:ident] = ast_node
1772
1772
  end
1773
1773
  begin
@@ -1786,7 +1786,7 @@ begin
1786
1786
  trace('STRING a_string_err')
1787
1787
  p_end = p
1788
1788
  chars = data[p_start...p_end]
1789
- ast_node = string(utf8_string(chars), complete: false)
1789
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1790
1790
  @buffers[:string] = ast_node
1791
1791
  end
1792
1792
  begin
@@ -1796,7 +1796,7 @@ begin
1796
1796
  id_end = p
1797
1797
  chars = data[id_start...id_end]
1798
1798
  completed = !chars.empty?
1799
- ast_node = identifier(utf8_string(chars), complete: completed)
1799
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1800
1800
  @buffers[:ident] = ast_node
1801
1801
  end
1802
1802
  end
@@ -1805,7 +1805,7 @@ begin
1805
1805
  trace('IDENTIFIER an_ident_err')
1806
1806
  id_end = p
1807
1807
  chars = data[id_start...id_end]
1808
- ast_node = identifier(utf8_string(chars), complete: false)
1808
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
1809
1809
  @buffers[:ident] = ast_node
1810
1810
  end
1811
1811
  begin
@@ -1844,7 +1844,7 @@ begin
1844
1844
  id_end = p
1845
1845
  chars = data[id_start...id_end]
1846
1846
  completed = !chars.empty?
1847
- ast_node = identifier(utf8_string(chars), complete: completed)
1847
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1848
1848
  @buffers[:ident] = ast_node
1849
1849
  end
1850
1850
  end
@@ -1872,7 +1872,7 @@ begin
1872
1872
  id_end = p
1873
1873
  chars = data[id_start...id_end]
1874
1874
  completed = !chars.empty?
1875
- ast_node = identifier(utf8_string(chars), complete: completed)
1875
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1876
1876
  @buffers[:ident] = ast_node
1877
1877
  end
1878
1878
  begin
@@ -1882,7 +1882,7 @@ begin
1882
1882
  id_end = p
1883
1883
  chars = data[id_start...id_end]
1884
1884
  completed = !chars.empty?
1885
- ast_node = identifier(utf8_string(chars), complete: completed)
1885
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1886
1886
  @buffers[:ident] = ast_node
1887
1887
  end
1888
1888
  end
@@ -1917,7 +1917,7 @@ begin
1917
1917
  id_end = p
1918
1918
  chars = data[id_start...id_end]
1919
1919
  completed = !chars.empty?
1920
- ast_node = identifier(utf8_string(chars), complete: completed)
1920
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1921
1921
  @buffers[:ident] = ast_node
1922
1922
  end
1923
1923
  begin
@@ -1927,7 +1927,7 @@ begin
1927
1927
  id_end = p
1928
1928
  chars = data[id_start...id_end]
1929
1929
  completed = !chars.empty?
1930
- ast_node = identifier(utf8_string(chars), complete: completed)
1930
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1931
1931
  @buffers[:ident] = ast_node
1932
1932
  end
1933
1933
  end
@@ -2669,7 +2669,7 @@ begin
2669
2669
  id_end = p
2670
2670
  chars = data[id_start...id_end]
2671
2671
  completed = !chars.empty?
2672
- ast_node = identifier(utf8_string(chars), complete: completed)
2672
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
2673
2673
  @buffers[:ident] = ast_node
2674
2674
  end
2675
2675
  when 2 then
@@ -2678,7 +2678,7 @@ begin
2678
2678
  trace('IDENTIFIER an_ident_err')
2679
2679
  id_end = p
2680
2680
  chars = data[id_start...id_end]
2681
- ast_node = identifier(utf8_string(chars), complete: false)
2681
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
2682
2682
  @buffers[:ident] = ast_node
2683
2683
  end
2684
2684
  when 39 then
@@ -2687,7 +2687,7 @@ begin
2687
2687
  trace('IDENTIFIER ident_node_err')
2688
2688
  id_end = p
2689
2689
  chars = data[id_start...id_end]
2690
- ast_node = identifier(utf8_string(chars), complete: false)
2690
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
2691
2691
  yield ast_node
2692
2692
  end
2693
2693
  when 9 then
@@ -2703,7 +2703,7 @@ begin
2703
2703
  trace('STRING a_string_err')
2704
2704
  p_end = p
2705
2705
  chars = data[p_start...p_end]
2706
- ast_node = string(utf8_string(chars), complete: false)
2706
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2707
2707
  @buffers[:string] = ast_node
2708
2708
  end
2709
2709
  when 22 then
@@ -2712,7 +2712,7 @@ begin
2712
2712
  trace('STRING string_node_err')
2713
2713
  p_end = p
2714
2714
  chars = data[p_start...p_end]
2715
- ast_node = string(utf8_string(chars), complete: false)
2715
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2716
2716
  yield ast_node
2717
2717
  end
2718
2718
  when 14 then
@@ -2743,7 +2743,7 @@ begin
2743
2743
  id_end = p
2744
2744
  chars = data[id_start...id_end]
2745
2745
  completed = !chars.empty?
2746
- ast_node = identifier(utf8_string(chars), complete: completed)
2746
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
2747
2747
  @buffers[:ident] = ast_node
2748
2748
  end
2749
2749
  begin
@@ -2760,7 +2760,7 @@ begin
2760
2760
  id_end = p
2761
2761
  chars = data[id_start...id_end]
2762
2762
  completed = !chars.empty?
2763
- ast_node = identifier(utf8_string(chars), complete: completed)
2763
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
2764
2764
  @buffers[:ident] = ast_node
2765
2765
  end
2766
2766
  begin
@@ -2775,7 +2775,7 @@ begin
2775
2775
  trace('IDENTIFIER an_ident_err')
2776
2776
  id_end = p
2777
2777
  chars = data[id_start...id_end]
2778
- ast_node = identifier(utf8_string(chars), complete: false)
2778
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
2779
2779
  @buffers[:ident] = ast_node
2780
2780
  end
2781
2781
  begin
@@ -2783,7 +2783,7 @@ begin
2783
2783
  trace('STRING a_string_err')
2784
2784
  p_end = p
2785
2785
  chars = data[p_start...p_end]
2786
- ast_node = string(utf8_string(chars), complete: false)
2786
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2787
2787
  @buffers[:string] = ast_node
2788
2788
  end
2789
2789
  when 11 then
@@ -2798,7 +2798,7 @@ begin
2798
2798
  trace('STRING string_end')
2799
2799
  completed = @string_opened && @string_closed
2800
2800
  chars = data[p_start...p_end]
2801
- ast_node = string(utf8_string(chars), complete: true)
2801
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
2802
2802
  @buffers[:string] = ast_node
2803
2803
  end
2804
2804
  when 13 then
@@ -2807,7 +2807,7 @@ begin
2807
2807
  trace('STRING a_string_err')
2808
2808
  p_end = p
2809
2809
  chars = data[p_start...p_end]
2810
- ast_node = string(utf8_string(chars), complete: false)
2810
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2811
2811
  @buffers[:string] = ast_node
2812
2812
  end
2813
2813
  begin
@@ -2815,7 +2815,7 @@ begin
2815
2815
  trace('IDENTIFIER an_ident_err')
2816
2816
  id_end = p
2817
2817
  chars = data[id_start...id_end]
2818
- ast_node = identifier(utf8_string(chars), complete: false)
2818
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
2819
2819
  @buffers[:ident] = ast_node
2820
2820
  end
2821
2821
  when 15 then
@@ -2879,7 +2879,7 @@ begin
2879
2879
  trace('STRING string_end')
2880
2880
  completed = @string_opened && @string_closed
2881
2881
  chars = data[p_start...p_end]
2882
- ast_node = string(utf8_string(chars), complete: true)
2882
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
2883
2883
  @buffers[:string] = ast_node
2884
2884
  end
2885
2885
  when 25 then
@@ -2894,7 +2894,7 @@ begin
2894
2894
  trace('STRING string_end')
2895
2895
  completed = @string_opened && @string_closed
2896
2896
  chars = data[p_start...p_end]
2897
- ast_node = string(utf8_string(chars), complete: true)
2897
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
2898
2898
  @buffers[:string] = ast_node
2899
2899
  end
2900
2900
  begin
@@ -2945,7 +2945,7 @@ begin
2945
2945
  id_end = p
2946
2946
  chars = data[id_start...id_end]
2947
2947
  completed = !chars.empty?
2948
- ast_node = identifier(utf8_string(chars), complete: completed)
2948
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
2949
2949
  @buffers[:ident] = ast_node
2950
2950
  end
2951
2951
  begin
@@ -3001,7 +3001,7 @@ begin
3001
3001
  trace('STRING string_end')
3002
3002
  completed = @string_opened && @string_closed
3003
3003
  chars = data[p_start...p_end]
3004
- ast_node = string(utf8_string(chars), complete: true)
3004
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
3005
3005
  @buffers[:string] = ast_node
3006
3006
  end
3007
3007
  begin
@@ -3115,7 +3115,7 @@ begin
3115
3115
  id_end = p
3116
3116
  chars = data[id_start...id_end]
3117
3117
  completed = !chars.empty?
3118
- ast_node = identifier(utf8_string(chars), complete: completed)
3118
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3119
3119
  @buffers[:ident] = ast_node
3120
3120
  end
3121
3121
  begin
@@ -3131,7 +3131,7 @@ begin
3131
3131
  id_end = p
3132
3132
  chars = data[id_start...id_end]
3133
3133
  completed = !chars.empty?
3134
- ast_node = identifier(utf8_string(chars), complete: completed)
3134
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3135
3135
  @buffers[:ident] = ast_node
3136
3136
  end
3137
3137
  end
@@ -3140,7 +3140,7 @@ begin
3140
3140
  trace('IDENTIFIER an_ident_err')
3141
3141
  id_end = p
3142
3142
  chars = data[id_start...id_end]
3143
- ast_node = identifier(utf8_string(chars), complete: false)
3143
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
3144
3144
  @buffers[:ident] = ast_node
3145
3145
  end
3146
3146
  when 26 then
@@ -3149,7 +3149,7 @@ begin
3149
3149
  trace('STRING a_string_err')
3150
3150
  p_end = p
3151
3151
  chars = data[p_start...p_end]
3152
- ast_node = string(utf8_string(chars), complete: false)
3152
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3153
3153
  @buffers[:string] = ast_node
3154
3154
  end
3155
3155
  begin
@@ -3168,7 +3168,7 @@ begin
3168
3168
  trace('STRING a_string_err')
3169
3169
  p_end = p
3170
3170
  chars = data[p_start...p_end]
3171
- ast_node = string(utf8_string(chars), complete: false)
3171
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3172
3172
  @buffers[:string] = ast_node
3173
3173
  end
3174
3174
  begin
@@ -3199,7 +3199,7 @@ begin
3199
3199
  trace('STRING string_node_err')
3200
3200
  p_end = p
3201
3201
  chars = data[p_start...p_end]
3202
- ast_node = string(utf8_string(chars), complete: false)
3202
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3203
3203
  yield ast_node
3204
3204
  end
3205
3205
  begin
@@ -3277,7 +3277,7 @@ begin
3277
3277
  id_end = p
3278
3278
  chars = data[id_start...id_end]
3279
3279
  completed = !chars.empty?
3280
- ast_node = identifier(utf8_string(chars), complete: completed)
3280
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3281
3281
  @buffers[:ident] = ast_node
3282
3282
  end
3283
3283
  end
@@ -3286,7 +3286,7 @@ begin
3286
3286
  trace('IDENTIFIER an_ident_err')
3287
3287
  id_end = p
3288
3288
  chars = data[id_start...id_end]
3289
- ast_node = identifier(utf8_string(chars), complete: false)
3289
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
3290
3290
  @buffers[:ident] = ast_node
3291
3291
  end
3292
3292
  begin
@@ -3319,7 +3319,7 @@ begin
3319
3319
  id_end = p
3320
3320
  chars = data[id_start...id_end]
3321
3321
  completed = !chars.empty?
3322
- ast_node = identifier(utf8_string(chars), complete: completed)
3322
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3323
3323
  @buffers[:ident] = ast_node
3324
3324
  end
3325
3325
  end
@@ -3358,7 +3358,7 @@ begin
3358
3358
  trace('STRING eof_string')
3359
3359
  p_end = p
3360
3360
  chars = data[p_start...p_end]
3361
- ast_node = string(utf8_string(chars), complete: false)
3361
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3362
3362
  @buffers[:string] = ast_node
3363
3363
  end
3364
3364
  begin
@@ -3366,7 +3366,7 @@ begin
3366
3366
  trace('STRING a_string_err')
3367
3367
  p_end = p
3368
3368
  chars = data[p_start...p_end]
3369
- ast_node = string(utf8_string(chars), complete: false)
3369
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3370
3370
  @buffers[:string] = ast_node
3371
3371
  end
3372
3372
  begin
@@ -3385,7 +3385,7 @@ begin
3385
3385
  trace('STRING eof_string')
3386
3386
  p_end = p
3387
3387
  chars = data[p_start...p_end]
3388
- ast_node = string(utf8_string(chars), complete: false)
3388
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3389
3389
  @buffers[:string] = ast_node
3390
3390
  end
3391
3391
  begin
@@ -3393,7 +3393,7 @@ begin
3393
3393
  trace('STRING a_string_err')
3394
3394
  p_end = p
3395
3395
  chars = data[p_start...p_end]
3396
- ast_node = string(utf8_string(chars), complete: false)
3396
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3397
3397
  @buffers[:string] = ast_node
3398
3398
  end
3399
3399
  begin
@@ -3424,7 +3424,7 @@ begin
3424
3424
  trace('STRING eof_string')
3425
3425
  p_end = p
3426
3426
  chars = data[p_start...p_end]
3427
- ast_node = string(utf8_string(chars), complete: false)
3427
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3428
3428
  @buffers[:string] = ast_node
3429
3429
  end
3430
3430
  begin
@@ -3432,7 +3432,7 @@ begin
3432
3432
  trace('STRING string_node_err')
3433
3433
  p_end = p
3434
3434
  chars = data[p_start...p_end]
3435
- ast_node = string(utf8_string(chars), complete: false)
3435
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3436
3436
  yield ast_node
3437
3437
  end
3438
3438
  begin
@@ -3446,7 +3446,7 @@ begin
3446
3446
  trace('STRING a_string_err')
3447
3447
  p_end = p
3448
3448
  chars = data[p_start...p_end]
3449
- ast_node = string(utf8_string(chars), complete: false)
3449
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3450
3450
  @buffers[:string] = ast_node
3451
3451
  end
3452
3452
  begin
@@ -3612,7 +3612,7 @@ begin
3612
3612
  id_end = p
3613
3613
  chars = data[id_start...id_end]
3614
3614
  completed = !chars.empty?
3615
- ast_node = identifier(utf8_string(chars), complete: completed)
3615
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3616
3616
  @buffers[:ident] = ast_node
3617
3617
  end
3618
3618
  end
@@ -3621,7 +3621,7 @@ begin
3621
3621
  trace('IDENTIFIER an_ident_err')
3622
3622
  id_end = p
3623
3623
  chars = data[id_start...id_end]
3624
- ast_node = identifier(utf8_string(chars), complete: false)
3624
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
3625
3625
  @buffers[:ident] = ast_node
3626
3626
  end
3627
3627
  begin
@@ -3675,7 +3675,7 @@ begin
3675
3675
  id_end = p
3676
3676
  chars = data[id_start...id_end]
3677
3677
  completed = !chars.empty?
3678
- ast_node = identifier(utf8_string(chars), complete: completed)
3678
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3679
3679
  @buffers[:ident] = ast_node
3680
3680
  end
3681
3681
  end
@@ -3714,7 +3714,7 @@ begin
3714
3714
  id_end = p
3715
3715
  chars = data[id_start...id_end]
3716
3716
  completed = !chars.empty?
3717
- ast_node = identifier(utf8_string(chars), complete: completed)
3717
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3718
3718
  @buffers[:ident] = ast_node
3719
3719
  end
3720
3720
  end
@@ -3775,7 +3775,7 @@ begin
3775
3775
  trace('STRING a_string_err')
3776
3776
  p_end = p
3777
3777
  chars = data[p_start...p_end]
3778
- ast_node = string(utf8_string(chars), complete: false)
3778
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3779
3779
  @buffers[:string] = ast_node
3780
3780
  end
3781
3781
  begin
@@ -3785,7 +3785,7 @@ begin
3785
3785
  id_end = p
3786
3786
  chars = data[id_start...id_end]
3787
3787
  completed = !chars.empty?
3788
- ast_node = identifier(utf8_string(chars), complete: completed)
3788
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3789
3789
  @buffers[:ident] = ast_node
3790
3790
  end
3791
3791
  end
@@ -3794,7 +3794,7 @@ begin
3794
3794
  trace('IDENTIFIER an_ident_err')
3795
3795
  id_end = p
3796
3796
  chars = data[id_start...id_end]
3797
- ast_node = identifier(utf8_string(chars), complete: false)
3797
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
3798
3798
  @buffers[:ident] = ast_node
3799
3799
  end
3800
3800
  begin
@@ -3813,7 +3813,7 @@ begin
3813
3813
  trace('STRING a_string_err')
3814
3814
  p_end = p
3815
3815
  chars = data[p_start...p_end]
3816
- ast_node = string(utf8_string(chars), complete: false)
3816
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3817
3817
  @buffers[:string] = ast_node
3818
3818
  end
3819
3819
  begin
@@ -3823,7 +3823,7 @@ begin
3823
3823
  id_end = p
3824
3824
  chars = data[id_start...id_end]
3825
3825
  completed = !chars.empty?
3826
- ast_node = identifier(utf8_string(chars), complete: completed)
3826
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3827
3827
  @buffers[:ident] = ast_node
3828
3828
  end
3829
3829
  end
@@ -3832,7 +3832,7 @@ begin
3832
3832
  trace('IDENTIFIER an_ident_err')
3833
3833
  id_end = p
3834
3834
  chars = data[id_start...id_end]
3835
- ast_node = identifier(utf8_string(chars), complete: false)
3835
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
3836
3836
  @buffers[:ident] = ast_node
3837
3837
  end
3838
3838
  begin
@@ -3871,7 +3871,7 @@ begin
3871
3871
  id_end = p
3872
3872
  chars = data[id_start...id_end]
3873
3873
  completed = !chars.empty?
3874
- ast_node = identifier(utf8_string(chars), complete: completed)
3874
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3875
3875
  @buffers[:ident] = ast_node
3876
3876
  end
3877
3877
  end
@@ -3899,7 +3899,7 @@ begin
3899
3899
  id_end = p
3900
3900
  chars = data[id_start...id_end]
3901
3901
  completed = !chars.empty?
3902
- ast_node = identifier(utf8_string(chars), complete: completed)
3902
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3903
3903
  @buffers[:ident] = ast_node
3904
3904
  end
3905
3905
  begin
@@ -3909,7 +3909,7 @@ begin
3909
3909
  id_end = p
3910
3910
  chars = data[id_start...id_end]
3911
3911
  completed = !chars.empty?
3912
- ast_node = identifier(utf8_string(chars), complete: completed)
3912
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3913
3913
  @buffers[:ident] = ast_node
3914
3914
  end
3915
3915
  end
@@ -3944,7 +3944,7 @@ begin
3944
3944
  id_end = p
3945
3945
  chars = data[id_start...id_end]
3946
3946
  completed = !chars.empty?
3947
- ast_node = identifier(utf8_string(chars), complete: completed)
3947
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3948
3948
  @buffers[:ident] = ast_node
3949
3949
  end
3950
3950
  begin
@@ -3954,7 +3954,7 @@ begin
3954
3954
  id_end = p
3955
3955
  chars = data[id_start...id_end]
3956
3956
  completed = !chars.empty?
3957
- ast_node = identifier(utf8_string(chars), complete: completed)
3957
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3958
3958
  @buffers[:ident] = ast_node
3959
3959
  end
3960
3960
  end
@@ -4696,7 +4696,7 @@ begin
4696
4696
  id_end = p
4697
4697
  chars = data[id_start...id_end]
4698
4698
  completed = !chars.empty?
4699
- ast_node = identifier(utf8_string(chars), complete: completed)
4699
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
4700
4700
  @buffers[:ident] = ast_node
4701
4701
  end
4702
4702
  when 2 then
@@ -4705,7 +4705,7 @@ begin
4705
4705
  trace('IDENTIFIER an_ident_err')
4706
4706
  id_end = p
4707
4707
  chars = data[id_start...id_end]
4708
- ast_node = identifier(utf8_string(chars), complete: false)
4708
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
4709
4709
  @buffers[:ident] = ast_node
4710
4710
  end
4711
4711
  when 39 then
@@ -4714,7 +4714,7 @@ begin
4714
4714
  trace('IDENTIFIER ident_node_err')
4715
4715
  id_end = p
4716
4716
  chars = data[id_start...id_end]
4717
- ast_node = identifier(utf8_string(chars), complete: false)
4717
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
4718
4718
  yield ast_node
4719
4719
  end
4720
4720
  when 9 then
@@ -4730,7 +4730,7 @@ begin
4730
4730
  trace('STRING a_string_err')
4731
4731
  p_end = p
4732
4732
  chars = data[p_start...p_end]
4733
- ast_node = string(utf8_string(chars), complete: false)
4733
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4734
4734
  @buffers[:string] = ast_node
4735
4735
  end
4736
4736
  when 22 then
@@ -4739,7 +4739,7 @@ begin
4739
4739
  trace('STRING string_node_err')
4740
4740
  p_end = p
4741
4741
  chars = data[p_start...p_end]
4742
- ast_node = string(utf8_string(chars), complete: false)
4742
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4743
4743
  yield ast_node
4744
4744
  end
4745
4745
  when 14 then
@@ -4770,7 +4770,7 @@ begin
4770
4770
  id_end = p
4771
4771
  chars = data[id_start...id_end]
4772
4772
  completed = !chars.empty?
4773
- ast_node = identifier(utf8_string(chars), complete: completed)
4773
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
4774
4774
  @buffers[:ident] = ast_node
4775
4775
  end
4776
4776
  begin
@@ -4787,7 +4787,7 @@ begin
4787
4787
  id_end = p
4788
4788
  chars = data[id_start...id_end]
4789
4789
  completed = !chars.empty?
4790
- ast_node = identifier(utf8_string(chars), complete: completed)
4790
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
4791
4791
  @buffers[:ident] = ast_node
4792
4792
  end
4793
4793
  begin
@@ -4802,7 +4802,7 @@ begin
4802
4802
  trace('IDENTIFIER an_ident_err')
4803
4803
  id_end = p
4804
4804
  chars = data[id_start...id_end]
4805
- ast_node = identifier(utf8_string(chars), complete: false)
4805
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
4806
4806
  @buffers[:ident] = ast_node
4807
4807
  end
4808
4808
  begin
@@ -4810,7 +4810,7 @@ begin
4810
4810
  trace('STRING a_string_err')
4811
4811
  p_end = p
4812
4812
  chars = data[p_start...p_end]
4813
- ast_node = string(utf8_string(chars), complete: false)
4813
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4814
4814
  @buffers[:string] = ast_node
4815
4815
  end
4816
4816
  when 11 then
@@ -4825,7 +4825,7 @@ begin
4825
4825
  trace('STRING string_end')
4826
4826
  completed = @string_opened && @string_closed
4827
4827
  chars = data[p_start...p_end]
4828
- ast_node = string(utf8_string(chars), complete: true)
4828
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
4829
4829
  @buffers[:string] = ast_node
4830
4830
  end
4831
4831
  when 13 then
@@ -4834,7 +4834,7 @@ begin
4834
4834
  trace('STRING a_string_err')
4835
4835
  p_end = p
4836
4836
  chars = data[p_start...p_end]
4837
- ast_node = string(utf8_string(chars), complete: false)
4837
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4838
4838
  @buffers[:string] = ast_node
4839
4839
  end
4840
4840
  begin
@@ -4842,7 +4842,7 @@ begin
4842
4842
  trace('IDENTIFIER an_ident_err')
4843
4843
  id_end = p
4844
4844
  chars = data[id_start...id_end]
4845
- ast_node = identifier(utf8_string(chars), complete: false)
4845
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
4846
4846
  @buffers[:ident] = ast_node
4847
4847
  end
4848
4848
  when 15 then
@@ -4906,7 +4906,7 @@ begin
4906
4906
  trace('STRING string_end')
4907
4907
  completed = @string_opened && @string_closed
4908
4908
  chars = data[p_start...p_end]
4909
- ast_node = string(utf8_string(chars), complete: true)
4909
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
4910
4910
  @buffers[:string] = ast_node
4911
4911
  end
4912
4912
  when 25 then
@@ -4921,7 +4921,7 @@ begin
4921
4921
  trace('STRING string_end')
4922
4922
  completed = @string_opened && @string_closed
4923
4923
  chars = data[p_start...p_end]
4924
- ast_node = string(utf8_string(chars), complete: true)
4924
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
4925
4925
  @buffers[:string] = ast_node
4926
4926
  end
4927
4927
  begin
@@ -4972,7 +4972,7 @@ begin
4972
4972
  id_end = p
4973
4973
  chars = data[id_start...id_end]
4974
4974
  completed = !chars.empty?
4975
- ast_node = identifier(utf8_string(chars), complete: completed)
4975
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
4976
4976
  @buffers[:ident] = ast_node
4977
4977
  end
4978
4978
  begin
@@ -5028,7 +5028,7 @@ begin
5028
5028
  trace('STRING string_end')
5029
5029
  completed = @string_opened && @string_closed
5030
5030
  chars = data[p_start...p_end]
5031
- ast_node = string(utf8_string(chars), complete: true)
5031
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
5032
5032
  @buffers[:string] = ast_node
5033
5033
  end
5034
5034
  begin
@@ -5142,7 +5142,7 @@ begin
5142
5142
  id_end = p
5143
5143
  chars = data[id_start...id_end]
5144
5144
  completed = !chars.empty?
5145
- ast_node = identifier(utf8_string(chars), complete: completed)
5145
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
5146
5146
  @buffers[:ident] = ast_node
5147
5147
  end
5148
5148
  begin
@@ -5158,7 +5158,7 @@ begin
5158
5158
  id_end = p
5159
5159
  chars = data[id_start...id_end]
5160
5160
  completed = !chars.empty?
5161
- ast_node = identifier(utf8_string(chars), complete: completed)
5161
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
5162
5162
  @buffers[:ident] = ast_node
5163
5163
  end
5164
5164
  end
@@ -5167,7 +5167,7 @@ begin
5167
5167
  trace('IDENTIFIER an_ident_err')
5168
5168
  id_end = p
5169
5169
  chars = data[id_start...id_end]
5170
- ast_node = identifier(utf8_string(chars), complete: false)
5170
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
5171
5171
  @buffers[:ident] = ast_node
5172
5172
  end
5173
5173
  when 26 then
@@ -5176,7 +5176,7 @@ begin
5176
5176
  trace('STRING a_string_err')
5177
5177
  p_end = p
5178
5178
  chars = data[p_start...p_end]
5179
- ast_node = string(utf8_string(chars), complete: false)
5179
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
5180
5180
  @buffers[:string] = ast_node
5181
5181
  end
5182
5182
  begin
@@ -5195,7 +5195,7 @@ begin
5195
5195
  trace('STRING a_string_err')
5196
5196
  p_end = p
5197
5197
  chars = data[p_start...p_end]
5198
- ast_node = string(utf8_string(chars), complete: false)
5198
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
5199
5199
  @buffers[:string] = ast_node
5200
5200
  end
5201
5201
  begin
@@ -5226,7 +5226,7 @@ begin
5226
5226
  trace('STRING string_node_err')
5227
5227
  p_end = p
5228
5228
  chars = data[p_start...p_end]
5229
- ast_node = string(utf8_string(chars), complete: false)
5229
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
5230
5230
  yield ast_node
5231
5231
  end
5232
5232
  begin
@@ -5304,7 +5304,7 @@ begin
5304
5304
  id_end = p
5305
5305
  chars = data[id_start...id_end]
5306
5306
  completed = !chars.empty?
5307
- ast_node = identifier(utf8_string(chars), complete: completed)
5307
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
5308
5308
  @buffers[:ident] = ast_node
5309
5309
  end
5310
5310
  end
@@ -5313,7 +5313,7 @@ begin
5313
5313
  trace('IDENTIFIER an_ident_err')
5314
5314
  id_end = p
5315
5315
  chars = data[id_start...id_end]
5316
- ast_node = identifier(utf8_string(chars), complete: false)
5316
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
5317
5317
  @buffers[:ident] = ast_node
5318
5318
  end
5319
5319
  begin
@@ -5346,7 +5346,7 @@ begin
5346
5346
  id_end = p
5347
5347
  chars = data[id_start...id_end]
5348
5348
  completed = !chars.empty?
5349
- ast_node = identifier(utf8_string(chars), complete: completed)
5349
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
5350
5350
  @buffers[:ident] = ast_node
5351
5351
  end
5352
5352
  end
@@ -5385,7 +5385,7 @@ begin
5385
5385
  trace('STRING eof_string')
5386
5386
  p_end = p
5387
5387
  chars = data[p_start...p_end]
5388
- ast_node = string(utf8_string(chars), complete: false)
5388
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
5389
5389
  @buffers[:string] = ast_node
5390
5390
  end
5391
5391
  begin
@@ -5393,7 +5393,7 @@ begin
5393
5393
  trace('STRING a_string_err')
5394
5394
  p_end = p
5395
5395
  chars = data[p_start...p_end]
5396
- ast_node = string(utf8_string(chars), complete: false)
5396
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
5397
5397
  @buffers[:string] = ast_node
5398
5398
  end
5399
5399
  begin
@@ -5412,7 +5412,7 @@ begin
5412
5412
  trace('STRING eof_string')
5413
5413
  p_end = p
5414
5414
  chars = data[p_start...p_end]
5415
- ast_node = string(utf8_string(chars), complete: false)
5415
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
5416
5416
  @buffers[:string] = ast_node
5417
5417
  end
5418
5418
  begin
@@ -5420,7 +5420,7 @@ begin
5420
5420
  trace('STRING a_string_err')
5421
5421
  p_end = p
5422
5422
  chars = data[p_start...p_end]
5423
- ast_node = string(utf8_string(chars), complete: false)
5423
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
5424
5424
  @buffers[:string] = ast_node
5425
5425
  end
5426
5426
  begin
@@ -5451,7 +5451,7 @@ begin
5451
5451
  trace('STRING eof_string')
5452
5452
  p_end = p
5453
5453
  chars = data[p_start...p_end]
5454
- ast_node = string(utf8_string(chars), complete: false)
5454
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
5455
5455
  @buffers[:string] = ast_node
5456
5456
  end
5457
5457
  begin
@@ -5459,7 +5459,7 @@ begin
5459
5459
  trace('STRING string_node_err')
5460
5460
  p_end = p
5461
5461
  chars = data[p_start...p_end]
5462
- ast_node = string(utf8_string(chars), complete: false)
5462
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
5463
5463
  yield ast_node
5464
5464
  end
5465
5465
  begin
@@ -5473,7 +5473,7 @@ begin
5473
5473
  trace('STRING a_string_err')
5474
5474
  p_end = p
5475
5475
  chars = data[p_start...p_end]
5476
- ast_node = string(utf8_string(chars), complete: false)
5476
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
5477
5477
  @buffers[:string] = ast_node
5478
5478
  end
5479
5479
  begin
@@ -5639,7 +5639,7 @@ begin
5639
5639
  id_end = p
5640
5640
  chars = data[id_start...id_end]
5641
5641
  completed = !chars.empty?
5642
- ast_node = identifier(utf8_string(chars), complete: completed)
5642
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
5643
5643
  @buffers[:ident] = ast_node
5644
5644
  end
5645
5645
  end
@@ -5648,7 +5648,7 @@ begin
5648
5648
  trace('IDENTIFIER an_ident_err')
5649
5649
  id_end = p
5650
5650
  chars = data[id_start...id_end]
5651
- ast_node = identifier(utf8_string(chars), complete: false)
5651
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
5652
5652
  @buffers[:ident] = ast_node
5653
5653
  end
5654
5654
  begin
@@ -5702,7 +5702,7 @@ begin
5702
5702
  id_end = p
5703
5703
  chars = data[id_start...id_end]
5704
5704
  completed = !chars.empty?
5705
- ast_node = identifier(utf8_string(chars), complete: completed)
5705
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
5706
5706
  @buffers[:ident] = ast_node
5707
5707
  end
5708
5708
  end
@@ -5741,7 +5741,7 @@ begin
5741
5741
  id_end = p
5742
5742
  chars = data[id_start...id_end]
5743
5743
  completed = !chars.empty?
5744
- ast_node = identifier(utf8_string(chars), complete: completed)
5744
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
5745
5745
  @buffers[:ident] = ast_node
5746
5746
  end
5747
5747
  end
@@ -5802,7 +5802,7 @@ begin
5802
5802
  trace('STRING a_string_err')
5803
5803
  p_end = p
5804
5804
  chars = data[p_start...p_end]
5805
- ast_node = string(utf8_string(chars), complete: false)
5805
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
5806
5806
  @buffers[:string] = ast_node
5807
5807
  end
5808
5808
  begin
@@ -5812,7 +5812,7 @@ begin
5812
5812
  id_end = p
5813
5813
  chars = data[id_start...id_end]
5814
5814
  completed = !chars.empty?
5815
- ast_node = identifier(utf8_string(chars), complete: completed)
5815
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
5816
5816
  @buffers[:ident] = ast_node
5817
5817
  end
5818
5818
  end
@@ -5821,7 +5821,7 @@ begin
5821
5821
  trace('IDENTIFIER an_ident_err')
5822
5822
  id_end = p
5823
5823
  chars = data[id_start...id_end]
5824
- ast_node = identifier(utf8_string(chars), complete: false)
5824
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
5825
5825
  @buffers[:ident] = ast_node
5826
5826
  end
5827
5827
  begin
@@ -5840,7 +5840,7 @@ begin
5840
5840
  trace('STRING a_string_err')
5841
5841
  p_end = p
5842
5842
  chars = data[p_start...p_end]
5843
- ast_node = string(utf8_string(chars), complete: false)
5843
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
5844
5844
  @buffers[:string] = ast_node
5845
5845
  end
5846
5846
  begin
@@ -5850,7 +5850,7 @@ begin
5850
5850
  id_end = p
5851
5851
  chars = data[id_start...id_end]
5852
5852
  completed = !chars.empty?
5853
- ast_node = identifier(utf8_string(chars), complete: completed)
5853
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
5854
5854
  @buffers[:ident] = ast_node
5855
5855
  end
5856
5856
  end
@@ -5859,7 +5859,7 @@ begin
5859
5859
  trace('IDENTIFIER an_ident_err')
5860
5860
  id_end = p
5861
5861
  chars = data[id_start...id_end]
5862
- ast_node = identifier(utf8_string(chars), complete: false)
5862
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
5863
5863
  @buffers[:ident] = ast_node
5864
5864
  end
5865
5865
  begin
@@ -5898,7 +5898,7 @@ begin
5898
5898
  id_end = p
5899
5899
  chars = data[id_start...id_end]
5900
5900
  completed = !chars.empty?
5901
- ast_node = identifier(utf8_string(chars), complete: completed)
5901
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
5902
5902
  @buffers[:ident] = ast_node
5903
5903
  end
5904
5904
  end
@@ -5926,7 +5926,7 @@ begin
5926
5926
  id_end = p
5927
5927
  chars = data[id_start...id_end]
5928
5928
  completed = !chars.empty?
5929
- ast_node = identifier(utf8_string(chars), complete: completed)
5929
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
5930
5930
  @buffers[:ident] = ast_node
5931
5931
  end
5932
5932
  begin
@@ -5936,7 +5936,7 @@ begin
5936
5936
  id_end = p
5937
5937
  chars = data[id_start...id_end]
5938
5938
  completed = !chars.empty?
5939
- ast_node = identifier(utf8_string(chars), complete: completed)
5939
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
5940
5940
  @buffers[:ident] = ast_node
5941
5941
  end
5942
5942
  end
@@ -5971,7 +5971,7 @@ begin
5971
5971
  id_end = p
5972
5972
  chars = data[id_start...id_end]
5973
5973
  completed = !chars.empty?
5974
- ast_node = identifier(utf8_string(chars), complete: completed)
5974
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
5975
5975
  @buffers[:ident] = ast_node
5976
5976
  end
5977
5977
  begin
@@ -5981,7 +5981,7 @@ begin
5981
5981
  id_end = p
5982
5982
  chars = data[id_start...id_end]
5983
5983
  completed = !chars.empty?
5984
- ast_node = identifier(utf8_string(chars), complete: completed)
5984
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
5985
5985
  @buffers[:ident] = ast_node
5986
5986
  end
5987
5987
  end
@@ -6778,7 +6778,7 @@ begin
6778
6778
  id_end = p
6779
6779
  chars = data[id_start...id_end]
6780
6780
  completed = !chars.empty?
6781
- ast_node = identifier(utf8_string(chars), complete: completed)
6781
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
6782
6782
  @buffers[:ident] = ast_node
6783
6783
  end
6784
6784
  when 2 then
@@ -6787,7 +6787,7 @@ begin
6787
6787
  trace('IDENTIFIER an_ident_err')
6788
6788
  id_end = p
6789
6789
  chars = data[id_start...id_end]
6790
- ast_node = identifier(utf8_string(chars), complete: false)
6790
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
6791
6791
  @buffers[:ident] = ast_node
6792
6792
  end
6793
6793
  when 39 then
@@ -6796,7 +6796,7 @@ begin
6796
6796
  trace('IDENTIFIER ident_node_err')
6797
6797
  id_end = p
6798
6798
  chars = data[id_start...id_end]
6799
- ast_node = identifier(utf8_string(chars), complete: false)
6799
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
6800
6800
  yield ast_node
6801
6801
  end
6802
6802
  when 9 then
@@ -6812,7 +6812,7 @@ begin
6812
6812
  trace('STRING a_string_err')
6813
6813
  p_end = p
6814
6814
  chars = data[p_start...p_end]
6815
- ast_node = string(utf8_string(chars), complete: false)
6815
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6816
6816
  @buffers[:string] = ast_node
6817
6817
  end
6818
6818
  when 22 then
@@ -6821,7 +6821,7 @@ begin
6821
6821
  trace('STRING string_node_err')
6822
6822
  p_end = p
6823
6823
  chars = data[p_start...p_end]
6824
- ast_node = string(utf8_string(chars), complete: false)
6824
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6825
6825
  yield ast_node
6826
6826
  end
6827
6827
  when 14 then
@@ -6852,7 +6852,7 @@ begin
6852
6852
  id_end = p
6853
6853
  chars = data[id_start...id_end]
6854
6854
  completed = !chars.empty?
6855
- ast_node = identifier(utf8_string(chars), complete: completed)
6855
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
6856
6856
  @buffers[:ident] = ast_node
6857
6857
  end
6858
6858
  begin
@@ -6869,7 +6869,7 @@ begin
6869
6869
  id_end = p
6870
6870
  chars = data[id_start...id_end]
6871
6871
  completed = !chars.empty?
6872
- ast_node = identifier(utf8_string(chars), complete: completed)
6872
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
6873
6873
  @buffers[:ident] = ast_node
6874
6874
  end
6875
6875
  begin
@@ -6884,7 +6884,7 @@ begin
6884
6884
  trace('IDENTIFIER an_ident_err')
6885
6885
  id_end = p
6886
6886
  chars = data[id_start...id_end]
6887
- ast_node = identifier(utf8_string(chars), complete: false)
6887
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
6888
6888
  @buffers[:ident] = ast_node
6889
6889
  end
6890
6890
  begin
@@ -6892,7 +6892,7 @@ begin
6892
6892
  trace('STRING a_string_err')
6893
6893
  p_end = p
6894
6894
  chars = data[p_start...p_end]
6895
- ast_node = string(utf8_string(chars), complete: false)
6895
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6896
6896
  @buffers[:string] = ast_node
6897
6897
  end
6898
6898
  when 11 then
@@ -6907,7 +6907,7 @@ begin
6907
6907
  trace('STRING string_end')
6908
6908
  completed = @string_opened && @string_closed
6909
6909
  chars = data[p_start...p_end]
6910
- ast_node = string(utf8_string(chars), complete: true)
6910
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
6911
6911
  @buffers[:string] = ast_node
6912
6912
  end
6913
6913
  when 13 then
@@ -6916,7 +6916,7 @@ begin
6916
6916
  trace('STRING a_string_err')
6917
6917
  p_end = p
6918
6918
  chars = data[p_start...p_end]
6919
- ast_node = string(utf8_string(chars), complete: false)
6919
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6920
6920
  @buffers[:string] = ast_node
6921
6921
  end
6922
6922
  begin
@@ -6924,7 +6924,7 @@ begin
6924
6924
  trace('IDENTIFIER an_ident_err')
6925
6925
  id_end = p
6926
6926
  chars = data[id_start...id_end]
6927
- ast_node = identifier(utf8_string(chars), complete: false)
6927
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
6928
6928
  @buffers[:ident] = ast_node
6929
6929
  end
6930
6930
  when 15 then
@@ -6988,7 +6988,7 @@ begin
6988
6988
  trace('STRING string_end')
6989
6989
  completed = @string_opened && @string_closed
6990
6990
  chars = data[p_start...p_end]
6991
- ast_node = string(utf8_string(chars), complete: true)
6991
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
6992
6992
  @buffers[:string] = ast_node
6993
6993
  end
6994
6994
  when 25 then
@@ -7003,7 +7003,7 @@ begin
7003
7003
  trace('STRING string_end')
7004
7004
  completed = @string_opened && @string_closed
7005
7005
  chars = data[p_start...p_end]
7006
- ast_node = string(utf8_string(chars), complete: true)
7006
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
7007
7007
  @buffers[:string] = ast_node
7008
7008
  end
7009
7009
  begin
@@ -7054,7 +7054,7 @@ begin
7054
7054
  id_end = p
7055
7055
  chars = data[id_start...id_end]
7056
7056
  completed = !chars.empty?
7057
- ast_node = identifier(utf8_string(chars), complete: completed)
7057
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
7058
7058
  @buffers[:ident] = ast_node
7059
7059
  end
7060
7060
  begin
@@ -7110,7 +7110,7 @@ begin
7110
7110
  trace('STRING string_end')
7111
7111
  completed = @string_opened && @string_closed
7112
7112
  chars = data[p_start...p_end]
7113
- ast_node = string(utf8_string(chars), complete: true)
7113
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
7114
7114
  @buffers[:string] = ast_node
7115
7115
  end
7116
7116
  begin
@@ -7224,7 +7224,7 @@ begin
7224
7224
  id_end = p
7225
7225
  chars = data[id_start...id_end]
7226
7226
  completed = !chars.empty?
7227
- ast_node = identifier(utf8_string(chars), complete: completed)
7227
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
7228
7228
  @buffers[:ident] = ast_node
7229
7229
  end
7230
7230
  begin
@@ -7240,7 +7240,7 @@ begin
7240
7240
  id_end = p
7241
7241
  chars = data[id_start...id_end]
7242
7242
  completed = !chars.empty?
7243
- ast_node = identifier(utf8_string(chars), complete: completed)
7243
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
7244
7244
  @buffers[:ident] = ast_node
7245
7245
  end
7246
7246
  end
@@ -7249,7 +7249,7 @@ begin
7249
7249
  trace('IDENTIFIER an_ident_err')
7250
7250
  id_end = p
7251
7251
  chars = data[id_start...id_end]
7252
- ast_node = identifier(utf8_string(chars), complete: false)
7252
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
7253
7253
  @buffers[:ident] = ast_node
7254
7254
  end
7255
7255
  when 26 then
@@ -7258,7 +7258,7 @@ begin
7258
7258
  trace('STRING a_string_err')
7259
7259
  p_end = p
7260
7260
  chars = data[p_start...p_end]
7261
- ast_node = string(utf8_string(chars), complete: false)
7261
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
7262
7262
  @buffers[:string] = ast_node
7263
7263
  end
7264
7264
  begin
@@ -7277,7 +7277,7 @@ begin
7277
7277
  trace('STRING a_string_err')
7278
7278
  p_end = p
7279
7279
  chars = data[p_start...p_end]
7280
- ast_node = string(utf8_string(chars), complete: false)
7280
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
7281
7281
  @buffers[:string] = ast_node
7282
7282
  end
7283
7283
  begin
@@ -7308,7 +7308,7 @@ begin
7308
7308
  trace('STRING string_node_err')
7309
7309
  p_end = p
7310
7310
  chars = data[p_start...p_end]
7311
- ast_node = string(utf8_string(chars), complete: false)
7311
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
7312
7312
  yield ast_node
7313
7313
  end
7314
7314
  begin
@@ -7386,7 +7386,7 @@ begin
7386
7386
  id_end = p
7387
7387
  chars = data[id_start...id_end]
7388
7388
  completed = !chars.empty?
7389
- ast_node = identifier(utf8_string(chars), complete: completed)
7389
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
7390
7390
  @buffers[:ident] = ast_node
7391
7391
  end
7392
7392
  end
@@ -7395,7 +7395,7 @@ begin
7395
7395
  trace('IDENTIFIER an_ident_err')
7396
7396
  id_end = p
7397
7397
  chars = data[id_start...id_end]
7398
- ast_node = identifier(utf8_string(chars), complete: false)
7398
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
7399
7399
  @buffers[:ident] = ast_node
7400
7400
  end
7401
7401
  begin
@@ -7428,7 +7428,7 @@ begin
7428
7428
  id_end = p
7429
7429
  chars = data[id_start...id_end]
7430
7430
  completed = !chars.empty?
7431
- ast_node = identifier(utf8_string(chars), complete: completed)
7431
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
7432
7432
  @buffers[:ident] = ast_node
7433
7433
  end
7434
7434
  end
@@ -7467,7 +7467,7 @@ begin
7467
7467
  trace('STRING eof_string')
7468
7468
  p_end = p
7469
7469
  chars = data[p_start...p_end]
7470
- ast_node = string(utf8_string(chars), complete: false)
7470
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
7471
7471
  @buffers[:string] = ast_node
7472
7472
  end
7473
7473
  begin
@@ -7475,7 +7475,7 @@ begin
7475
7475
  trace('STRING a_string_err')
7476
7476
  p_end = p
7477
7477
  chars = data[p_start...p_end]
7478
- ast_node = string(utf8_string(chars), complete: false)
7478
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
7479
7479
  @buffers[:string] = ast_node
7480
7480
  end
7481
7481
  begin
@@ -7494,7 +7494,7 @@ begin
7494
7494
  trace('STRING eof_string')
7495
7495
  p_end = p
7496
7496
  chars = data[p_start...p_end]
7497
- ast_node = string(utf8_string(chars), complete: false)
7497
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
7498
7498
  @buffers[:string] = ast_node
7499
7499
  end
7500
7500
  begin
@@ -7502,7 +7502,7 @@ begin
7502
7502
  trace('STRING a_string_err')
7503
7503
  p_end = p
7504
7504
  chars = data[p_start...p_end]
7505
- ast_node = string(utf8_string(chars), complete: false)
7505
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
7506
7506
  @buffers[:string] = ast_node
7507
7507
  end
7508
7508
  begin
@@ -7533,7 +7533,7 @@ begin
7533
7533
  trace('STRING eof_string')
7534
7534
  p_end = p
7535
7535
  chars = data[p_start...p_end]
7536
- ast_node = string(utf8_string(chars), complete: false)
7536
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
7537
7537
  @buffers[:string] = ast_node
7538
7538
  end
7539
7539
  begin
@@ -7541,7 +7541,7 @@ begin
7541
7541
  trace('STRING string_node_err')
7542
7542
  p_end = p
7543
7543
  chars = data[p_start...p_end]
7544
- ast_node = string(utf8_string(chars), complete: false)
7544
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
7545
7545
  yield ast_node
7546
7546
  end
7547
7547
  begin
@@ -7555,7 +7555,7 @@ begin
7555
7555
  trace('STRING a_string_err')
7556
7556
  p_end = p
7557
7557
  chars = data[p_start...p_end]
7558
- ast_node = string(utf8_string(chars), complete: false)
7558
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
7559
7559
  @buffers[:string] = ast_node
7560
7560
  end
7561
7561
  begin
@@ -7721,7 +7721,7 @@ begin
7721
7721
  id_end = p
7722
7722
  chars = data[id_start...id_end]
7723
7723
  completed = !chars.empty?
7724
- ast_node = identifier(utf8_string(chars), complete: completed)
7724
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
7725
7725
  @buffers[:ident] = ast_node
7726
7726
  end
7727
7727
  end
@@ -7730,7 +7730,7 @@ begin
7730
7730
  trace('IDENTIFIER an_ident_err')
7731
7731
  id_end = p
7732
7732
  chars = data[id_start...id_end]
7733
- ast_node = identifier(utf8_string(chars), complete: false)
7733
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
7734
7734
  @buffers[:ident] = ast_node
7735
7735
  end
7736
7736
  begin
@@ -7784,7 +7784,7 @@ begin
7784
7784
  id_end = p
7785
7785
  chars = data[id_start...id_end]
7786
7786
  completed = !chars.empty?
7787
- ast_node = identifier(utf8_string(chars), complete: completed)
7787
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
7788
7788
  @buffers[:ident] = ast_node
7789
7789
  end
7790
7790
  end
@@ -7823,7 +7823,7 @@ begin
7823
7823
  id_end = p
7824
7824
  chars = data[id_start...id_end]
7825
7825
  completed = !chars.empty?
7826
- ast_node = identifier(utf8_string(chars), complete: completed)
7826
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
7827
7827
  @buffers[:ident] = ast_node
7828
7828
  end
7829
7829
  end
@@ -7884,7 +7884,7 @@ begin
7884
7884
  trace('STRING a_string_err')
7885
7885
  p_end = p
7886
7886
  chars = data[p_start...p_end]
7887
- ast_node = string(utf8_string(chars), complete: false)
7887
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
7888
7888
  @buffers[:string] = ast_node
7889
7889
  end
7890
7890
  begin
@@ -7894,7 +7894,7 @@ begin
7894
7894
  id_end = p
7895
7895
  chars = data[id_start...id_end]
7896
7896
  completed = !chars.empty?
7897
- ast_node = identifier(utf8_string(chars), complete: completed)
7897
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
7898
7898
  @buffers[:ident] = ast_node
7899
7899
  end
7900
7900
  end
@@ -7903,7 +7903,7 @@ begin
7903
7903
  trace('IDENTIFIER an_ident_err')
7904
7904
  id_end = p
7905
7905
  chars = data[id_start...id_end]
7906
- ast_node = identifier(utf8_string(chars), complete: false)
7906
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
7907
7907
  @buffers[:ident] = ast_node
7908
7908
  end
7909
7909
  begin
@@ -7922,7 +7922,7 @@ begin
7922
7922
  trace('STRING a_string_err')
7923
7923
  p_end = p
7924
7924
  chars = data[p_start...p_end]
7925
- ast_node = string(utf8_string(chars), complete: false)
7925
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
7926
7926
  @buffers[:string] = ast_node
7927
7927
  end
7928
7928
  begin
@@ -7932,7 +7932,7 @@ begin
7932
7932
  id_end = p
7933
7933
  chars = data[id_start...id_end]
7934
7934
  completed = !chars.empty?
7935
- ast_node = identifier(utf8_string(chars), complete: completed)
7935
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
7936
7936
  @buffers[:ident] = ast_node
7937
7937
  end
7938
7938
  end
@@ -7941,7 +7941,7 @@ begin
7941
7941
  trace('IDENTIFIER an_ident_err')
7942
7942
  id_end = p
7943
7943
  chars = data[id_start...id_end]
7944
- ast_node = identifier(utf8_string(chars), complete: false)
7944
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
7945
7945
  @buffers[:ident] = ast_node
7946
7946
  end
7947
7947
  begin
@@ -7980,7 +7980,7 @@ begin
7980
7980
  id_end = p
7981
7981
  chars = data[id_start...id_end]
7982
7982
  completed = !chars.empty?
7983
- ast_node = identifier(utf8_string(chars), complete: completed)
7983
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
7984
7984
  @buffers[:ident] = ast_node
7985
7985
  end
7986
7986
  end
@@ -8008,7 +8008,7 @@ begin
8008
8008
  id_end = p
8009
8009
  chars = data[id_start...id_end]
8010
8010
  completed = !chars.empty?
8011
- ast_node = identifier(utf8_string(chars), complete: completed)
8011
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
8012
8012
  @buffers[:ident] = ast_node
8013
8013
  end
8014
8014
  begin
@@ -8018,7 +8018,7 @@ begin
8018
8018
  id_end = p
8019
8019
  chars = data[id_start...id_end]
8020
8020
  completed = !chars.empty?
8021
- ast_node = identifier(utf8_string(chars), complete: completed)
8021
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
8022
8022
  @buffers[:ident] = ast_node
8023
8023
  end
8024
8024
  end
@@ -8053,7 +8053,7 @@ begin
8053
8053
  id_end = p
8054
8054
  chars = data[id_start...id_end]
8055
8055
  completed = !chars.empty?
8056
- ast_node = identifier(utf8_string(chars), complete: completed)
8056
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
8057
8057
  @buffers[:ident] = ast_node
8058
8058
  end
8059
8059
  begin
@@ -8063,7 +8063,7 @@ begin
8063
8063
  id_end = p
8064
8064
  chars = data[id_start...id_end]
8065
8065
  completed = !chars.empty?
8066
- ast_node = identifier(utf8_string(chars), complete: completed)
8066
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
8067
8067
  @buffers[:ident] = ast_node
8068
8068
  end
8069
8069
  end