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
@@ -590,7 +590,7 @@ begin
590
590
  id_end = p
591
591
  chars = data[id_start...id_end]
592
592
  completed = !chars.empty?
593
- ast_node = identifier(utf8_string(chars), complete: completed)
593
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
594
594
  @buffers[:ident] = ast_node
595
595
  end
596
596
  when 2 then
@@ -599,7 +599,7 @@ begin
599
599
  trace('IDENTIFIER an_ident_err')
600
600
  id_end = p
601
601
  chars = data[id_start...id_end]
602
- ast_node = identifier(utf8_string(chars), complete: false)
602
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
603
603
  @buffers[:ident] = ast_node
604
604
  end
605
605
  when 38 then
@@ -608,7 +608,7 @@ begin
608
608
  trace('IDENTIFIER ident_node_err')
609
609
  id_end = p
610
610
  chars = data[id_start...id_end]
611
- ast_node = identifier(utf8_string(chars), complete: false)
611
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
612
612
  yield ast_node
613
613
  end
614
614
  when 13 then
@@ -624,7 +624,7 @@ begin
624
624
  trace('STRING a_string_err')
625
625
  p_end = p
626
626
  chars = data[p_start...p_end]
627
- ast_node = string(utf8_string(chars), complete: false)
627
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
628
628
  @buffers[:string] = ast_node
629
629
  end
630
630
  when 29 then
@@ -633,7 +633,7 @@ begin
633
633
  trace('STRING string_node_err')
634
634
  p_end = p
635
635
  chars = data[p_start...p_end]
636
- ast_node = string(utf8_string(chars), complete: false)
636
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
637
637
  yield ast_node
638
638
  end
639
639
  when 20 then
@@ -664,7 +664,7 @@ begin
664
664
  id_end = p
665
665
  chars = data[id_start...id_end]
666
666
  completed = !chars.empty?
667
- ast_node = identifier(utf8_string(chars), complete: completed)
667
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
668
668
  @buffers[:ident] = ast_node
669
669
  end
670
670
  begin
@@ -681,7 +681,7 @@ begin
681
681
  id_end = p
682
682
  chars = data[id_start...id_end]
683
683
  completed = !chars.empty?
684
- ast_node = identifier(utf8_string(chars), complete: completed)
684
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
685
685
  @buffers[:ident] = ast_node
686
686
  end
687
687
  begin
@@ -696,7 +696,7 @@ begin
696
696
  trace('IDENTIFIER an_ident_err')
697
697
  id_end = p
698
698
  chars = data[id_start...id_end]
699
- ast_node = identifier(utf8_string(chars), complete: false)
699
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
700
700
  @buffers[:ident] = ast_node
701
701
  end
702
702
  begin
@@ -704,7 +704,7 @@ begin
704
704
  trace('STRING a_string_err')
705
705
  p_end = p
706
706
  chars = data[p_start...p_end]
707
- ast_node = string(utf8_string(chars), complete: false)
707
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
708
708
  @buffers[:string] = ast_node
709
709
  end
710
710
  when 15 then
@@ -719,7 +719,7 @@ begin
719
719
  trace('STRING string_end')
720
720
  completed = @string_opened && @string_closed
721
721
  chars = data[p_start...p_end]
722
- ast_node = string(utf8_string(chars), complete: true)
722
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
723
723
  @buffers[:string] = ast_node
724
724
  end
725
725
  when 19 then
@@ -728,7 +728,7 @@ begin
728
728
  trace('STRING a_string_err')
729
729
  p_end = p
730
730
  chars = data[p_start...p_end]
731
- ast_node = string(utf8_string(chars), complete: false)
731
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
732
732
  @buffers[:string] = ast_node
733
733
  end
734
734
  begin
@@ -736,7 +736,7 @@ begin
736
736
  trace('IDENTIFIER an_ident_err')
737
737
  id_end = p
738
738
  chars = data[id_start...id_end]
739
- ast_node = identifier(utf8_string(chars), complete: false)
739
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
740
740
  @buffers[:ident] = ast_node
741
741
  end
742
742
  when 21 then
@@ -798,7 +798,7 @@ begin
798
798
  trace('STRING string_end')
799
799
  completed = @string_opened && @string_closed
800
800
  chars = data[p_start...p_end]
801
- ast_node = string(utf8_string(chars), complete: true)
801
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
802
802
  @buffers[:string] = ast_node
803
803
  end
804
804
  when 32 then
@@ -813,7 +813,7 @@ begin
813
813
  trace('STRING string_end')
814
814
  completed = @string_opened && @string_closed
815
815
  chars = data[p_start...p_end]
816
- ast_node = string(utf8_string(chars), complete: true)
816
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
817
817
  @buffers[:string] = ast_node
818
818
  end
819
819
  begin
@@ -862,7 +862,7 @@ begin
862
862
  id_end = p
863
863
  chars = data[id_start...id_end]
864
864
  completed = !chars.empty?
865
- ast_node = identifier(utf8_string(chars), complete: completed)
865
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
866
866
  @buffers[:ident] = ast_node
867
867
  end
868
868
  begin
@@ -916,7 +916,7 @@ begin
916
916
  trace('STRING string_end')
917
917
  completed = @string_opened && @string_closed
918
918
  chars = data[p_start...p_end]
919
- ast_node = string(utf8_string(chars), complete: true)
919
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
920
920
  @buffers[:string] = ast_node
921
921
  end
922
922
  begin
@@ -1004,7 +1004,7 @@ begin
1004
1004
  trace('STRING a_string_err')
1005
1005
  p_end = p
1006
1006
  chars = data[p_start...p_end]
1007
- ast_node = string(utf8_string(chars), complete: false)
1007
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1008
1008
  @buffers[:string] = ast_node
1009
1009
  end
1010
1010
  when 36 then
@@ -1037,7 +1037,7 @@ begin
1037
1037
  id_end = p
1038
1038
  chars = data[id_start...id_end]
1039
1039
  completed = !chars.empty?
1040
- ast_node = identifier(utf8_string(chars), complete: completed)
1040
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1041
1041
  @buffers[:ident] = ast_node
1042
1042
  end
1043
1043
  begin
@@ -1053,7 +1053,7 @@ begin
1053
1053
  id_end = p
1054
1054
  chars = data[id_start...id_end]
1055
1055
  completed = !chars.empty?
1056
- ast_node = identifier(utf8_string(chars), complete: completed)
1056
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1057
1057
  @buffers[:ident] = ast_node
1058
1058
  end
1059
1059
  end
@@ -1062,7 +1062,7 @@ begin
1062
1062
  trace('IDENTIFIER an_ident_err')
1063
1063
  id_end = p
1064
1064
  chars = data[id_start...id_end]
1065
- ast_node = identifier(utf8_string(chars), complete: false)
1065
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
1066
1066
  @buffers[:ident] = ast_node
1067
1067
  end
1068
1068
  when 33 then
@@ -1071,7 +1071,7 @@ begin
1071
1071
  trace('STRING a_string_err')
1072
1072
  p_end = p
1073
1073
  chars = data[p_start...p_end]
1074
- ast_node = string(utf8_string(chars), complete: false)
1074
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1075
1075
  @buffers[:string] = ast_node
1076
1076
  end
1077
1077
  begin
@@ -1090,7 +1090,7 @@ begin
1090
1090
  trace('STRING a_string_err')
1091
1091
  p_end = p
1092
1092
  chars = data[p_start...p_end]
1093
- ast_node = string(utf8_string(chars), complete: false)
1093
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1094
1094
  @buffers[:string] = ast_node
1095
1095
  end
1096
1096
  begin
@@ -1121,7 +1121,7 @@ begin
1121
1121
  trace('STRING string_node_err')
1122
1122
  p_end = p
1123
1123
  chars = data[p_start...p_end]
1124
- ast_node = string(utf8_string(chars), complete: false)
1124
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1125
1125
  yield ast_node
1126
1126
  end
1127
1127
  begin
@@ -1199,7 +1199,7 @@ begin
1199
1199
  id_end = p
1200
1200
  chars = data[id_start...id_end]
1201
1201
  completed = !chars.empty?
1202
- ast_node = identifier(utf8_string(chars), complete: completed)
1202
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1203
1203
  @buffers[:ident] = ast_node
1204
1204
  end
1205
1205
  end
@@ -1208,7 +1208,7 @@ begin
1208
1208
  trace('IDENTIFIER an_ident_err')
1209
1209
  id_end = p
1210
1210
  chars = data[id_start...id_end]
1211
- ast_node = identifier(utf8_string(chars), complete: false)
1211
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
1212
1212
  @buffers[:ident] = ast_node
1213
1213
  end
1214
1214
  begin
@@ -1216,7 +1216,7 @@ begin
1216
1216
  trace('STRING a_string_err')
1217
1217
  p_end = p
1218
1218
  chars = data[p_start...p_end]
1219
- ast_node = string(utf8_string(chars), complete: false)
1219
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1220
1220
  @buffers[:string] = ast_node
1221
1221
  end
1222
1222
  when 1 then
@@ -1227,7 +1227,7 @@ begin
1227
1227
  id_end = p
1228
1228
  chars = data[id_start...id_end]
1229
1229
  completed = !chars.empty?
1230
- ast_node = identifier(utf8_string(chars), complete: completed)
1230
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1231
1231
  @buffers[:ident] = ast_node
1232
1232
  end
1233
1233
  end
@@ -1236,7 +1236,7 @@ begin
1236
1236
  trace('IDENTIFIER an_ident_err')
1237
1237
  id_end = p
1238
1238
  chars = data[id_start...id_end]
1239
- ast_node = identifier(utf8_string(chars), complete: false)
1239
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
1240
1240
  @buffers[:ident] = ast_node
1241
1241
  end
1242
1242
  begin
@@ -1267,7 +1267,7 @@ begin
1267
1267
  trace('STRING eof_string')
1268
1268
  p_end = p
1269
1269
  chars = data[p_start...p_end]
1270
- ast_node = string(utf8_string(chars), complete: false)
1270
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1271
1271
  @buffers[:string] = ast_node
1272
1272
  end
1273
1273
  begin
@@ -1275,7 +1275,7 @@ begin
1275
1275
  trace('STRING a_string_err')
1276
1276
  p_end = p
1277
1277
  chars = data[p_start...p_end]
1278
- ast_node = string(utf8_string(chars), complete: false)
1278
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1279
1279
  @buffers[:string] = ast_node
1280
1280
  end
1281
1281
  begin
@@ -1294,7 +1294,7 @@ begin
1294
1294
  trace('STRING eof_string')
1295
1295
  p_end = p
1296
1296
  chars = data[p_start...p_end]
1297
- ast_node = string(utf8_string(chars), complete: false)
1297
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1298
1298
  @buffers[:string] = ast_node
1299
1299
  end
1300
1300
  begin
@@ -1302,7 +1302,7 @@ begin
1302
1302
  trace('STRING a_string_err')
1303
1303
  p_end = p
1304
1304
  chars = data[p_start...p_end]
1305
- ast_node = string(utf8_string(chars), complete: false)
1305
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1306
1306
  @buffers[:string] = ast_node
1307
1307
  end
1308
1308
  begin
@@ -1333,7 +1333,7 @@ begin
1333
1333
  trace('STRING eof_string')
1334
1334
  p_end = p
1335
1335
  chars = data[p_start...p_end]
1336
- ast_node = string(utf8_string(chars), complete: false)
1336
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1337
1337
  @buffers[:string] = ast_node
1338
1338
  end
1339
1339
  begin
@@ -1341,7 +1341,7 @@ begin
1341
1341
  trace('STRING string_node_err')
1342
1342
  p_end = p
1343
1343
  chars = data[p_start...p_end]
1344
- ast_node = string(utf8_string(chars), complete: false)
1344
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1345
1345
  yield ast_node
1346
1346
  end
1347
1347
  begin
@@ -1355,7 +1355,7 @@ begin
1355
1355
  trace('STRING a_string_err')
1356
1356
  p_end = p
1357
1357
  chars = data[p_start...p_end]
1358
- ast_node = string(utf8_string(chars), complete: false)
1358
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1359
1359
  @buffers[:string] = ast_node
1360
1360
  end
1361
1361
  begin
@@ -1485,7 +1485,7 @@ begin
1485
1485
  id_end = p
1486
1486
  chars = data[id_start...id_end]
1487
1487
  completed = !chars.empty?
1488
- ast_node = identifier(utf8_string(chars), complete: completed)
1488
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1489
1489
  @buffers[:ident] = ast_node
1490
1490
  end
1491
1491
  end
@@ -1494,7 +1494,7 @@ begin
1494
1494
  trace('IDENTIFIER an_ident_err')
1495
1495
  id_end = p
1496
1496
  chars = data[id_start...id_end]
1497
- ast_node = identifier(utf8_string(chars), complete: false)
1497
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
1498
1498
  @buffers[:ident] = ast_node
1499
1499
  end
1500
1500
  begin
@@ -1502,7 +1502,7 @@ begin
1502
1502
  trace('STRING a_string_err')
1503
1503
  p_end = p
1504
1504
  chars = data[p_start...p_end]
1505
- ast_node = string(utf8_string(chars), complete: false)
1505
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1506
1506
  @buffers[:string] = ast_node
1507
1507
  end
1508
1508
  begin
@@ -1535,7 +1535,7 @@ begin
1535
1535
  id_end = p
1536
1536
  chars = data[id_start...id_end]
1537
1537
  completed = !chars.empty?
1538
- ast_node = identifier(utf8_string(chars), complete: completed)
1538
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1539
1539
  @buffers[:ident] = ast_node
1540
1540
  end
1541
1541
  end
@@ -1544,7 +1544,7 @@ begin
1544
1544
  trace('IDENTIFIER an_ident_err')
1545
1545
  id_end = p
1546
1546
  chars = data[id_start...id_end]
1547
- ast_node = identifier(utf8_string(chars), complete: false)
1547
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
1548
1548
  @buffers[:ident] = ast_node
1549
1549
  end
1550
1550
  begin
@@ -1598,7 +1598,7 @@ begin
1598
1598
  id_end = p
1599
1599
  chars = data[id_start...id_end]
1600
1600
  completed = !chars.empty?
1601
- ast_node = identifier(utf8_string(chars), complete: completed)
1601
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1602
1602
  @buffers[:ident] = ast_node
1603
1603
  end
1604
1604
  end
@@ -1635,7 +1635,7 @@ begin
1635
1635
  trace('STRING a_string_err')
1636
1636
  p_end = p
1637
1637
  chars = data[p_start...p_end]
1638
- ast_node = string(utf8_string(chars), complete: false)
1638
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1639
1639
  @buffers[:string] = ast_node
1640
1640
  end
1641
1641
  begin
@@ -1645,7 +1645,7 @@ begin
1645
1645
  id_end = p
1646
1646
  chars = data[id_start...id_end]
1647
1647
  completed = !chars.empty?
1648
- ast_node = identifier(utf8_string(chars), complete: completed)
1648
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1649
1649
  @buffers[:ident] = ast_node
1650
1650
  end
1651
1651
  end
@@ -1654,7 +1654,7 @@ begin
1654
1654
  trace('IDENTIFIER an_ident_err')
1655
1655
  id_end = p
1656
1656
  chars = data[id_start...id_end]
1657
- ast_node = identifier(utf8_string(chars), complete: false)
1657
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
1658
1658
  @buffers[:ident] = ast_node
1659
1659
  end
1660
1660
  begin
@@ -1673,7 +1673,7 @@ begin
1673
1673
  trace('STRING a_string_err')
1674
1674
  p_end = p
1675
1675
  chars = data[p_start...p_end]
1676
- ast_node = string(utf8_string(chars), complete: false)
1676
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1677
1677
  @buffers[:string] = ast_node
1678
1678
  end
1679
1679
  begin
@@ -1683,7 +1683,7 @@ begin
1683
1683
  id_end = p
1684
1684
  chars = data[id_start...id_end]
1685
1685
  completed = !chars.empty?
1686
- ast_node = identifier(utf8_string(chars), complete: completed)
1686
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1687
1687
  @buffers[:ident] = ast_node
1688
1688
  end
1689
1689
  end
@@ -1692,7 +1692,7 @@ begin
1692
1692
  trace('IDENTIFIER an_ident_err')
1693
1693
  id_end = p
1694
1694
  chars = data[id_start...id_end]
1695
- ast_node = identifier(utf8_string(chars), complete: false)
1695
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
1696
1696
  @buffers[:ident] = ast_node
1697
1697
  end
1698
1698
  begin
@@ -1731,7 +1731,7 @@ begin
1731
1731
  id_end = p
1732
1732
  chars = data[id_start...id_end]
1733
1733
  completed = !chars.empty?
1734
- ast_node = identifier(utf8_string(chars), complete: completed)
1734
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1735
1735
  @buffers[:ident] = ast_node
1736
1736
  end
1737
1737
  end
@@ -1759,7 +1759,7 @@ begin
1759
1759
  id_end = p
1760
1760
  chars = data[id_start...id_end]
1761
1761
  completed = !chars.empty?
1762
- ast_node = identifier(utf8_string(chars), complete: completed)
1762
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1763
1763
  @buffers[:ident] = ast_node
1764
1764
  end
1765
1765
  begin
@@ -1769,7 +1769,7 @@ begin
1769
1769
  id_end = p
1770
1770
  chars = data[id_start...id_end]
1771
1771
  completed = !chars.empty?
1772
- ast_node = identifier(utf8_string(chars), complete: completed)
1772
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1773
1773
  @buffers[:ident] = ast_node
1774
1774
  end
1775
1775
  end
@@ -2395,7 +2395,7 @@ begin
2395
2395
  id_end = p
2396
2396
  chars = data[id_start...id_end]
2397
2397
  completed = !chars.empty?
2398
- ast_node = identifier(utf8_string(chars), complete: completed)
2398
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
2399
2399
  @buffers[:ident] = ast_node
2400
2400
  end
2401
2401
  when 2 then
@@ -2404,7 +2404,7 @@ begin
2404
2404
  trace('IDENTIFIER an_ident_err')
2405
2405
  id_end = p
2406
2406
  chars = data[id_start...id_end]
2407
- ast_node = identifier(utf8_string(chars), complete: false)
2407
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
2408
2408
  @buffers[:ident] = ast_node
2409
2409
  end
2410
2410
  when 38 then
@@ -2413,7 +2413,7 @@ begin
2413
2413
  trace('IDENTIFIER ident_node_err')
2414
2414
  id_end = p
2415
2415
  chars = data[id_start...id_end]
2416
- ast_node = identifier(utf8_string(chars), complete: false)
2416
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
2417
2417
  yield ast_node
2418
2418
  end
2419
2419
  when 13 then
@@ -2429,7 +2429,7 @@ begin
2429
2429
  trace('STRING a_string_err')
2430
2430
  p_end = p
2431
2431
  chars = data[p_start...p_end]
2432
- ast_node = string(utf8_string(chars), complete: false)
2432
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2433
2433
  @buffers[:string] = ast_node
2434
2434
  end
2435
2435
  when 29 then
@@ -2438,7 +2438,7 @@ begin
2438
2438
  trace('STRING string_node_err')
2439
2439
  p_end = p
2440
2440
  chars = data[p_start...p_end]
2441
- ast_node = string(utf8_string(chars), complete: false)
2441
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2442
2442
  yield ast_node
2443
2443
  end
2444
2444
  when 20 then
@@ -2469,7 +2469,7 @@ begin
2469
2469
  id_end = p
2470
2470
  chars = data[id_start...id_end]
2471
2471
  completed = !chars.empty?
2472
- ast_node = identifier(utf8_string(chars), complete: completed)
2472
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
2473
2473
  @buffers[:ident] = ast_node
2474
2474
  end
2475
2475
  begin
@@ -2486,7 +2486,7 @@ begin
2486
2486
  id_end = p
2487
2487
  chars = data[id_start...id_end]
2488
2488
  completed = !chars.empty?
2489
- ast_node = identifier(utf8_string(chars), complete: completed)
2489
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
2490
2490
  @buffers[:ident] = ast_node
2491
2491
  end
2492
2492
  begin
@@ -2501,7 +2501,7 @@ begin
2501
2501
  trace('IDENTIFIER an_ident_err')
2502
2502
  id_end = p
2503
2503
  chars = data[id_start...id_end]
2504
- ast_node = identifier(utf8_string(chars), complete: false)
2504
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
2505
2505
  @buffers[:ident] = ast_node
2506
2506
  end
2507
2507
  begin
@@ -2509,7 +2509,7 @@ begin
2509
2509
  trace('STRING a_string_err')
2510
2510
  p_end = p
2511
2511
  chars = data[p_start...p_end]
2512
- ast_node = string(utf8_string(chars), complete: false)
2512
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2513
2513
  @buffers[:string] = ast_node
2514
2514
  end
2515
2515
  when 15 then
@@ -2524,7 +2524,7 @@ begin
2524
2524
  trace('STRING string_end')
2525
2525
  completed = @string_opened && @string_closed
2526
2526
  chars = data[p_start...p_end]
2527
- ast_node = string(utf8_string(chars), complete: true)
2527
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
2528
2528
  @buffers[:string] = ast_node
2529
2529
  end
2530
2530
  when 19 then
@@ -2533,7 +2533,7 @@ begin
2533
2533
  trace('STRING a_string_err')
2534
2534
  p_end = p
2535
2535
  chars = data[p_start...p_end]
2536
- ast_node = string(utf8_string(chars), complete: false)
2536
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2537
2537
  @buffers[:string] = ast_node
2538
2538
  end
2539
2539
  begin
@@ -2541,7 +2541,7 @@ begin
2541
2541
  trace('IDENTIFIER an_ident_err')
2542
2542
  id_end = p
2543
2543
  chars = data[id_start...id_end]
2544
- ast_node = identifier(utf8_string(chars), complete: false)
2544
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
2545
2545
  @buffers[:ident] = ast_node
2546
2546
  end
2547
2547
  when 21 then
@@ -2603,7 +2603,7 @@ begin
2603
2603
  trace('STRING string_end')
2604
2604
  completed = @string_opened && @string_closed
2605
2605
  chars = data[p_start...p_end]
2606
- ast_node = string(utf8_string(chars), complete: true)
2606
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
2607
2607
  @buffers[:string] = ast_node
2608
2608
  end
2609
2609
  when 32 then
@@ -2618,7 +2618,7 @@ begin
2618
2618
  trace('STRING string_end')
2619
2619
  completed = @string_opened && @string_closed
2620
2620
  chars = data[p_start...p_end]
2621
- ast_node = string(utf8_string(chars), complete: true)
2621
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
2622
2622
  @buffers[:string] = ast_node
2623
2623
  end
2624
2624
  begin
@@ -2667,7 +2667,7 @@ begin
2667
2667
  id_end = p
2668
2668
  chars = data[id_start...id_end]
2669
2669
  completed = !chars.empty?
2670
- ast_node = identifier(utf8_string(chars), complete: completed)
2670
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
2671
2671
  @buffers[:ident] = ast_node
2672
2672
  end
2673
2673
  begin
@@ -2721,7 +2721,7 @@ begin
2721
2721
  trace('STRING string_end')
2722
2722
  completed = @string_opened && @string_closed
2723
2723
  chars = data[p_start...p_end]
2724
- ast_node = string(utf8_string(chars), complete: true)
2724
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
2725
2725
  @buffers[:string] = ast_node
2726
2726
  end
2727
2727
  begin
@@ -2809,7 +2809,7 @@ begin
2809
2809
  trace('STRING a_string_err')
2810
2810
  p_end = p
2811
2811
  chars = data[p_start...p_end]
2812
- ast_node = string(utf8_string(chars), complete: false)
2812
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2813
2813
  @buffers[:string] = ast_node
2814
2814
  end
2815
2815
  when 36 then
@@ -2842,7 +2842,7 @@ begin
2842
2842
  id_end = p
2843
2843
  chars = data[id_start...id_end]
2844
2844
  completed = !chars.empty?
2845
- ast_node = identifier(utf8_string(chars), complete: completed)
2845
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
2846
2846
  @buffers[:ident] = ast_node
2847
2847
  end
2848
2848
  begin
@@ -2858,7 +2858,7 @@ begin
2858
2858
  id_end = p
2859
2859
  chars = data[id_start...id_end]
2860
2860
  completed = !chars.empty?
2861
- ast_node = identifier(utf8_string(chars), complete: completed)
2861
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
2862
2862
  @buffers[:ident] = ast_node
2863
2863
  end
2864
2864
  end
@@ -2867,7 +2867,7 @@ begin
2867
2867
  trace('IDENTIFIER an_ident_err')
2868
2868
  id_end = p
2869
2869
  chars = data[id_start...id_end]
2870
- ast_node = identifier(utf8_string(chars), complete: false)
2870
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
2871
2871
  @buffers[:ident] = ast_node
2872
2872
  end
2873
2873
  when 33 then
@@ -2876,7 +2876,7 @@ begin
2876
2876
  trace('STRING a_string_err')
2877
2877
  p_end = p
2878
2878
  chars = data[p_start...p_end]
2879
- ast_node = string(utf8_string(chars), complete: false)
2879
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2880
2880
  @buffers[:string] = ast_node
2881
2881
  end
2882
2882
  begin
@@ -2895,7 +2895,7 @@ begin
2895
2895
  trace('STRING a_string_err')
2896
2896
  p_end = p
2897
2897
  chars = data[p_start...p_end]
2898
- ast_node = string(utf8_string(chars), complete: false)
2898
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2899
2899
  @buffers[:string] = ast_node
2900
2900
  end
2901
2901
  begin
@@ -2926,7 +2926,7 @@ begin
2926
2926
  trace('STRING string_node_err')
2927
2927
  p_end = p
2928
2928
  chars = data[p_start...p_end]
2929
- ast_node = string(utf8_string(chars), complete: false)
2929
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2930
2930
  yield ast_node
2931
2931
  end
2932
2932
  begin
@@ -3004,7 +3004,7 @@ begin
3004
3004
  id_end = p
3005
3005
  chars = data[id_start...id_end]
3006
3006
  completed = !chars.empty?
3007
- ast_node = identifier(utf8_string(chars), complete: completed)
3007
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3008
3008
  @buffers[:ident] = ast_node
3009
3009
  end
3010
3010
  end
@@ -3013,7 +3013,7 @@ begin
3013
3013
  trace('IDENTIFIER an_ident_err')
3014
3014
  id_end = p
3015
3015
  chars = data[id_start...id_end]
3016
- ast_node = identifier(utf8_string(chars), complete: false)
3016
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
3017
3017
  @buffers[:ident] = ast_node
3018
3018
  end
3019
3019
  begin
@@ -3021,7 +3021,7 @@ begin
3021
3021
  trace('STRING a_string_err')
3022
3022
  p_end = p
3023
3023
  chars = data[p_start...p_end]
3024
- ast_node = string(utf8_string(chars), complete: false)
3024
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3025
3025
  @buffers[:string] = ast_node
3026
3026
  end
3027
3027
  when 1 then
@@ -3032,7 +3032,7 @@ begin
3032
3032
  id_end = p
3033
3033
  chars = data[id_start...id_end]
3034
3034
  completed = !chars.empty?
3035
- ast_node = identifier(utf8_string(chars), complete: completed)
3035
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3036
3036
  @buffers[:ident] = ast_node
3037
3037
  end
3038
3038
  end
@@ -3041,7 +3041,7 @@ begin
3041
3041
  trace('IDENTIFIER an_ident_err')
3042
3042
  id_end = p
3043
3043
  chars = data[id_start...id_end]
3044
- ast_node = identifier(utf8_string(chars), complete: false)
3044
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
3045
3045
  @buffers[:ident] = ast_node
3046
3046
  end
3047
3047
  begin
@@ -3072,7 +3072,7 @@ begin
3072
3072
  trace('STRING eof_string')
3073
3073
  p_end = p
3074
3074
  chars = data[p_start...p_end]
3075
- ast_node = string(utf8_string(chars), complete: false)
3075
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3076
3076
  @buffers[:string] = ast_node
3077
3077
  end
3078
3078
  begin
@@ -3080,7 +3080,7 @@ begin
3080
3080
  trace('STRING a_string_err')
3081
3081
  p_end = p
3082
3082
  chars = data[p_start...p_end]
3083
- ast_node = string(utf8_string(chars), complete: false)
3083
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3084
3084
  @buffers[:string] = ast_node
3085
3085
  end
3086
3086
  begin
@@ -3099,7 +3099,7 @@ begin
3099
3099
  trace('STRING eof_string')
3100
3100
  p_end = p
3101
3101
  chars = data[p_start...p_end]
3102
- ast_node = string(utf8_string(chars), complete: false)
3102
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3103
3103
  @buffers[:string] = ast_node
3104
3104
  end
3105
3105
  begin
@@ -3107,7 +3107,7 @@ begin
3107
3107
  trace('STRING a_string_err')
3108
3108
  p_end = p
3109
3109
  chars = data[p_start...p_end]
3110
- ast_node = string(utf8_string(chars), complete: false)
3110
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3111
3111
  @buffers[:string] = ast_node
3112
3112
  end
3113
3113
  begin
@@ -3138,7 +3138,7 @@ begin
3138
3138
  trace('STRING eof_string')
3139
3139
  p_end = p
3140
3140
  chars = data[p_start...p_end]
3141
- ast_node = string(utf8_string(chars), complete: false)
3141
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3142
3142
  @buffers[:string] = ast_node
3143
3143
  end
3144
3144
  begin
@@ -3146,7 +3146,7 @@ begin
3146
3146
  trace('STRING string_node_err')
3147
3147
  p_end = p
3148
3148
  chars = data[p_start...p_end]
3149
- ast_node = string(utf8_string(chars), complete: false)
3149
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3150
3150
  yield ast_node
3151
3151
  end
3152
3152
  begin
@@ -3160,7 +3160,7 @@ begin
3160
3160
  trace('STRING a_string_err')
3161
3161
  p_end = p
3162
3162
  chars = data[p_start...p_end]
3163
- ast_node = string(utf8_string(chars), complete: false)
3163
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3164
3164
  @buffers[:string] = ast_node
3165
3165
  end
3166
3166
  begin
@@ -3290,7 +3290,7 @@ begin
3290
3290
  id_end = p
3291
3291
  chars = data[id_start...id_end]
3292
3292
  completed = !chars.empty?
3293
- ast_node = identifier(utf8_string(chars), complete: completed)
3293
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3294
3294
  @buffers[:ident] = ast_node
3295
3295
  end
3296
3296
  end
@@ -3299,7 +3299,7 @@ begin
3299
3299
  trace('IDENTIFIER an_ident_err')
3300
3300
  id_end = p
3301
3301
  chars = data[id_start...id_end]
3302
- ast_node = identifier(utf8_string(chars), complete: false)
3302
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
3303
3303
  @buffers[:ident] = ast_node
3304
3304
  end
3305
3305
  begin
@@ -3307,7 +3307,7 @@ begin
3307
3307
  trace('STRING a_string_err')
3308
3308
  p_end = p
3309
3309
  chars = data[p_start...p_end]
3310
- ast_node = string(utf8_string(chars), complete: false)
3310
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3311
3311
  @buffers[:string] = ast_node
3312
3312
  end
3313
3313
  begin
@@ -3340,7 +3340,7 @@ begin
3340
3340
  id_end = p
3341
3341
  chars = data[id_start...id_end]
3342
3342
  completed = !chars.empty?
3343
- ast_node = identifier(utf8_string(chars), complete: completed)
3343
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3344
3344
  @buffers[:ident] = ast_node
3345
3345
  end
3346
3346
  end
@@ -3349,7 +3349,7 @@ begin
3349
3349
  trace('IDENTIFIER an_ident_err')
3350
3350
  id_end = p
3351
3351
  chars = data[id_start...id_end]
3352
- ast_node = identifier(utf8_string(chars), complete: false)
3352
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
3353
3353
  @buffers[:ident] = ast_node
3354
3354
  end
3355
3355
  begin
@@ -3403,7 +3403,7 @@ begin
3403
3403
  id_end = p
3404
3404
  chars = data[id_start...id_end]
3405
3405
  completed = !chars.empty?
3406
- ast_node = identifier(utf8_string(chars), complete: completed)
3406
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3407
3407
  @buffers[:ident] = ast_node
3408
3408
  end
3409
3409
  end
@@ -3440,7 +3440,7 @@ begin
3440
3440
  trace('STRING a_string_err')
3441
3441
  p_end = p
3442
3442
  chars = data[p_start...p_end]
3443
- ast_node = string(utf8_string(chars), complete: false)
3443
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3444
3444
  @buffers[:string] = ast_node
3445
3445
  end
3446
3446
  begin
@@ -3450,7 +3450,7 @@ begin
3450
3450
  id_end = p
3451
3451
  chars = data[id_start...id_end]
3452
3452
  completed = !chars.empty?
3453
- ast_node = identifier(utf8_string(chars), complete: completed)
3453
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3454
3454
  @buffers[:ident] = ast_node
3455
3455
  end
3456
3456
  end
@@ -3459,7 +3459,7 @@ begin
3459
3459
  trace('IDENTIFIER an_ident_err')
3460
3460
  id_end = p
3461
3461
  chars = data[id_start...id_end]
3462
- ast_node = identifier(utf8_string(chars), complete: false)
3462
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
3463
3463
  @buffers[:ident] = ast_node
3464
3464
  end
3465
3465
  begin
@@ -3478,7 +3478,7 @@ begin
3478
3478
  trace('STRING a_string_err')
3479
3479
  p_end = p
3480
3480
  chars = data[p_start...p_end]
3481
- ast_node = string(utf8_string(chars), complete: false)
3481
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
3482
3482
  @buffers[:string] = ast_node
3483
3483
  end
3484
3484
  begin
@@ -3488,7 +3488,7 @@ begin
3488
3488
  id_end = p
3489
3489
  chars = data[id_start...id_end]
3490
3490
  completed = !chars.empty?
3491
- ast_node = identifier(utf8_string(chars), complete: completed)
3491
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3492
3492
  @buffers[:ident] = ast_node
3493
3493
  end
3494
3494
  end
@@ -3497,7 +3497,7 @@ begin
3497
3497
  trace('IDENTIFIER an_ident_err')
3498
3498
  id_end = p
3499
3499
  chars = data[id_start...id_end]
3500
- ast_node = identifier(utf8_string(chars), complete: false)
3500
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
3501
3501
  @buffers[:ident] = ast_node
3502
3502
  end
3503
3503
  begin
@@ -3536,7 +3536,7 @@ begin
3536
3536
  id_end = p
3537
3537
  chars = data[id_start...id_end]
3538
3538
  completed = !chars.empty?
3539
- ast_node = identifier(utf8_string(chars), complete: completed)
3539
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3540
3540
  @buffers[:ident] = ast_node
3541
3541
  end
3542
3542
  end
@@ -3564,7 +3564,7 @@ begin
3564
3564
  id_end = p
3565
3565
  chars = data[id_start...id_end]
3566
3566
  completed = !chars.empty?
3567
- ast_node = identifier(utf8_string(chars), complete: completed)
3567
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3568
3568
  @buffers[:ident] = ast_node
3569
3569
  end
3570
3570
  begin
@@ -3574,7 +3574,7 @@ begin
3574
3574
  id_end = p
3575
3575
  chars = data[id_start...id_end]
3576
3576
  completed = !chars.empty?
3577
- ast_node = identifier(utf8_string(chars), complete: completed)
3577
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
3578
3578
  @buffers[:ident] = ast_node
3579
3579
  end
3580
3580
  end
@@ -4200,7 +4200,7 @@ begin
4200
4200
  id_end = p
4201
4201
  chars = data[id_start...id_end]
4202
4202
  completed = !chars.empty?
4203
- ast_node = identifier(utf8_string(chars), complete: completed)
4203
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
4204
4204
  @buffers[:ident] = ast_node
4205
4205
  end
4206
4206
  when 2 then
@@ -4209,7 +4209,7 @@ begin
4209
4209
  trace('IDENTIFIER an_ident_err')
4210
4210
  id_end = p
4211
4211
  chars = data[id_start...id_end]
4212
- ast_node = identifier(utf8_string(chars), complete: false)
4212
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
4213
4213
  @buffers[:ident] = ast_node
4214
4214
  end
4215
4215
  when 38 then
@@ -4218,7 +4218,7 @@ begin
4218
4218
  trace('IDENTIFIER ident_node_err')
4219
4219
  id_end = p
4220
4220
  chars = data[id_start...id_end]
4221
- ast_node = identifier(utf8_string(chars), complete: false)
4221
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
4222
4222
  yield ast_node
4223
4223
  end
4224
4224
  when 13 then
@@ -4234,7 +4234,7 @@ begin
4234
4234
  trace('STRING a_string_err')
4235
4235
  p_end = p
4236
4236
  chars = data[p_start...p_end]
4237
- ast_node = string(utf8_string(chars), complete: false)
4237
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4238
4238
  @buffers[:string] = ast_node
4239
4239
  end
4240
4240
  when 29 then
@@ -4243,7 +4243,7 @@ begin
4243
4243
  trace('STRING string_node_err')
4244
4244
  p_end = p
4245
4245
  chars = data[p_start...p_end]
4246
- ast_node = string(utf8_string(chars), complete: false)
4246
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4247
4247
  yield ast_node
4248
4248
  end
4249
4249
  when 20 then
@@ -4274,7 +4274,7 @@ begin
4274
4274
  id_end = p
4275
4275
  chars = data[id_start...id_end]
4276
4276
  completed = !chars.empty?
4277
- ast_node = identifier(utf8_string(chars), complete: completed)
4277
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
4278
4278
  @buffers[:ident] = ast_node
4279
4279
  end
4280
4280
  begin
@@ -4291,7 +4291,7 @@ begin
4291
4291
  id_end = p
4292
4292
  chars = data[id_start...id_end]
4293
4293
  completed = !chars.empty?
4294
- ast_node = identifier(utf8_string(chars), complete: completed)
4294
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
4295
4295
  @buffers[:ident] = ast_node
4296
4296
  end
4297
4297
  begin
@@ -4306,7 +4306,7 @@ begin
4306
4306
  trace('IDENTIFIER an_ident_err')
4307
4307
  id_end = p
4308
4308
  chars = data[id_start...id_end]
4309
- ast_node = identifier(utf8_string(chars), complete: false)
4309
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
4310
4310
  @buffers[:ident] = ast_node
4311
4311
  end
4312
4312
  begin
@@ -4314,7 +4314,7 @@ begin
4314
4314
  trace('STRING a_string_err')
4315
4315
  p_end = p
4316
4316
  chars = data[p_start...p_end]
4317
- ast_node = string(utf8_string(chars), complete: false)
4317
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4318
4318
  @buffers[:string] = ast_node
4319
4319
  end
4320
4320
  when 15 then
@@ -4329,7 +4329,7 @@ begin
4329
4329
  trace('STRING string_end')
4330
4330
  completed = @string_opened && @string_closed
4331
4331
  chars = data[p_start...p_end]
4332
- ast_node = string(utf8_string(chars), complete: true)
4332
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
4333
4333
  @buffers[:string] = ast_node
4334
4334
  end
4335
4335
  when 19 then
@@ -4338,7 +4338,7 @@ begin
4338
4338
  trace('STRING a_string_err')
4339
4339
  p_end = p
4340
4340
  chars = data[p_start...p_end]
4341
- ast_node = string(utf8_string(chars), complete: false)
4341
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4342
4342
  @buffers[:string] = ast_node
4343
4343
  end
4344
4344
  begin
@@ -4346,7 +4346,7 @@ begin
4346
4346
  trace('IDENTIFIER an_ident_err')
4347
4347
  id_end = p
4348
4348
  chars = data[id_start...id_end]
4349
- ast_node = identifier(utf8_string(chars), complete: false)
4349
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
4350
4350
  @buffers[:ident] = ast_node
4351
4351
  end
4352
4352
  when 21 then
@@ -4408,7 +4408,7 @@ begin
4408
4408
  trace('STRING string_end')
4409
4409
  completed = @string_opened && @string_closed
4410
4410
  chars = data[p_start...p_end]
4411
- ast_node = string(utf8_string(chars), complete: true)
4411
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
4412
4412
  @buffers[:string] = ast_node
4413
4413
  end
4414
4414
  when 32 then
@@ -4423,7 +4423,7 @@ begin
4423
4423
  trace('STRING string_end')
4424
4424
  completed = @string_opened && @string_closed
4425
4425
  chars = data[p_start...p_end]
4426
- ast_node = string(utf8_string(chars), complete: true)
4426
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
4427
4427
  @buffers[:string] = ast_node
4428
4428
  end
4429
4429
  begin
@@ -4472,7 +4472,7 @@ begin
4472
4472
  id_end = p
4473
4473
  chars = data[id_start...id_end]
4474
4474
  completed = !chars.empty?
4475
- ast_node = identifier(utf8_string(chars), complete: completed)
4475
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
4476
4476
  @buffers[:ident] = ast_node
4477
4477
  end
4478
4478
  begin
@@ -4526,7 +4526,7 @@ begin
4526
4526
  trace('STRING string_end')
4527
4527
  completed = @string_opened && @string_closed
4528
4528
  chars = data[p_start...p_end]
4529
- ast_node = string(utf8_string(chars), complete: true)
4529
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
4530
4530
  @buffers[:string] = ast_node
4531
4531
  end
4532
4532
  begin
@@ -4614,7 +4614,7 @@ begin
4614
4614
  trace('STRING a_string_err')
4615
4615
  p_end = p
4616
4616
  chars = data[p_start...p_end]
4617
- ast_node = string(utf8_string(chars), complete: false)
4617
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4618
4618
  @buffers[:string] = ast_node
4619
4619
  end
4620
4620
  when 36 then
@@ -4647,7 +4647,7 @@ begin
4647
4647
  id_end = p
4648
4648
  chars = data[id_start...id_end]
4649
4649
  completed = !chars.empty?
4650
- ast_node = identifier(utf8_string(chars), complete: completed)
4650
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
4651
4651
  @buffers[:ident] = ast_node
4652
4652
  end
4653
4653
  begin
@@ -4663,7 +4663,7 @@ begin
4663
4663
  id_end = p
4664
4664
  chars = data[id_start...id_end]
4665
4665
  completed = !chars.empty?
4666
- ast_node = identifier(utf8_string(chars), complete: completed)
4666
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
4667
4667
  @buffers[:ident] = ast_node
4668
4668
  end
4669
4669
  end
@@ -4672,7 +4672,7 @@ begin
4672
4672
  trace('IDENTIFIER an_ident_err')
4673
4673
  id_end = p
4674
4674
  chars = data[id_start...id_end]
4675
- ast_node = identifier(utf8_string(chars), complete: false)
4675
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
4676
4676
  @buffers[:ident] = ast_node
4677
4677
  end
4678
4678
  when 33 then
@@ -4681,7 +4681,7 @@ begin
4681
4681
  trace('STRING a_string_err')
4682
4682
  p_end = p
4683
4683
  chars = data[p_start...p_end]
4684
- ast_node = string(utf8_string(chars), complete: false)
4684
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4685
4685
  @buffers[:string] = ast_node
4686
4686
  end
4687
4687
  begin
@@ -4700,7 +4700,7 @@ begin
4700
4700
  trace('STRING a_string_err')
4701
4701
  p_end = p
4702
4702
  chars = data[p_start...p_end]
4703
- ast_node = string(utf8_string(chars), complete: false)
4703
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4704
4704
  @buffers[:string] = ast_node
4705
4705
  end
4706
4706
  begin
@@ -4731,7 +4731,7 @@ begin
4731
4731
  trace('STRING string_node_err')
4732
4732
  p_end = p
4733
4733
  chars = data[p_start...p_end]
4734
- ast_node = string(utf8_string(chars), complete: false)
4734
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4735
4735
  yield ast_node
4736
4736
  end
4737
4737
  begin
@@ -4809,7 +4809,7 @@ begin
4809
4809
  id_end = p
4810
4810
  chars = data[id_start...id_end]
4811
4811
  completed = !chars.empty?
4812
- ast_node = identifier(utf8_string(chars), complete: completed)
4812
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
4813
4813
  @buffers[:ident] = ast_node
4814
4814
  end
4815
4815
  end
@@ -4818,7 +4818,7 @@ begin
4818
4818
  trace('IDENTIFIER an_ident_err')
4819
4819
  id_end = p
4820
4820
  chars = data[id_start...id_end]
4821
- ast_node = identifier(utf8_string(chars), complete: false)
4821
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
4822
4822
  @buffers[:ident] = ast_node
4823
4823
  end
4824
4824
  begin
@@ -4826,7 +4826,7 @@ begin
4826
4826
  trace('STRING a_string_err')
4827
4827
  p_end = p
4828
4828
  chars = data[p_start...p_end]
4829
- ast_node = string(utf8_string(chars), complete: false)
4829
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4830
4830
  @buffers[:string] = ast_node
4831
4831
  end
4832
4832
  when 1 then
@@ -4837,7 +4837,7 @@ begin
4837
4837
  id_end = p
4838
4838
  chars = data[id_start...id_end]
4839
4839
  completed = !chars.empty?
4840
- ast_node = identifier(utf8_string(chars), complete: completed)
4840
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
4841
4841
  @buffers[:ident] = ast_node
4842
4842
  end
4843
4843
  end
@@ -4846,7 +4846,7 @@ begin
4846
4846
  trace('IDENTIFIER an_ident_err')
4847
4847
  id_end = p
4848
4848
  chars = data[id_start...id_end]
4849
- ast_node = identifier(utf8_string(chars), complete: false)
4849
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
4850
4850
  @buffers[:ident] = ast_node
4851
4851
  end
4852
4852
  begin
@@ -4877,7 +4877,7 @@ begin
4877
4877
  trace('STRING eof_string')
4878
4878
  p_end = p
4879
4879
  chars = data[p_start...p_end]
4880
- ast_node = string(utf8_string(chars), complete: false)
4880
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4881
4881
  @buffers[:string] = ast_node
4882
4882
  end
4883
4883
  begin
@@ -4885,7 +4885,7 @@ begin
4885
4885
  trace('STRING a_string_err')
4886
4886
  p_end = p
4887
4887
  chars = data[p_start...p_end]
4888
- ast_node = string(utf8_string(chars), complete: false)
4888
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4889
4889
  @buffers[:string] = ast_node
4890
4890
  end
4891
4891
  begin
@@ -4904,7 +4904,7 @@ begin
4904
4904
  trace('STRING eof_string')
4905
4905
  p_end = p
4906
4906
  chars = data[p_start...p_end]
4907
- ast_node = string(utf8_string(chars), complete: false)
4907
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4908
4908
  @buffers[:string] = ast_node
4909
4909
  end
4910
4910
  begin
@@ -4912,7 +4912,7 @@ begin
4912
4912
  trace('STRING a_string_err')
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
@@ -4943,7 +4943,7 @@ begin
4943
4943
  trace('STRING eof_string')
4944
4944
  p_end = p
4945
4945
  chars = data[p_start...p_end]
4946
- ast_node = string(utf8_string(chars), complete: false)
4946
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4947
4947
  @buffers[:string] = ast_node
4948
4948
  end
4949
4949
  begin
@@ -4951,7 +4951,7 @@ begin
4951
4951
  trace('STRING string_node_err')
4952
4952
  p_end = p
4953
4953
  chars = data[p_start...p_end]
4954
- ast_node = string(utf8_string(chars), complete: false)
4954
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4955
4955
  yield ast_node
4956
4956
  end
4957
4957
  begin
@@ -4965,7 +4965,7 @@ begin
4965
4965
  trace('STRING a_string_err')
4966
4966
  p_end = p
4967
4967
  chars = data[p_start...p_end]
4968
- ast_node = string(utf8_string(chars), complete: false)
4968
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
4969
4969
  @buffers[:string] = ast_node
4970
4970
  end
4971
4971
  begin
@@ -5095,7 +5095,7 @@ begin
5095
5095
  id_end = p
5096
5096
  chars = data[id_start...id_end]
5097
5097
  completed = !chars.empty?
5098
- ast_node = identifier(utf8_string(chars), complete: completed)
5098
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
5099
5099
  @buffers[:ident] = ast_node
5100
5100
  end
5101
5101
  end
@@ -5104,7 +5104,7 @@ begin
5104
5104
  trace('IDENTIFIER an_ident_err')
5105
5105
  id_end = p
5106
5106
  chars = data[id_start...id_end]
5107
- ast_node = identifier(utf8_string(chars), complete: false)
5107
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
5108
5108
  @buffers[:ident] = ast_node
5109
5109
  end
5110
5110
  begin
@@ -5112,7 +5112,7 @@ begin
5112
5112
  trace('STRING a_string_err')
5113
5113
  p_end = p
5114
5114
  chars = data[p_start...p_end]
5115
- ast_node = string(utf8_string(chars), complete: false)
5115
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
5116
5116
  @buffers[:string] = ast_node
5117
5117
  end
5118
5118
  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
@@ -5154,7 +5154,7 @@ begin
5154
5154
  trace('IDENTIFIER an_ident_err')
5155
5155
  id_end = p
5156
5156
  chars = data[id_start...id_end]
5157
- ast_node = identifier(utf8_string(chars), complete: false)
5157
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
5158
5158
  @buffers[:ident] = ast_node
5159
5159
  end
5160
5160
  begin
@@ -5208,7 +5208,7 @@ begin
5208
5208
  id_end = p
5209
5209
  chars = data[id_start...id_end]
5210
5210
  completed = !chars.empty?
5211
- ast_node = identifier(utf8_string(chars), complete: completed)
5211
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
5212
5212
  @buffers[:ident] = ast_node
5213
5213
  end
5214
5214
  end
@@ -5245,7 +5245,7 @@ begin
5245
5245
  trace('STRING a_string_err')
5246
5246
  p_end = p
5247
5247
  chars = data[p_start...p_end]
5248
- ast_node = string(utf8_string(chars), complete: false)
5248
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
5249
5249
  @buffers[:string] = ast_node
5250
5250
  end
5251
5251
  begin
@@ -5255,7 +5255,7 @@ begin
5255
5255
  id_end = p
5256
5256
  chars = data[id_start...id_end]
5257
5257
  completed = !chars.empty?
5258
- ast_node = identifier(utf8_string(chars), complete: completed)
5258
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
5259
5259
  @buffers[:ident] = ast_node
5260
5260
  end
5261
5261
  end
@@ -5264,7 +5264,7 @@ begin
5264
5264
  trace('IDENTIFIER an_ident_err')
5265
5265
  id_end = p
5266
5266
  chars = data[id_start...id_end]
5267
- ast_node = identifier(utf8_string(chars), complete: false)
5267
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
5268
5268
  @buffers[:ident] = ast_node
5269
5269
  end
5270
5270
  begin
@@ -5283,7 +5283,7 @@ begin
5283
5283
  trace('STRING a_string_err')
5284
5284
  p_end = p
5285
5285
  chars = data[p_start...p_end]
5286
- ast_node = string(utf8_string(chars), complete: false)
5286
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
5287
5287
  @buffers[:string] = ast_node
5288
5288
  end
5289
5289
  begin
@@ -5293,7 +5293,7 @@ begin
5293
5293
  id_end = p
5294
5294
  chars = data[id_start...id_end]
5295
5295
  completed = !chars.empty?
5296
- ast_node = identifier(utf8_string(chars), complete: completed)
5296
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
5297
5297
  @buffers[:ident] = ast_node
5298
5298
  end
5299
5299
  end
@@ -5302,7 +5302,7 @@ begin
5302
5302
  trace('IDENTIFIER an_ident_err')
5303
5303
  id_end = p
5304
5304
  chars = data[id_start...id_end]
5305
- ast_node = identifier(utf8_string(chars), complete: false)
5305
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
5306
5306
  @buffers[:ident] = ast_node
5307
5307
  end
5308
5308
  begin
@@ -5341,7 +5341,7 @@ begin
5341
5341
  id_end = p
5342
5342
  chars = data[id_start...id_end]
5343
5343
  completed = !chars.empty?
5344
- ast_node = identifier(utf8_string(chars), complete: completed)
5344
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
5345
5345
  @buffers[:ident] = ast_node
5346
5346
  end
5347
5347
  end
@@ -5369,7 +5369,7 @@ begin
5369
5369
  id_end = p
5370
5370
  chars = data[id_start...id_end]
5371
5371
  completed = !chars.empty?
5372
- ast_node = identifier(utf8_string(chars), complete: completed)
5372
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
5373
5373
  @buffers[:ident] = ast_node
5374
5374
  end
5375
5375
  begin
@@ -5379,7 +5379,7 @@ begin
5379
5379
  id_end = p
5380
5380
  chars = data[id_start...id_end]
5381
5381
  completed = !chars.empty?
5382
- ast_node = identifier(utf8_string(chars), complete: completed)
5382
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
5383
5383
  @buffers[:ident] = ast_node
5384
5384
  end
5385
5385
  end
@@ -6062,7 +6062,7 @@ begin
6062
6062
  id_end = p
6063
6063
  chars = data[id_start...id_end]
6064
6064
  completed = !chars.empty?
6065
- ast_node = identifier(utf8_string(chars), complete: completed)
6065
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
6066
6066
  @buffers[:ident] = ast_node
6067
6067
  end
6068
6068
  when 2 then
@@ -6071,7 +6071,7 @@ begin
6071
6071
  trace('IDENTIFIER an_ident_err')
6072
6072
  id_end = p
6073
6073
  chars = data[id_start...id_end]
6074
- ast_node = identifier(utf8_string(chars), complete: false)
6074
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
6075
6075
  @buffers[:ident] = ast_node
6076
6076
  end
6077
6077
  when 38 then
@@ -6080,7 +6080,7 @@ begin
6080
6080
  trace('IDENTIFIER ident_node_err')
6081
6081
  id_end = p
6082
6082
  chars = data[id_start...id_end]
6083
- ast_node = identifier(utf8_string(chars), complete: false)
6083
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
6084
6084
  yield ast_node
6085
6085
  end
6086
6086
  when 13 then
@@ -6096,7 +6096,7 @@ begin
6096
6096
  trace('STRING a_string_err')
6097
6097
  p_end = p
6098
6098
  chars = data[p_start...p_end]
6099
- ast_node = string(utf8_string(chars), complete: false)
6099
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6100
6100
  @buffers[:string] = ast_node
6101
6101
  end
6102
6102
  when 29 then
@@ -6105,7 +6105,7 @@ begin
6105
6105
  trace('STRING string_node_err')
6106
6106
  p_end = p
6107
6107
  chars = data[p_start...p_end]
6108
- ast_node = string(utf8_string(chars), complete: false)
6108
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6109
6109
  yield ast_node
6110
6110
  end
6111
6111
  when 20 then
@@ -6136,7 +6136,7 @@ begin
6136
6136
  id_end = p
6137
6137
  chars = data[id_start...id_end]
6138
6138
  completed = !chars.empty?
6139
- ast_node = identifier(utf8_string(chars), complete: completed)
6139
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
6140
6140
  @buffers[:ident] = ast_node
6141
6141
  end
6142
6142
  begin
@@ -6153,7 +6153,7 @@ begin
6153
6153
  id_end = p
6154
6154
  chars = data[id_start...id_end]
6155
6155
  completed = !chars.empty?
6156
- ast_node = identifier(utf8_string(chars), complete: completed)
6156
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
6157
6157
  @buffers[:ident] = ast_node
6158
6158
  end
6159
6159
  begin
@@ -6168,7 +6168,7 @@ begin
6168
6168
  trace('IDENTIFIER an_ident_err')
6169
6169
  id_end = p
6170
6170
  chars = data[id_start...id_end]
6171
- ast_node = identifier(utf8_string(chars), complete: false)
6171
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
6172
6172
  @buffers[:ident] = ast_node
6173
6173
  end
6174
6174
  begin
@@ -6176,7 +6176,7 @@ begin
6176
6176
  trace('STRING a_string_err')
6177
6177
  p_end = p
6178
6178
  chars = data[p_start...p_end]
6179
- ast_node = string(utf8_string(chars), complete: false)
6179
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6180
6180
  @buffers[:string] = ast_node
6181
6181
  end
6182
6182
  when 15 then
@@ -6191,7 +6191,7 @@ begin
6191
6191
  trace('STRING string_end')
6192
6192
  completed = @string_opened && @string_closed
6193
6193
  chars = data[p_start...p_end]
6194
- ast_node = string(utf8_string(chars), complete: true)
6194
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
6195
6195
  @buffers[:string] = ast_node
6196
6196
  end
6197
6197
  when 19 then
@@ -6200,7 +6200,7 @@ begin
6200
6200
  trace('STRING a_string_err')
6201
6201
  p_end = p
6202
6202
  chars = data[p_start...p_end]
6203
- ast_node = string(utf8_string(chars), complete: false)
6203
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6204
6204
  @buffers[:string] = ast_node
6205
6205
  end
6206
6206
  begin
@@ -6208,7 +6208,7 @@ begin
6208
6208
  trace('IDENTIFIER an_ident_err')
6209
6209
  id_end = p
6210
6210
  chars = data[id_start...id_end]
6211
- ast_node = identifier(utf8_string(chars), complete: false)
6211
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
6212
6212
  @buffers[:ident] = ast_node
6213
6213
  end
6214
6214
  when 21 then
@@ -6270,7 +6270,7 @@ begin
6270
6270
  trace('STRING string_end')
6271
6271
  completed = @string_opened && @string_closed
6272
6272
  chars = data[p_start...p_end]
6273
- ast_node = string(utf8_string(chars), complete: true)
6273
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
6274
6274
  @buffers[:string] = ast_node
6275
6275
  end
6276
6276
  when 32 then
@@ -6285,7 +6285,7 @@ begin
6285
6285
  trace('STRING string_end')
6286
6286
  completed = @string_opened && @string_closed
6287
6287
  chars = data[p_start...p_end]
6288
- ast_node = string(utf8_string(chars), complete: true)
6288
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
6289
6289
  @buffers[:string] = ast_node
6290
6290
  end
6291
6291
  begin
@@ -6334,7 +6334,7 @@ begin
6334
6334
  id_end = p
6335
6335
  chars = data[id_start...id_end]
6336
6336
  completed = !chars.empty?
6337
- ast_node = identifier(utf8_string(chars), complete: completed)
6337
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
6338
6338
  @buffers[:ident] = ast_node
6339
6339
  end
6340
6340
  begin
@@ -6388,7 +6388,7 @@ begin
6388
6388
  trace('STRING string_end')
6389
6389
  completed = @string_opened && @string_closed
6390
6390
  chars = data[p_start...p_end]
6391
- ast_node = string(utf8_string(chars), complete: true)
6391
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
6392
6392
  @buffers[:string] = ast_node
6393
6393
  end
6394
6394
  begin
@@ -6476,7 +6476,7 @@ begin
6476
6476
  trace('STRING a_string_err')
6477
6477
  p_end = p
6478
6478
  chars = data[p_start...p_end]
6479
- ast_node = string(utf8_string(chars), complete: false)
6479
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6480
6480
  @buffers[:string] = ast_node
6481
6481
  end
6482
6482
  when 36 then
@@ -6509,7 +6509,7 @@ begin
6509
6509
  id_end = p
6510
6510
  chars = data[id_start...id_end]
6511
6511
  completed = !chars.empty?
6512
- ast_node = identifier(utf8_string(chars), complete: completed)
6512
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
6513
6513
  @buffers[:ident] = ast_node
6514
6514
  end
6515
6515
  begin
@@ -6525,7 +6525,7 @@ begin
6525
6525
  id_end = p
6526
6526
  chars = data[id_start...id_end]
6527
6527
  completed = !chars.empty?
6528
- ast_node = identifier(utf8_string(chars), complete: completed)
6528
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
6529
6529
  @buffers[:ident] = ast_node
6530
6530
  end
6531
6531
  end
@@ -6534,7 +6534,7 @@ begin
6534
6534
  trace('IDENTIFIER an_ident_err')
6535
6535
  id_end = p
6536
6536
  chars = data[id_start...id_end]
6537
- ast_node = identifier(utf8_string(chars), complete: false)
6537
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
6538
6538
  @buffers[:ident] = ast_node
6539
6539
  end
6540
6540
  when 33 then
@@ -6543,7 +6543,7 @@ begin
6543
6543
  trace('STRING a_string_err')
6544
6544
  p_end = p
6545
6545
  chars = data[p_start...p_end]
6546
- ast_node = string(utf8_string(chars), complete: false)
6546
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6547
6547
  @buffers[:string] = ast_node
6548
6548
  end
6549
6549
  begin
@@ -6562,7 +6562,7 @@ begin
6562
6562
  trace('STRING a_string_err')
6563
6563
  p_end = p
6564
6564
  chars = data[p_start...p_end]
6565
- ast_node = string(utf8_string(chars), complete: false)
6565
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6566
6566
  @buffers[:string] = ast_node
6567
6567
  end
6568
6568
  begin
@@ -6593,7 +6593,7 @@ begin
6593
6593
  trace('STRING string_node_err')
6594
6594
  p_end = p
6595
6595
  chars = data[p_start...p_end]
6596
- ast_node = string(utf8_string(chars), complete: false)
6596
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6597
6597
  yield ast_node
6598
6598
  end
6599
6599
  begin
@@ -6671,7 +6671,7 @@ begin
6671
6671
  id_end = p
6672
6672
  chars = data[id_start...id_end]
6673
6673
  completed = !chars.empty?
6674
- ast_node = identifier(utf8_string(chars), complete: completed)
6674
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
6675
6675
  @buffers[:ident] = ast_node
6676
6676
  end
6677
6677
  end
@@ -6680,7 +6680,7 @@ begin
6680
6680
  trace('IDENTIFIER an_ident_err')
6681
6681
  id_end = p
6682
6682
  chars = data[id_start...id_end]
6683
- ast_node = identifier(utf8_string(chars), complete: false)
6683
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
6684
6684
  @buffers[:ident] = 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
  when 1 then
@@ -6699,7 +6699,7 @@ begin
6699
6699
  id_end = p
6700
6700
  chars = data[id_start...id_end]
6701
6701
  completed = !chars.empty?
6702
- ast_node = identifier(utf8_string(chars), complete: completed)
6702
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
6703
6703
  @buffers[:ident] = ast_node
6704
6704
  end
6705
6705
  end
@@ -6708,7 +6708,7 @@ begin
6708
6708
  trace('IDENTIFIER an_ident_err')
6709
6709
  id_end = p
6710
6710
  chars = data[id_start...id_end]
6711
- ast_node = identifier(utf8_string(chars), complete: false)
6711
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
6712
6712
  @buffers[:ident] = ast_node
6713
6713
  end
6714
6714
  begin
@@ -6739,7 +6739,7 @@ begin
6739
6739
  trace('STRING eof_string')
6740
6740
  p_end = p
6741
6741
  chars = data[p_start...p_end]
6742
- ast_node = string(utf8_string(chars), complete: false)
6742
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6743
6743
  @buffers[:string] = ast_node
6744
6744
  end
6745
6745
  begin
@@ -6747,7 +6747,7 @@ begin
6747
6747
  trace('STRING a_string_err')
6748
6748
  p_end = p
6749
6749
  chars = data[p_start...p_end]
6750
- ast_node = string(utf8_string(chars), complete: false)
6750
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6751
6751
  @buffers[:string] = ast_node
6752
6752
  end
6753
6753
  begin
@@ -6766,7 +6766,7 @@ begin
6766
6766
  trace('STRING eof_string')
6767
6767
  p_end = p
6768
6768
  chars = data[p_start...p_end]
6769
- ast_node = string(utf8_string(chars), complete: false)
6769
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6770
6770
  @buffers[:string] = ast_node
6771
6771
  end
6772
6772
  begin
@@ -6774,7 +6774,7 @@ begin
6774
6774
  trace('STRING a_string_err')
6775
6775
  p_end = p
6776
6776
  chars = data[p_start...p_end]
6777
- ast_node = string(utf8_string(chars), complete: false)
6777
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6778
6778
  @buffers[:string] = ast_node
6779
6779
  end
6780
6780
  begin
@@ -6805,7 +6805,7 @@ begin
6805
6805
  trace('STRING eof_string')
6806
6806
  p_end = p
6807
6807
  chars = data[p_start...p_end]
6808
- ast_node = string(utf8_string(chars), complete: false)
6808
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6809
6809
  @buffers[:string] = ast_node
6810
6810
  end
6811
6811
  begin
@@ -6813,7 +6813,7 @@ begin
6813
6813
  trace('STRING string_node_err')
6814
6814
  p_end = p
6815
6815
  chars = data[p_start...p_end]
6816
- ast_node = string(utf8_string(chars), complete: false)
6816
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6817
6817
  yield ast_node
6818
6818
  end
6819
6819
  begin
@@ -6827,7 +6827,7 @@ begin
6827
6827
  trace('STRING a_string_err')
6828
6828
  p_end = p
6829
6829
  chars = data[p_start...p_end]
6830
- ast_node = string(utf8_string(chars), complete: false)
6830
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6831
6831
  @buffers[:string] = ast_node
6832
6832
  end
6833
6833
  begin
@@ -6957,7 +6957,7 @@ begin
6957
6957
  id_end = p
6958
6958
  chars = data[id_start...id_end]
6959
6959
  completed = !chars.empty?
6960
- ast_node = identifier(utf8_string(chars), complete: completed)
6960
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
6961
6961
  @buffers[:ident] = ast_node
6962
6962
  end
6963
6963
  end
@@ -6966,7 +6966,7 @@ begin
6966
6966
  trace('IDENTIFIER an_ident_err')
6967
6967
  id_end = p
6968
6968
  chars = data[id_start...id_end]
6969
- ast_node = identifier(utf8_string(chars), complete: false)
6969
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
6970
6970
  @buffers[:ident] = ast_node
6971
6971
  end
6972
6972
  begin
@@ -6974,7 +6974,7 @@ begin
6974
6974
  trace('STRING a_string_err')
6975
6975
  p_end = p
6976
6976
  chars = data[p_start...p_end]
6977
- ast_node = string(utf8_string(chars), complete: false)
6977
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
6978
6978
  @buffers[:string] = ast_node
6979
6979
  end
6980
6980
  begin
@@ -7007,7 +7007,7 @@ begin
7007
7007
  id_end = p
7008
7008
  chars = data[id_start...id_end]
7009
7009
  completed = !chars.empty?
7010
- ast_node = identifier(utf8_string(chars), complete: completed)
7010
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
7011
7011
  @buffers[:ident] = ast_node
7012
7012
  end
7013
7013
  end
@@ -7016,7 +7016,7 @@ begin
7016
7016
  trace('IDENTIFIER an_ident_err')
7017
7017
  id_end = p
7018
7018
  chars = data[id_start...id_end]
7019
- ast_node = identifier(utf8_string(chars), complete: false)
7019
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
7020
7020
  @buffers[:ident] = ast_node
7021
7021
  end
7022
7022
  begin
@@ -7070,7 +7070,7 @@ begin
7070
7070
  id_end = p
7071
7071
  chars = data[id_start...id_end]
7072
7072
  completed = !chars.empty?
7073
- ast_node = identifier(utf8_string(chars), complete: completed)
7073
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
7074
7074
  @buffers[:ident] = ast_node
7075
7075
  end
7076
7076
  end
@@ -7107,7 +7107,7 @@ begin
7107
7107
  trace('STRING a_string_err')
7108
7108
  p_end = p
7109
7109
  chars = data[p_start...p_end]
7110
- ast_node = string(utf8_string(chars), complete: false)
7110
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
7111
7111
  @buffers[:string] = ast_node
7112
7112
  end
7113
7113
  begin
@@ -7117,7 +7117,7 @@ begin
7117
7117
  id_end = p
7118
7118
  chars = data[id_start...id_end]
7119
7119
  completed = !chars.empty?
7120
- ast_node = identifier(utf8_string(chars), complete: completed)
7120
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
7121
7121
  @buffers[:ident] = ast_node
7122
7122
  end
7123
7123
  end
@@ -7126,7 +7126,7 @@ begin
7126
7126
  trace('IDENTIFIER an_ident_err')
7127
7127
  id_end = p
7128
7128
  chars = data[id_start...id_end]
7129
- ast_node = identifier(utf8_string(chars), complete: false)
7129
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
7130
7130
  @buffers[:ident] = ast_node
7131
7131
  end
7132
7132
  begin
@@ -7145,7 +7145,7 @@ begin
7145
7145
  trace('STRING a_string_err')
7146
7146
  p_end = p
7147
7147
  chars = data[p_start...p_end]
7148
- ast_node = string(utf8_string(chars), complete: false)
7148
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
7149
7149
  @buffers[:string] = ast_node
7150
7150
  end
7151
7151
  begin
@@ -7155,7 +7155,7 @@ begin
7155
7155
  id_end = p
7156
7156
  chars = data[id_start...id_end]
7157
7157
  completed = !chars.empty?
7158
- ast_node = identifier(utf8_string(chars), complete: completed)
7158
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
7159
7159
  @buffers[:ident] = ast_node
7160
7160
  end
7161
7161
  end
@@ -7164,7 +7164,7 @@ begin
7164
7164
  trace('IDENTIFIER an_ident_err')
7165
7165
  id_end = p
7166
7166
  chars = data[id_start...id_end]
7167
- ast_node = identifier(utf8_string(chars), complete: false)
7167
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
7168
7168
  @buffers[:ident] = ast_node
7169
7169
  end
7170
7170
  begin
@@ -7203,7 +7203,7 @@ begin
7203
7203
  id_end = p
7204
7204
  chars = data[id_start...id_end]
7205
7205
  completed = !chars.empty?
7206
- ast_node = identifier(utf8_string(chars), complete: completed)
7206
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
7207
7207
  @buffers[:ident] = ast_node
7208
7208
  end
7209
7209
  end
@@ -7231,7 +7231,7 @@ begin
7231
7231
  id_end = p
7232
7232
  chars = data[id_start...id_end]
7233
7233
  completed = !chars.empty?
7234
- ast_node = identifier(utf8_string(chars), complete: completed)
7234
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
7235
7235
  @buffers[:ident] = ast_node
7236
7236
  end
7237
7237
  begin
@@ -7241,7 +7241,7 @@ begin
7241
7241
  id_end = p
7242
7242
  chars = data[id_start...id_end]
7243
7243
  completed = !chars.empty?
7244
- ast_node = identifier(utf8_string(chars), complete: completed)
7244
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
7245
7245
  @buffers[:ident] = ast_node
7246
7246
  end
7247
7247
  end