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
@@ -320,7 +320,7 @@ begin
320
320
  id_end = p
321
321
  chars = data[id_start...id_end]
322
322
  completed = !chars.empty?
323
- ast_node = identifier(utf8_string(chars), complete: completed)
323
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
324
324
  @buffers[:ident] = ast_node
325
325
  end
326
326
  when 24 then
@@ -329,7 +329,7 @@ begin
329
329
  trace('IDENTIFIER an_ident_err')
330
330
  id_end = p
331
331
  chars = data[id_start...id_end]
332
- ast_node = identifier(utf8_string(chars), complete: false)
332
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
333
333
  @buffers[:ident] = ast_node
334
334
  end
335
335
  when 29 then
@@ -338,7 +338,7 @@ begin
338
338
  trace('IDENTIFIER ident_node_err')
339
339
  id_end = p
340
340
  chars = data[id_start...id_end]
341
- ast_node = identifier(utf8_string(chars), complete: false)
341
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
342
342
  yield ast_node
343
343
  end
344
344
  when 4 then
@@ -354,7 +354,7 @@ begin
354
354
  trace('STRING a_string_err')
355
355
  p_end = p
356
356
  chars = data[p_start...p_end]
357
- ast_node = string(utf8_string(chars), complete: false)
357
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
358
358
  @buffers[:string] = ast_node
359
359
  end
360
360
  when 11 then
@@ -363,7 +363,7 @@ begin
363
363
  trace('STRING string_node_err')
364
364
  p_end = p
365
365
  chars = data[p_start...p_end]
366
- ast_node = string(utf8_string(chars), complete: false)
366
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
367
367
  yield ast_node
368
368
  end
369
369
  when 16 then
@@ -394,7 +394,7 @@ begin
394
394
  id_end = p
395
395
  chars = data[id_start...id_end]
396
396
  completed = !chars.empty?
397
- ast_node = identifier(utf8_string(chars), complete: completed)
397
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
398
398
  @buffers[:ident] = ast_node
399
399
  end
400
400
  begin
@@ -416,7 +416,7 @@ begin
416
416
  trace('STRING string_end')
417
417
  completed = @string_opened && @string_closed
418
418
  chars = data[p_start...p_end]
419
- ast_node = string(utf8_string(chars), complete: true)
419
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
420
420
  @buffers[:string] = ast_node
421
421
  end
422
422
  when 8 then
@@ -425,7 +425,7 @@ begin
425
425
  trace('STRING a_string_err')
426
426
  p_end = p
427
427
  chars = data[p_start...p_end]
428
- ast_node = string(utf8_string(chars), complete: false)
428
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
429
429
  @buffers[:string] = ast_node
430
430
  end
431
431
  begin
@@ -433,7 +433,7 @@ begin
433
433
  trace('IDENTIFIER an_ident_err')
434
434
  id_end = p
435
435
  chars = data[id_start...id_end]
436
- ast_node = identifier(utf8_string(chars), complete: false)
436
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
437
437
  @buffers[:ident] = ast_node
438
438
  end
439
439
  when 17 then
@@ -467,7 +467,7 @@ begin
467
467
  trace('STRING string_end')
468
468
  completed = @string_opened && @string_closed
469
469
  chars = data[p_start...p_end]
470
- ast_node = string(utf8_string(chars), complete: true)
470
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
471
471
  @buffers[:string] = ast_node
472
472
  end
473
473
  when 14 then
@@ -482,7 +482,7 @@ begin
482
482
  trace('STRING string_end')
483
483
  completed = @string_opened && @string_closed
484
484
  chars = data[p_start...p_end]
485
- ast_node = string(utf8_string(chars), complete: true)
485
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
486
486
  @buffers[:string] = ast_node
487
487
  end
488
488
  begin
@@ -508,7 +508,7 @@ begin
508
508
  trace('STRING string_end')
509
509
  completed = @string_opened && @string_closed
510
510
  chars = data[p_start...p_end]
511
- ast_node = string(utf8_string(chars), complete: true)
511
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
512
512
  @buffers[:string] = ast_node
513
513
  end
514
514
  begin
@@ -546,7 +546,7 @@ begin
546
546
  id_end = p
547
547
  chars = data[id_start...id_end]
548
548
  completed = !chars.empty?
549
- ast_node = identifier(utf8_string(chars), complete: completed)
549
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
550
550
  @buffers[:ident] = ast_node
551
551
  end
552
552
  begin
@@ -560,7 +560,7 @@ begin
560
560
  trace('STRING a_string_err')
561
561
  p_end = p
562
562
  chars = data[p_start...p_end]
563
- ast_node = string(utf8_string(chars), complete: false)
563
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
564
564
  @buffers[:string] = ast_node
565
565
  end
566
566
  begin
@@ -579,7 +579,7 @@ begin
579
579
  trace('STRING string_node_err')
580
580
  p_end = p
581
581
  chars = data[p_start...p_end]
582
- ast_node = string(utf8_string(chars), complete: false)
582
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
583
583
  yield ast_node
584
584
  end
585
585
  begin
@@ -611,7 +611,7 @@ begin
611
611
  trace('STRING eof_string')
612
612
  p_end = p
613
613
  chars = data[p_start...p_end]
614
- ast_node = string(utf8_string(chars), complete: false)
614
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
615
615
  @buffers[:string] = ast_node
616
616
  end
617
617
  begin
@@ -619,7 +619,7 @@ begin
619
619
  trace('STRING a_string_err')
620
620
  p_end = p
621
621
  chars = data[p_start...p_end]
622
- ast_node = string(utf8_string(chars), complete: false)
622
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
623
623
  @buffers[:string] = ast_node
624
624
  end
625
625
  begin
@@ -638,7 +638,7 @@ begin
638
638
  trace('STRING eof_string')
639
639
  p_end = p
640
640
  chars = data[p_start...p_end]
641
- ast_node = string(utf8_string(chars), complete: false)
641
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
642
642
  @buffers[:string] = ast_node
643
643
  end
644
644
  begin
@@ -646,7 +646,7 @@ begin
646
646
  trace('STRING string_node_err')
647
647
  p_end = p
648
648
  chars = data[p_start...p_end]
649
- ast_node = string(utf8_string(chars), complete: false)
649
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
650
650
  yield ast_node
651
651
  end
652
652
  begin
@@ -738,7 +738,7 @@ begin
738
738
  id_end = p
739
739
  chars = data[id_start...id_end]
740
740
  completed = !chars.empty?
741
- ast_node = identifier(utf8_string(chars), complete: completed)
741
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
742
742
  @buffers[:ident] = ast_node
743
743
  end
744
744
  end
@@ -775,7 +775,7 @@ begin
775
775
  trace('STRING a_string_err')
776
776
  p_end = p
777
777
  chars = data[p_start...p_end]
778
- ast_node = string(utf8_string(chars), complete: false)
778
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
779
779
  @buffers[:string] = ast_node
780
780
  end
781
781
  begin
@@ -785,7 +785,7 @@ begin
785
785
  id_end = p
786
786
  chars = data[id_start...id_end]
787
787
  completed = !chars.empty?
788
- ast_node = identifier(utf8_string(chars), complete: completed)
788
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
789
789
  @buffers[:ident] = ast_node
790
790
  end
791
791
  end
@@ -794,7 +794,7 @@ begin
794
794
  trace('IDENTIFIER an_ident_err')
795
795
  id_end = p
796
796
  chars = data[id_start...id_end]
797
- ast_node = identifier(utf8_string(chars), complete: false)
797
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
798
798
  @buffers[:ident] = ast_node
799
799
  end
800
800
  begin
@@ -821,7 +821,7 @@ begin
821
821
  id_end = p
822
822
  chars = data[id_start...id_end]
823
823
  completed = !chars.empty?
824
- ast_node = identifier(utf8_string(chars), complete: completed)
824
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
825
825
  @buffers[:ident] = ast_node
826
826
  end
827
827
  end
@@ -849,7 +849,7 @@ begin
849
849
  id_end = p
850
850
  chars = data[id_start...id_end]
851
851
  completed = !chars.empty?
852
- ast_node = identifier(utf8_string(chars), complete: completed)
852
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
853
853
  @buffers[:ident] = ast_node
854
854
  end
855
855
  begin
@@ -859,7 +859,7 @@ begin
859
859
  id_end = p
860
860
  chars = data[id_start...id_end]
861
861
  completed = !chars.empty?
862
- ast_node = identifier(utf8_string(chars), complete: completed)
862
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
863
863
  @buffers[:ident] = ast_node
864
864
  end
865
865
  end
@@ -1215,7 +1215,7 @@ begin
1215
1215
  id_end = p
1216
1216
  chars = data[id_start...id_end]
1217
1217
  completed = !chars.empty?
1218
- ast_node = identifier(utf8_string(chars), complete: completed)
1218
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1219
1219
  @buffers[:ident] = ast_node
1220
1220
  end
1221
1221
  when 24 then
@@ -1224,7 +1224,7 @@ begin
1224
1224
  trace('IDENTIFIER an_ident_err')
1225
1225
  id_end = p
1226
1226
  chars = data[id_start...id_end]
1227
- ast_node = identifier(utf8_string(chars), complete: false)
1227
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
1228
1228
  @buffers[:ident] = ast_node
1229
1229
  end
1230
1230
  when 29 then
@@ -1233,7 +1233,7 @@ begin
1233
1233
  trace('IDENTIFIER ident_node_err')
1234
1234
  id_end = p
1235
1235
  chars = data[id_start...id_end]
1236
- ast_node = identifier(utf8_string(chars), complete: false)
1236
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
1237
1237
  yield ast_node
1238
1238
  end
1239
1239
  when 4 then
@@ -1249,7 +1249,7 @@ begin
1249
1249
  trace('STRING a_string_err')
1250
1250
  p_end = p
1251
1251
  chars = data[p_start...p_end]
1252
- ast_node = string(utf8_string(chars), complete: false)
1252
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1253
1253
  @buffers[:string] = ast_node
1254
1254
  end
1255
1255
  when 11 then
@@ -1258,7 +1258,7 @@ begin
1258
1258
  trace('STRING string_node_err')
1259
1259
  p_end = p
1260
1260
  chars = data[p_start...p_end]
1261
- ast_node = string(utf8_string(chars), complete: false)
1261
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1262
1262
  yield ast_node
1263
1263
  end
1264
1264
  when 16 then
@@ -1289,7 +1289,7 @@ begin
1289
1289
  id_end = p
1290
1290
  chars = data[id_start...id_end]
1291
1291
  completed = !chars.empty?
1292
- ast_node = identifier(utf8_string(chars), complete: completed)
1292
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1293
1293
  @buffers[:ident] = ast_node
1294
1294
  end
1295
1295
  begin
@@ -1311,7 +1311,7 @@ begin
1311
1311
  trace('STRING string_end')
1312
1312
  completed = @string_opened && @string_closed
1313
1313
  chars = data[p_start...p_end]
1314
- ast_node = string(utf8_string(chars), complete: true)
1314
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
1315
1315
  @buffers[:string] = ast_node
1316
1316
  end
1317
1317
  when 8 then
@@ -1320,7 +1320,7 @@ begin
1320
1320
  trace('STRING a_string_err')
1321
1321
  p_end = p
1322
1322
  chars = data[p_start...p_end]
1323
- ast_node = string(utf8_string(chars), complete: false)
1323
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1324
1324
  @buffers[:string] = ast_node
1325
1325
  end
1326
1326
  begin
@@ -1328,7 +1328,7 @@ begin
1328
1328
  trace('IDENTIFIER an_ident_err')
1329
1329
  id_end = p
1330
1330
  chars = data[id_start...id_end]
1331
- ast_node = identifier(utf8_string(chars), complete: false)
1331
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
1332
1332
  @buffers[:ident] = ast_node
1333
1333
  end
1334
1334
  when 17 then
@@ -1362,7 +1362,7 @@ begin
1362
1362
  trace('STRING string_end')
1363
1363
  completed = @string_opened && @string_closed
1364
1364
  chars = data[p_start...p_end]
1365
- ast_node = string(utf8_string(chars), complete: true)
1365
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
1366
1366
  @buffers[:string] = ast_node
1367
1367
  end
1368
1368
  when 14 then
@@ -1377,7 +1377,7 @@ begin
1377
1377
  trace('STRING string_end')
1378
1378
  completed = @string_opened && @string_closed
1379
1379
  chars = data[p_start...p_end]
1380
- ast_node = string(utf8_string(chars), complete: true)
1380
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
1381
1381
  @buffers[:string] = ast_node
1382
1382
  end
1383
1383
  begin
@@ -1403,7 +1403,7 @@ begin
1403
1403
  trace('STRING string_end')
1404
1404
  completed = @string_opened && @string_closed
1405
1405
  chars = data[p_start...p_end]
1406
- ast_node = string(utf8_string(chars), complete: true)
1406
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
1407
1407
  @buffers[:string] = ast_node
1408
1408
  end
1409
1409
  begin
@@ -1441,7 +1441,7 @@ begin
1441
1441
  id_end = p
1442
1442
  chars = data[id_start...id_end]
1443
1443
  completed = !chars.empty?
1444
- ast_node = identifier(utf8_string(chars), complete: completed)
1444
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1445
1445
  @buffers[:ident] = ast_node
1446
1446
  end
1447
1447
  begin
@@ -1455,7 +1455,7 @@ begin
1455
1455
  trace('STRING a_string_err')
1456
1456
  p_end = p
1457
1457
  chars = data[p_start...p_end]
1458
- ast_node = string(utf8_string(chars), complete: false)
1458
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1459
1459
  @buffers[:string] = ast_node
1460
1460
  end
1461
1461
  begin
@@ -1474,7 +1474,7 @@ begin
1474
1474
  trace('STRING string_node_err')
1475
1475
  p_end = p
1476
1476
  chars = data[p_start...p_end]
1477
- ast_node = string(utf8_string(chars), complete: false)
1477
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1478
1478
  yield ast_node
1479
1479
  end
1480
1480
  begin
@@ -1506,7 +1506,7 @@ begin
1506
1506
  trace('STRING eof_string')
1507
1507
  p_end = p
1508
1508
  chars = data[p_start...p_end]
1509
- ast_node = string(utf8_string(chars), complete: false)
1509
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1510
1510
  @buffers[:string] = ast_node
1511
1511
  end
1512
1512
  begin
@@ -1514,7 +1514,7 @@ begin
1514
1514
  trace('STRING a_string_err')
1515
1515
  p_end = p
1516
1516
  chars = data[p_start...p_end]
1517
- ast_node = string(utf8_string(chars), complete: false)
1517
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1518
1518
  @buffers[:string] = ast_node
1519
1519
  end
1520
1520
  begin
@@ -1533,7 +1533,7 @@ begin
1533
1533
  trace('STRING eof_string')
1534
1534
  p_end = p
1535
1535
  chars = data[p_start...p_end]
1536
- ast_node = string(utf8_string(chars), complete: false)
1536
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1537
1537
  @buffers[:string] = ast_node
1538
1538
  end
1539
1539
  begin
@@ -1541,7 +1541,7 @@ begin
1541
1541
  trace('STRING string_node_err')
1542
1542
  p_end = p
1543
1543
  chars = data[p_start...p_end]
1544
- ast_node = string(utf8_string(chars), complete: false)
1544
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1545
1545
  yield ast_node
1546
1546
  end
1547
1547
  begin
@@ -1633,7 +1633,7 @@ begin
1633
1633
  id_end = p
1634
1634
  chars = data[id_start...id_end]
1635
1635
  completed = !chars.empty?
1636
- ast_node = identifier(utf8_string(chars), complete: completed)
1636
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1637
1637
  @buffers[:ident] = ast_node
1638
1638
  end
1639
1639
  end
@@ -1670,7 +1670,7 @@ begin
1670
1670
  trace('STRING a_string_err')
1671
1671
  p_end = p
1672
1672
  chars = data[p_start...p_end]
1673
- ast_node = string(utf8_string(chars), complete: false)
1673
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
1674
1674
  @buffers[:string] = ast_node
1675
1675
  end
1676
1676
  begin
@@ -1680,7 +1680,7 @@ begin
1680
1680
  id_end = p
1681
1681
  chars = data[id_start...id_end]
1682
1682
  completed = !chars.empty?
1683
- ast_node = identifier(utf8_string(chars), complete: completed)
1683
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1684
1684
  @buffers[:ident] = ast_node
1685
1685
  end
1686
1686
  end
@@ -1689,7 +1689,7 @@ begin
1689
1689
  trace('IDENTIFIER an_ident_err')
1690
1690
  id_end = p
1691
1691
  chars = data[id_start...id_end]
1692
- ast_node = identifier(utf8_string(chars), complete: false)
1692
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
1693
1693
  @buffers[:ident] = ast_node
1694
1694
  end
1695
1695
  begin
@@ -1716,7 +1716,7 @@ begin
1716
1716
  id_end = p
1717
1717
  chars = data[id_start...id_end]
1718
1718
  completed = !chars.empty?
1719
- ast_node = identifier(utf8_string(chars), complete: completed)
1719
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1720
1720
  @buffers[:ident] = ast_node
1721
1721
  end
1722
1722
  end
@@ -1744,7 +1744,7 @@ begin
1744
1744
  id_end = p
1745
1745
  chars = data[id_start...id_end]
1746
1746
  completed = !chars.empty?
1747
- ast_node = identifier(utf8_string(chars), complete: completed)
1747
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1748
1748
  @buffers[:ident] = ast_node
1749
1749
  end
1750
1750
  begin
@@ -1754,7 +1754,7 @@ begin
1754
1754
  id_end = p
1755
1755
  chars = data[id_start...id_end]
1756
1756
  completed = !chars.empty?
1757
- ast_node = identifier(utf8_string(chars), complete: completed)
1757
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
1758
1758
  @buffers[:ident] = ast_node
1759
1759
  end
1760
1760
  end
@@ -2165,7 +2165,7 @@ begin
2165
2165
  id_end = p
2166
2166
  chars = data[id_start...id_end]
2167
2167
  completed = !chars.empty?
2168
- ast_node = identifier(utf8_string(chars), complete: completed)
2168
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
2169
2169
  @buffers[:ident] = ast_node
2170
2170
  end
2171
2171
  when 24 then
@@ -2174,7 +2174,7 @@ begin
2174
2174
  trace('IDENTIFIER an_ident_err')
2175
2175
  id_end = p
2176
2176
  chars = data[id_start...id_end]
2177
- ast_node = identifier(utf8_string(chars), complete: false)
2177
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
2178
2178
  @buffers[:ident] = ast_node
2179
2179
  end
2180
2180
  when 29 then
@@ -2183,7 +2183,7 @@ begin
2183
2183
  trace('IDENTIFIER ident_node_err')
2184
2184
  id_end = p
2185
2185
  chars = data[id_start...id_end]
2186
- ast_node = identifier(utf8_string(chars), complete: false)
2186
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
2187
2187
  yield ast_node
2188
2188
  end
2189
2189
  when 4 then
@@ -2199,7 +2199,7 @@ begin
2199
2199
  trace('STRING a_string_err')
2200
2200
  p_end = p
2201
2201
  chars = data[p_start...p_end]
2202
- ast_node = string(utf8_string(chars), complete: false)
2202
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2203
2203
  @buffers[:string] = ast_node
2204
2204
  end
2205
2205
  when 11 then
@@ -2208,7 +2208,7 @@ begin
2208
2208
  trace('STRING string_node_err')
2209
2209
  p_end = p
2210
2210
  chars = data[p_start...p_end]
2211
- ast_node = string(utf8_string(chars), complete: false)
2211
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2212
2212
  yield ast_node
2213
2213
  end
2214
2214
  when 16 then
@@ -2239,7 +2239,7 @@ begin
2239
2239
  id_end = p
2240
2240
  chars = data[id_start...id_end]
2241
2241
  completed = !chars.empty?
2242
- ast_node = identifier(utf8_string(chars), complete: completed)
2242
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
2243
2243
  @buffers[:ident] = ast_node
2244
2244
  end
2245
2245
  begin
@@ -2261,7 +2261,7 @@ begin
2261
2261
  trace('STRING string_end')
2262
2262
  completed = @string_opened && @string_closed
2263
2263
  chars = data[p_start...p_end]
2264
- ast_node = string(utf8_string(chars), complete: true)
2264
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
2265
2265
  @buffers[:string] = ast_node
2266
2266
  end
2267
2267
  when 8 then
@@ -2270,7 +2270,7 @@ begin
2270
2270
  trace('STRING a_string_err')
2271
2271
  p_end = p
2272
2272
  chars = data[p_start...p_end]
2273
- ast_node = string(utf8_string(chars), complete: false)
2273
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2274
2274
  @buffers[:string] = ast_node
2275
2275
  end
2276
2276
  begin
@@ -2278,7 +2278,7 @@ begin
2278
2278
  trace('IDENTIFIER an_ident_err')
2279
2279
  id_end = p
2280
2280
  chars = data[id_start...id_end]
2281
- ast_node = identifier(utf8_string(chars), complete: false)
2281
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
2282
2282
  @buffers[:ident] = ast_node
2283
2283
  end
2284
2284
  when 17 then
@@ -2312,7 +2312,7 @@ begin
2312
2312
  trace('STRING string_end')
2313
2313
  completed = @string_opened && @string_closed
2314
2314
  chars = data[p_start...p_end]
2315
- ast_node = string(utf8_string(chars), complete: true)
2315
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
2316
2316
  @buffers[:string] = ast_node
2317
2317
  end
2318
2318
  when 14 then
@@ -2327,7 +2327,7 @@ begin
2327
2327
  trace('STRING string_end')
2328
2328
  completed = @string_opened && @string_closed
2329
2329
  chars = data[p_start...p_end]
2330
- ast_node = string(utf8_string(chars), complete: true)
2330
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
2331
2331
  @buffers[:string] = ast_node
2332
2332
  end
2333
2333
  begin
@@ -2353,7 +2353,7 @@ begin
2353
2353
  trace('STRING string_end')
2354
2354
  completed = @string_opened && @string_closed
2355
2355
  chars = data[p_start...p_end]
2356
- ast_node = string(utf8_string(chars), complete: true)
2356
+ ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
2357
2357
  @buffers[:string] = ast_node
2358
2358
  end
2359
2359
  begin
@@ -2391,7 +2391,7 @@ begin
2391
2391
  id_end = p
2392
2392
  chars = data[id_start...id_end]
2393
2393
  completed = !chars.empty?
2394
- ast_node = identifier(utf8_string(chars), complete: completed)
2394
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
2395
2395
  @buffers[:ident] = ast_node
2396
2396
  end
2397
2397
  begin
@@ -2405,7 +2405,7 @@ begin
2405
2405
  trace('STRING a_string_err')
2406
2406
  p_end = p
2407
2407
  chars = data[p_start...p_end]
2408
- ast_node = string(utf8_string(chars), complete: false)
2408
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2409
2409
  @buffers[:string] = ast_node
2410
2410
  end
2411
2411
  begin
@@ -2424,7 +2424,7 @@ begin
2424
2424
  trace('STRING string_node_err')
2425
2425
  p_end = p
2426
2426
  chars = data[p_start...p_end]
2427
- ast_node = string(utf8_string(chars), complete: false)
2427
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2428
2428
  yield ast_node
2429
2429
  end
2430
2430
  begin
@@ -2456,7 +2456,7 @@ begin
2456
2456
  trace('STRING eof_string')
2457
2457
  p_end = p
2458
2458
  chars = data[p_start...p_end]
2459
- ast_node = string(utf8_string(chars), complete: false)
2459
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2460
2460
  @buffers[:string] = ast_node
2461
2461
  end
2462
2462
  begin
@@ -2464,7 +2464,7 @@ begin
2464
2464
  trace('STRING a_string_err')
2465
2465
  p_end = p
2466
2466
  chars = data[p_start...p_end]
2467
- ast_node = string(utf8_string(chars), complete: false)
2467
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2468
2468
  @buffers[:string] = ast_node
2469
2469
  end
2470
2470
  begin
@@ -2483,7 +2483,7 @@ begin
2483
2483
  trace('STRING eof_string')
2484
2484
  p_end = p
2485
2485
  chars = data[p_start...p_end]
2486
- ast_node = string(utf8_string(chars), complete: false)
2486
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2487
2487
  @buffers[:string] = ast_node
2488
2488
  end
2489
2489
  begin
@@ -2491,7 +2491,7 @@ begin
2491
2491
  trace('STRING string_node_err')
2492
2492
  p_end = p
2493
2493
  chars = data[p_start...p_end]
2494
- ast_node = string(utf8_string(chars), complete: false)
2494
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2495
2495
  yield ast_node
2496
2496
  end
2497
2497
  begin
@@ -2583,7 +2583,7 @@ begin
2583
2583
  id_end = p
2584
2584
  chars = data[id_start...id_end]
2585
2585
  completed = !chars.empty?
2586
- ast_node = identifier(utf8_string(chars), complete: completed)
2586
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
2587
2587
  @buffers[:ident] = ast_node
2588
2588
  end
2589
2589
  end
@@ -2620,7 +2620,7 @@ begin
2620
2620
  trace('STRING a_string_err')
2621
2621
  p_end = p
2622
2622
  chars = data[p_start...p_end]
2623
- ast_node = string(utf8_string(chars), complete: false)
2623
+ ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
2624
2624
  @buffers[:string] = ast_node
2625
2625
  end
2626
2626
  begin
@@ -2630,7 +2630,7 @@ begin
2630
2630
  id_end = p
2631
2631
  chars = data[id_start...id_end]
2632
2632
  completed = !chars.empty?
2633
- ast_node = identifier(utf8_string(chars), complete: completed)
2633
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
2634
2634
  @buffers[:ident] = ast_node
2635
2635
  end
2636
2636
  end
@@ -2639,7 +2639,7 @@ begin
2639
2639
  trace('IDENTIFIER an_ident_err')
2640
2640
  id_end = p
2641
2641
  chars = data[id_start...id_end]
2642
- ast_node = identifier(utf8_string(chars), complete: false)
2642
+ ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
2643
2643
  @buffers[:ident] = ast_node
2644
2644
  end
2645
2645
  begin
@@ -2666,7 +2666,7 @@ begin
2666
2666
  id_end = p
2667
2667
  chars = data[id_start...id_end]
2668
2668
  completed = !chars.empty?
2669
- ast_node = identifier(utf8_string(chars), complete: completed)
2669
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
2670
2670
  @buffers[:ident] = ast_node
2671
2671
  end
2672
2672
  end
@@ -2694,7 +2694,7 @@ begin
2694
2694
  id_end = p
2695
2695
  chars = data[id_start...id_end]
2696
2696
  completed = !chars.empty?
2697
- ast_node = identifier(utf8_string(chars), complete: completed)
2697
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
2698
2698
  @buffers[:ident] = ast_node
2699
2699
  end
2700
2700
  begin
@@ -2704,7 +2704,7 @@ begin
2704
2704
  id_end = p
2705
2705
  chars = data[id_start...id_end]
2706
2706
  completed = !chars.empty?
2707
- ast_node = identifier(utf8_string(chars), complete: completed)
2707
+ ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
2708
2708
  @buffers[:ident] = ast_node
2709
2709
  end
2710
2710
  end