bel_parser 1.0.8-java → 1.1.1-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/{.gemspec-java → .gemspec} +11 -4
- data/VERSION +1 -1
- data/bin/bel2_compatibility +12 -9
- data/bin/bel2_upgrade +18 -6
- data/bin/bel2_validator +6 -3
- data/bin/bel_script_reader +1 -0
- data/lib/bel_parser/completion.rb +984 -0
- data/lib/bel_parser/language/apply_namespace_encoding.rb +14 -3
- data/lib/bel_parser/language/expression_validator.rb +1 -2
- data/lib/bel_parser/language/function.rb +4 -0
- data/lib/bel_parser/language/relationship.rb +4 -0
- data/lib/bel_parser/language/semantics/function_deprecation.rb +1 -0
- data/lib/bel_parser/language/semantics/list_function_subject.rb +2 -0
- data/lib/bel_parser/language/semantics/multiple_subject_object.rb +4 -1
- data/lib/bel_parser/language/semantics/nested_statement_without_object.rb +43 -0
- data/lib/bel_parser/language/semantics/non_object_list.rb +3 -0
- data/lib/bel_parser/language/semantics/relationship_not_listable.rb +2 -0
- data/lib/bel_parser/language/semantics/signature_mapping.rb +2 -0
- data/lib/bel_parser/language/semantics_ast.rb +0 -7
- data/lib/bel_parser/language/syntax/invalid_function.rb +6 -1
- data/lib/bel_parser/language/syntax/invalid_relationship.rb +1 -0
- data/lib/bel_parser/language/version1_0/relationships/acts_in.rb +9 -9
- data/lib/bel_parser/language/version1_0/relationships/analogous.rb +6 -4
- data/lib/bel_parser/language/version1_0/relationships/association.rb +8 -7
- data/lib/bel_parser/language/version1_0/relationships/biomarker_for.rb +6 -5
- data/lib/bel_parser/language/version1_0/relationships/causes_no_change.rb +8 -7
- data/lib/bel_parser/language/version1_0/relationships/decreases.rb +13 -12
- data/lib/bel_parser/language/version1_0/relationships/directly_decreases.rb +8 -6
- data/lib/bel_parser/language/version1_0/relationships/directly_increases.rb +8 -6
- data/lib/bel_parser/language/version1_0/relationships/has_component.rb +14 -14
- data/lib/bel_parser/language/version1_0/relationships/has_components.rb +12 -11
- data/lib/bel_parser/language/version1_0/relationships/has_member.rb +10 -8
- data/lib/bel_parser/language/version1_0/relationships/has_members.rb +12 -11
- data/lib/bel_parser/language/version1_0/relationships/has_modification.rb +9 -7
- data/lib/bel_parser/language/version1_0/relationships/has_product.rb +10 -8
- data/lib/bel_parser/language/version1_0/relationships/has_variant.rb +9 -7
- data/lib/bel_parser/language/version1_0/relationships/includes.rb +11 -10
- data/lib/bel_parser/language/version1_0/relationships/increases.rb +12 -13
- data/lib/bel_parser/language/version1_0/relationships/is_a.rb +10 -8
- data/lib/bel_parser/language/version1_0/relationships/negative_correlation.rb +9 -7
- data/lib/bel_parser/language/version1_0/relationships/orthologous.rb +9 -8
- data/lib/bel_parser/language/version1_0/relationships/positive_correlation.rb +8 -5
- data/lib/bel_parser/language/version1_0/relationships/prognostic_biomarker_for.rb +8 -6
- data/lib/bel_parser/language/version1_0/relationships/rate_limiting_step_of.rb +10 -9
- data/lib/bel_parser/language/version1_0/relationships/reactant_in.rb +10 -8
- data/lib/bel_parser/language/version1_0/relationships/sub_process_of.rb +13 -12
- data/lib/bel_parser/language/version1_0/relationships/transcribed_to.rb +8 -7
- data/lib/bel_parser/language/version1_0/relationships/translated_to.rb +9 -7
- data/lib/bel_parser/language/version1_0/relationships/translocates.rb +10 -9
- data/lib/bel_parser/language/version2_0/functions/protein_modification.rb +1 -2
- data/lib/bel_parser/language/version2_0/functions/translocation.rb +1 -2
- data/lib/bel_parser/language/version2_0/functions/variant.rb +1 -2
- data/lib/bel_parser/language/version2_0/relationships/acts_in.rb +10 -9
- data/lib/bel_parser/language/version2_0/relationships/biomarker_for.rb +7 -5
- data/lib/bel_parser/language/version2_0/relationships/causes_no_change.rb +9 -7
- data/lib/bel_parser/language/version2_0/relationships/decreases.rb +13 -12
- data/lib/bel_parser/language/version2_0/relationships/directly_decreases.rb +8 -6
- data/lib/bel_parser/language/version2_0/relationships/directly_increases.rb +8 -6
- data/lib/bel_parser/language/version2_0/relationships/has_component.rb +15 -14
- data/lib/bel_parser/language/version2_0/relationships/has_components.rb +12 -11
- data/lib/bel_parser/language/version2_0/relationships/has_member.rb +9 -8
- data/lib/bel_parser/language/version2_0/relationships/has_members.rb +12 -11
- data/lib/bel_parser/language/version2_0/relationships/has_modification.rb +9 -7
- data/lib/bel_parser/language/version2_0/relationships/has_product.rb +10 -8
- data/lib/bel_parser/language/version2_0/relationships/has_variant.rb +9 -7
- data/lib/bel_parser/language/version2_0/relationships/includes.rb +11 -10
- data/lib/bel_parser/language/version2_0/relationships/increases.rb +13 -12
- data/lib/bel_parser/language/version2_0/relationships/is_a.rb +10 -8
- data/lib/bel_parser/language/version2_0/relationships/negative_correlation.rb +9 -7
- data/lib/bel_parser/language/version2_0/relationships/orthologous.rb +10 -8
- data/lib/bel_parser/language/version2_0/relationships/positive_correlation.rb +7 -5
- data/lib/bel_parser/language/version2_0/relationships/prognostic_biomarker_for.rb +8 -6
- data/lib/bel_parser/language/version2_0/relationships/rate_limiting_step_of.rb +10 -9
- data/lib/bel_parser/language/version2_0/relationships/reactant_in.rb +10 -8
- data/lib/bel_parser/language/version2_0/relationships/regulates.rb +9 -8
- data/lib/bel_parser/language/version2_0/relationships/sub_process_of.rb +13 -12
- data/lib/bel_parser/language/version2_0/relationships/transcribed_to.rb +8 -7
- data/lib/bel_parser/language/version2_0/relationships/translated_to.rb +9 -7
- data/lib/bel_parser/language/version2_0/relationships/translocates.rb +10 -9
- data/lib/bel_parser/mixin/levenshtein.rb +20 -0
- data/lib/bel_parser/parsers/ast/node.rb +49 -2
- data/lib/bel_parser/parsers/bel_script/define_annotation.rb +156 -156
- data/lib/bel_parser/parsers/bel_script/define_namespace.rb +60 -60
- data/lib/bel_parser/parsers/bel_script/set.rb +200 -200
- data/lib/bel_parser/parsers/bel_script/set_document.rb +188 -188
- data/lib/bel_parser/parsers/bel_script/unset.rb +14 -14
- data/lib/bel_parser/parsers/common/common.rl +1 -0
- data/lib/bel_parser/parsers/common/function.rb +8 -8
- data/lib/bel_parser/parsers/common/function.rl +6 -6
- data/lib/bel_parser/parsers/common/identifier.rb +3 -3
- data/lib/bel_parser/parsers/common/identifier.rl +4 -4
- data/lib/bel_parser/parsers/common/list.rb +78 -78
- data/lib/bel_parser/parsers/common/multi_identifier.rb +275 -0
- data/lib/bel_parser/parsers/common/multi_identifier.rl +141 -0
- data/lib/bel_parser/parsers/common/string.rb +6 -6
- data/lib/bel_parser/parsers/common/string.rl +4 -4
- data/lib/bel_parser/parsers/common.rb +1 -0
- data/lib/bel_parser/parsers/expression/nested_statement.rb +30180 -29055
- data/lib/bel_parser/parsers/expression/observed_term.rb +1456 -1099
- data/lib/bel_parser/parsers/expression/parameter.rb +192 -111
- data/lib/bel_parser/parsers/expression/parameter.rl +6 -3
- data/lib/bel_parser/parsers/expression/relationship.rb +43 -19
- data/lib/bel_parser/parsers/expression/relationship.rl +1 -0
- data/lib/bel_parser/parsers/expression/simple_statement.rb +17805 -17093
- data/lib/bel_parser/parsers/expression/statement_autocomplete.rb +1035 -0
- data/lib/bel_parser/parsers/expression/statement_autocomplete.rl +736 -0
- data/lib/bel_parser/parsers/expression/term.rb +960 -705
- data/lib/bel_parser/parsers/serializer.rb +8 -4
- data/lib/bel_parser/version.rb +33 -0
- data/lib/bel_parser.rb +3 -0
- metadata +26 -4
|
@@ -313,7 +313,7 @@ begin
|
|
|
313
313
|
id_end = p
|
|
314
314
|
chars = data[id_start...id_end]
|
|
315
315
|
completed = !chars.empty?
|
|
316
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
316
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
317
317
|
@buffers[:ident] = ast_node
|
|
318
318
|
end
|
|
319
319
|
when 17 then
|
|
@@ -322,7 +322,7 @@ begin
|
|
|
322
322
|
trace('IDENTIFIER an_ident_err')
|
|
323
323
|
id_end = p
|
|
324
324
|
chars = data[id_start...id_end]
|
|
325
|
-
ast_node = identifier(utf8_string(chars), complete: false)
|
|
325
|
+
ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
|
|
326
326
|
@buffers[:ident] = ast_node
|
|
327
327
|
end
|
|
328
328
|
when 29 then
|
|
@@ -331,7 +331,7 @@ begin
|
|
|
331
331
|
trace('IDENTIFIER ident_node_err')
|
|
332
332
|
id_end = p
|
|
333
333
|
chars = data[id_start...id_end]
|
|
334
|
-
ast_node = identifier(utf8_string(chars), complete: false)
|
|
334
|
+
ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
|
|
335
335
|
yield ast_node
|
|
336
336
|
end
|
|
337
337
|
when 7 then
|
|
@@ -347,7 +347,7 @@ begin
|
|
|
347
347
|
trace('STRING a_string_err')
|
|
348
348
|
p_end = p
|
|
349
349
|
chars = data[p_start...p_end]
|
|
350
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
350
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
351
351
|
@buffers[:string] = ast_node
|
|
352
352
|
end
|
|
353
353
|
when 11 then
|
|
@@ -356,7 +356,7 @@ begin
|
|
|
356
356
|
trace('STRING string_node_err')
|
|
357
357
|
p_end = p
|
|
358
358
|
chars = data[p_start...p_end]
|
|
359
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
359
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
360
360
|
yield ast_node
|
|
361
361
|
end
|
|
362
362
|
when 22 then
|
|
@@ -364,7 +364,7 @@ begin
|
|
|
364
364
|
|
|
365
365
|
trace('PARAMETER add_prefix')
|
|
366
366
|
ident = @buffers.delete(:ident)
|
|
367
|
-
prefix_node = prefix(ident, complete: ident.complete)
|
|
367
|
+
prefix_node = prefix(ident, complete: ident.complete, character_range: ident.character_range)
|
|
368
368
|
@buffers[:param_prefix] = prefix_node
|
|
369
369
|
end
|
|
370
370
|
when 2 then
|
|
@@ -373,7 +373,7 @@ begin
|
|
|
373
373
|
trace('IDENTIFIER an_ident_err')
|
|
374
374
|
id_end = p
|
|
375
375
|
chars = data[id_start...id_end]
|
|
376
|
-
ast_node = identifier(utf8_string(chars), complete: false)
|
|
376
|
+
ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
|
|
377
377
|
@buffers[:ident] = ast_node
|
|
378
378
|
end
|
|
379
379
|
begin
|
|
@@ -381,7 +381,7 @@ begin
|
|
|
381
381
|
trace('STRING a_string_err')
|
|
382
382
|
p_end = p
|
|
383
383
|
chars = data[p_start...p_end]
|
|
384
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
384
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
385
385
|
@buffers[:string] = ast_node
|
|
386
386
|
end
|
|
387
387
|
when 9 then
|
|
@@ -396,7 +396,7 @@ begin
|
|
|
396
396
|
trace('STRING string_end')
|
|
397
397
|
completed = @string_opened && @string_closed
|
|
398
398
|
chars = data[p_start...p_end]
|
|
399
|
-
ast_node = string(utf8_string(chars), complete: true)
|
|
399
|
+
ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
|
|
400
400
|
@buffers[:string] = ast_node
|
|
401
401
|
end
|
|
402
402
|
when 26 then
|
|
@@ -412,6 +412,7 @@ begin
|
|
|
412
412
|
trace('PN incomplete')
|
|
413
413
|
completed = false
|
|
414
414
|
end
|
|
415
|
+
param_start = prefix_node.range_start
|
|
415
416
|
else
|
|
416
417
|
prefix_node = prefix(nil)
|
|
417
418
|
prefix_node.complete = true
|
|
@@ -428,6 +429,8 @@ begin
|
|
|
428
429
|
trace('VN incomplete')
|
|
429
430
|
completed = false
|
|
430
431
|
end
|
|
432
|
+
param_start ||= value_node.range_start
|
|
433
|
+
param_node.character_range = [param_start, value_node.range_end]
|
|
431
434
|
else
|
|
432
435
|
completed = false
|
|
433
436
|
end
|
|
@@ -445,7 +448,7 @@ begin
|
|
|
445
448
|
|
|
446
449
|
trace('PARAMETER add_prefix')
|
|
447
450
|
ident = @buffers.delete(:ident)
|
|
448
|
-
prefix_node = prefix(ident, complete: ident.complete)
|
|
451
|
+
prefix_node = prefix(ident, complete: ident.complete, character_range: ident.character_range)
|
|
449
452
|
@buffers[:param_prefix] = prefix_node
|
|
450
453
|
end
|
|
451
454
|
begin
|
|
@@ -472,7 +475,7 @@ begin
|
|
|
472
475
|
trace('STRING string_end')
|
|
473
476
|
completed = @string_opened && @string_closed
|
|
474
477
|
chars = data[p_start...p_end]
|
|
475
|
-
ast_node = string(utf8_string(chars), complete: true)
|
|
478
|
+
ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
|
|
476
479
|
@buffers[:string] = ast_node
|
|
477
480
|
end
|
|
478
481
|
when 14 then
|
|
@@ -487,7 +490,7 @@ begin
|
|
|
487
490
|
trace('STRING string_end')
|
|
488
491
|
completed = @string_opened && @string_closed
|
|
489
492
|
chars = data[p_start...p_end]
|
|
490
|
-
ast_node = string(utf8_string(chars), complete: true)
|
|
493
|
+
ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
|
|
491
494
|
@buffers[:string] = ast_node
|
|
492
495
|
end
|
|
493
496
|
begin
|
|
@@ -500,7 +503,7 @@ begin
|
|
|
500
503
|
|
|
501
504
|
trace('PARAMETER add_string_param_value')
|
|
502
505
|
string_node = @buffers.delete(:string)
|
|
503
|
-
value_node = value(string_node, complete: string_node.complete)
|
|
506
|
+
value_node = value(string_node, complete: string_node.complete, character_range: string_node.character_range)
|
|
504
507
|
@buffers[:param_value] = value_node
|
|
505
508
|
end
|
|
506
509
|
begin
|
|
@@ -515,6 +518,7 @@ begin
|
|
|
515
518
|
trace('PN incomplete')
|
|
516
519
|
completed = false
|
|
517
520
|
end
|
|
521
|
+
param_start = prefix_node.range_start
|
|
518
522
|
else
|
|
519
523
|
prefix_node = prefix(nil)
|
|
520
524
|
prefix_node.complete = true
|
|
@@ -531,6 +535,8 @@ begin
|
|
|
531
535
|
trace('VN incomplete')
|
|
532
536
|
completed = false
|
|
533
537
|
end
|
|
538
|
+
param_start ||= value_node.range_start
|
|
539
|
+
param_node.character_range = [param_start, value_node.range_end]
|
|
534
540
|
else
|
|
535
541
|
completed = false
|
|
536
542
|
end
|
|
@@ -548,7 +554,7 @@ begin
|
|
|
548
554
|
|
|
549
555
|
trace('PARAMETER add_prefix')
|
|
550
556
|
ident = @buffers.delete(:ident)
|
|
551
|
-
prefix_node = prefix(ident, complete: ident.complete)
|
|
557
|
+
prefix_node = prefix(ident, complete: ident.complete, character_range: ident.character_range)
|
|
552
558
|
@buffers[:param_prefix] = prefix_node
|
|
553
559
|
end
|
|
554
560
|
begin
|
|
@@ -563,6 +569,7 @@ begin
|
|
|
563
569
|
trace('PN incomplete')
|
|
564
570
|
completed = false
|
|
565
571
|
end
|
|
572
|
+
param_start = prefix_node.range_start
|
|
566
573
|
else
|
|
567
574
|
prefix_node = prefix(nil)
|
|
568
575
|
prefix_node.complete = true
|
|
@@ -579,6 +586,8 @@ begin
|
|
|
579
586
|
trace('VN incomplete')
|
|
580
587
|
completed = false
|
|
581
588
|
end
|
|
589
|
+
param_start ||= value_node.range_start
|
|
590
|
+
param_node.character_range = [param_start, value_node.range_end]
|
|
582
591
|
else
|
|
583
592
|
completed = false
|
|
584
593
|
end
|
|
@@ -598,14 +607,14 @@ begin
|
|
|
598
607
|
id_end = p
|
|
599
608
|
chars = data[id_start...id_end]
|
|
600
609
|
completed = !chars.empty?
|
|
601
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
610
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
602
611
|
@buffers[:ident] = ast_node
|
|
603
612
|
end
|
|
604
613
|
begin
|
|
605
614
|
|
|
606
615
|
trace('PARAMETER add_ident_param_value')
|
|
607
616
|
ident = @buffers.delete(:ident)
|
|
608
|
-
value_node = value(ident, complete: ident.complete)
|
|
617
|
+
value_node = value(ident, complete: ident.complete, character_range: ident.character_range)
|
|
609
618
|
@buffers[:param_value] = value_node
|
|
610
619
|
end
|
|
611
620
|
begin
|
|
@@ -620,6 +629,7 @@ begin
|
|
|
620
629
|
trace('PN incomplete')
|
|
621
630
|
completed = false
|
|
622
631
|
end
|
|
632
|
+
param_start = prefix_node.range_start
|
|
623
633
|
else
|
|
624
634
|
prefix_node = prefix(nil)
|
|
625
635
|
prefix_node.complete = true
|
|
@@ -636,6 +646,8 @@ begin
|
|
|
636
646
|
trace('VN incomplete')
|
|
637
647
|
completed = false
|
|
638
648
|
end
|
|
649
|
+
param_start ||= value_node.range_start
|
|
650
|
+
param_node.character_range = [param_start, value_node.range_end]
|
|
639
651
|
else
|
|
640
652
|
completed = false
|
|
641
653
|
end
|
|
@@ -666,7 +678,7 @@ begin
|
|
|
666
678
|
trace('STRING string_end')
|
|
667
679
|
completed = @string_opened && @string_closed
|
|
668
680
|
chars = data[p_start...p_end]
|
|
669
|
-
ast_node = string(utf8_string(chars), complete: true)
|
|
681
|
+
ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
|
|
670
682
|
@buffers[:string] = ast_node
|
|
671
683
|
end
|
|
672
684
|
begin
|
|
@@ -731,7 +743,7 @@ begin
|
|
|
731
743
|
id_end = p
|
|
732
744
|
chars = data[id_start...id_end]
|
|
733
745
|
completed = !chars.empty?
|
|
734
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
746
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
735
747
|
@buffers[:ident] = ast_node
|
|
736
748
|
end
|
|
737
749
|
begin
|
|
@@ -745,7 +757,7 @@ begin
|
|
|
745
757
|
trace('STRING a_string_err')
|
|
746
758
|
p_end = p
|
|
747
759
|
chars = data[p_start...p_end]
|
|
748
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
760
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
749
761
|
@buffers[:string] = ast_node
|
|
750
762
|
end
|
|
751
763
|
begin
|
|
@@ -780,7 +792,7 @@ begin
|
|
|
780
792
|
trace('STRING string_node_err')
|
|
781
793
|
p_end = p
|
|
782
794
|
chars = data[p_start...p_end]
|
|
783
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
795
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
784
796
|
yield ast_node
|
|
785
797
|
end
|
|
786
798
|
begin
|
|
@@ -796,7 +808,7 @@ begin
|
|
|
796
808
|
id_end = p
|
|
797
809
|
chars = data[id_start...id_end]
|
|
798
810
|
completed = !chars.empty?
|
|
799
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
811
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
800
812
|
@buffers[:ident] = ast_node
|
|
801
813
|
end
|
|
802
814
|
end
|
|
@@ -812,6 +824,7 @@ begin
|
|
|
812
824
|
trace('PN incomplete')
|
|
813
825
|
completed = false
|
|
814
826
|
end
|
|
827
|
+
param_start = prefix_node.range_start
|
|
815
828
|
else
|
|
816
829
|
prefix_node = prefix(nil)
|
|
817
830
|
prefix_node.complete = true
|
|
@@ -828,6 +841,8 @@ begin
|
|
|
828
841
|
trace('VN incomplete')
|
|
829
842
|
completed = false
|
|
830
843
|
end
|
|
844
|
+
param_start ||= value_node.range_start
|
|
845
|
+
param_node.character_range = [param_start, value_node.range_end]
|
|
831
846
|
else
|
|
832
847
|
completed = false
|
|
833
848
|
end
|
|
@@ -846,7 +861,7 @@ begin
|
|
|
846
861
|
trace('STRING eof_string')
|
|
847
862
|
p_end = p
|
|
848
863
|
chars = data[p_start...p_end]
|
|
849
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
864
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
850
865
|
@buffers[:string] = ast_node
|
|
851
866
|
end
|
|
852
867
|
begin
|
|
@@ -854,7 +869,7 @@ begin
|
|
|
854
869
|
trace('STRING a_string_err')
|
|
855
870
|
p_end = p
|
|
856
871
|
chars = data[p_start...p_end]
|
|
857
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
872
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
858
873
|
@buffers[:string] = ast_node
|
|
859
874
|
end
|
|
860
875
|
begin
|
|
@@ -889,7 +904,7 @@ begin
|
|
|
889
904
|
trace('STRING eof_string')
|
|
890
905
|
p_end = p
|
|
891
906
|
chars = data[p_start...p_end]
|
|
892
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
907
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
893
908
|
@buffers[:string] = ast_node
|
|
894
909
|
end
|
|
895
910
|
begin
|
|
@@ -897,7 +912,7 @@ begin
|
|
|
897
912
|
trace('STRING string_node_err')
|
|
898
913
|
p_end = p
|
|
899
914
|
chars = data[p_start...p_end]
|
|
900
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
915
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
901
916
|
yield ast_node
|
|
902
917
|
end
|
|
903
918
|
begin
|
|
@@ -910,7 +925,7 @@ begin
|
|
|
910
925
|
|
|
911
926
|
trace('PARAMETER add_string_param_value')
|
|
912
927
|
string_node = @buffers.delete(:string)
|
|
913
|
-
value_node = value(string_node, complete: string_node.complete)
|
|
928
|
+
value_node = value(string_node, complete: string_node.complete, character_range: string_node.character_range)
|
|
914
929
|
@buffers[:param_value] = value_node
|
|
915
930
|
end
|
|
916
931
|
begin
|
|
@@ -925,6 +940,7 @@ begin
|
|
|
925
940
|
trace('PN incomplete')
|
|
926
941
|
completed = false
|
|
927
942
|
end
|
|
943
|
+
param_start = prefix_node.range_start
|
|
928
944
|
else
|
|
929
945
|
prefix_node = prefix(nil)
|
|
930
946
|
prefix_node.complete = true
|
|
@@ -941,6 +957,8 @@ begin
|
|
|
941
957
|
trace('VN incomplete')
|
|
942
958
|
completed = false
|
|
943
959
|
end
|
|
960
|
+
param_start ||= value_node.range_start
|
|
961
|
+
param_node.character_range = [param_start, value_node.range_end]
|
|
944
962
|
else
|
|
945
963
|
completed = false
|
|
946
964
|
end
|
|
@@ -961,7 +979,7 @@ begin
|
|
|
961
979
|
id_end = p
|
|
962
980
|
chars = data[id_start...id_end]
|
|
963
981
|
completed = !chars.empty?
|
|
964
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
982
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
965
983
|
@buffers[:ident] = ast_node
|
|
966
984
|
end
|
|
967
985
|
end
|
|
@@ -970,7 +988,7 @@ begin
|
|
|
970
988
|
trace('IDENTIFIER an_ident_err')
|
|
971
989
|
id_end = p
|
|
972
990
|
chars = data[id_start...id_end]
|
|
973
|
-
ast_node = identifier(utf8_string(chars), complete: false)
|
|
991
|
+
ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
|
|
974
992
|
@buffers[:ident] = ast_node
|
|
975
993
|
end
|
|
976
994
|
begin
|
|
@@ -978,7 +996,7 @@ begin
|
|
|
978
996
|
trace('STRING a_string_err')
|
|
979
997
|
p_end = p
|
|
980
998
|
chars = data[p_start...p_end]
|
|
981
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
999
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
982
1000
|
@buffers[:string] = ast_node
|
|
983
1001
|
end
|
|
984
1002
|
begin
|
|
@@ -1015,7 +1033,7 @@ begin
|
|
|
1015
1033
|
id_end = p
|
|
1016
1034
|
chars = data[id_start...id_end]
|
|
1017
1035
|
completed = !chars.empty?
|
|
1018
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
1036
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
1019
1037
|
@buffers[:ident] = ast_node
|
|
1020
1038
|
end
|
|
1021
1039
|
end
|
|
@@ -1023,7 +1041,7 @@ begin
|
|
|
1023
1041
|
|
|
1024
1042
|
trace('PARAMETER add_prefix')
|
|
1025
1043
|
ident = @buffers.delete(:ident)
|
|
1026
|
-
prefix_node = prefix(ident, complete: ident.complete)
|
|
1044
|
+
prefix_node = prefix(ident, complete: ident.complete, character_range: ident.character_range)
|
|
1027
1045
|
@buffers[:param_prefix] = prefix_node
|
|
1028
1046
|
end
|
|
1029
1047
|
begin
|
|
@@ -1038,6 +1056,7 @@ begin
|
|
|
1038
1056
|
trace('PN incomplete')
|
|
1039
1057
|
completed = false
|
|
1040
1058
|
end
|
|
1059
|
+
param_start = prefix_node.range_start
|
|
1041
1060
|
else
|
|
1042
1061
|
prefix_node = prefix(nil)
|
|
1043
1062
|
prefix_node.complete = true
|
|
@@ -1054,6 +1073,8 @@ begin
|
|
|
1054
1073
|
trace('VN incomplete')
|
|
1055
1074
|
completed = false
|
|
1056
1075
|
end
|
|
1076
|
+
param_start ||= value_node.range_start
|
|
1077
|
+
param_node.character_range = [param_start, value_node.range_end]
|
|
1057
1078
|
else
|
|
1058
1079
|
completed = false
|
|
1059
1080
|
end
|
|
@@ -1073,7 +1094,7 @@ begin
|
|
|
1073
1094
|
id_end = p
|
|
1074
1095
|
chars = data[id_start...id_end]
|
|
1075
1096
|
completed = !chars.empty?
|
|
1076
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
1097
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
1077
1098
|
@buffers[:ident] = ast_node
|
|
1078
1099
|
end
|
|
1079
1100
|
begin
|
|
@@ -1083,7 +1104,7 @@ begin
|
|
|
1083
1104
|
id_end = p
|
|
1084
1105
|
chars = data[id_start...id_end]
|
|
1085
1106
|
completed = !chars.empty?
|
|
1086
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
1107
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
1087
1108
|
@buffers[:ident] = ast_node
|
|
1088
1109
|
end
|
|
1089
1110
|
end
|
|
@@ -1091,7 +1112,7 @@ begin
|
|
|
1091
1112
|
|
|
1092
1113
|
trace('PARAMETER add_ident_param_value')
|
|
1093
1114
|
ident = @buffers.delete(:ident)
|
|
1094
|
-
value_node = value(ident, complete: ident.complete)
|
|
1115
|
+
value_node = value(ident, complete: ident.complete, character_range: ident.character_range)
|
|
1095
1116
|
@buffers[:param_value] = value_node
|
|
1096
1117
|
end
|
|
1097
1118
|
begin
|
|
@@ -1106,6 +1127,7 @@ begin
|
|
|
1106
1127
|
trace('PN incomplete')
|
|
1107
1128
|
completed = false
|
|
1108
1129
|
end
|
|
1130
|
+
param_start = prefix_node.range_start
|
|
1109
1131
|
else
|
|
1110
1132
|
prefix_node = prefix(nil)
|
|
1111
1133
|
prefix_node.complete = true
|
|
@@ -1122,6 +1144,8 @@ begin
|
|
|
1122
1144
|
trace('VN incomplete')
|
|
1123
1145
|
completed = false
|
|
1124
1146
|
end
|
|
1147
|
+
param_start ||= value_node.range_start
|
|
1148
|
+
param_node.character_range = [param_start, value_node.range_end]
|
|
1125
1149
|
else
|
|
1126
1150
|
completed = false
|
|
1127
1151
|
end
|
|
@@ -1142,7 +1166,7 @@ begin
|
|
|
1142
1166
|
id_end = p
|
|
1143
1167
|
chars = data[id_start...id_end]
|
|
1144
1168
|
completed = !chars.empty?
|
|
1145
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
1169
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
1146
1170
|
@buffers[:ident] = ast_node
|
|
1147
1171
|
end
|
|
1148
1172
|
end
|
|
@@ -1152,14 +1176,14 @@ begin
|
|
|
1152
1176
|
id_end = p
|
|
1153
1177
|
chars = data[id_start...id_end]
|
|
1154
1178
|
completed = !chars.empty?
|
|
1155
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
1179
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
1156
1180
|
@buffers[:ident] = ast_node
|
|
1157
1181
|
end
|
|
1158
1182
|
begin
|
|
1159
1183
|
|
|
1160
1184
|
trace('PARAMETER add_ident_param_value')
|
|
1161
1185
|
ident = @buffers.delete(:ident)
|
|
1162
|
-
value_node = value(ident, complete: ident.complete)
|
|
1186
|
+
value_node = value(ident, complete: ident.complete, character_range: ident.character_range)
|
|
1163
1187
|
@buffers[:param_value] = value_node
|
|
1164
1188
|
end
|
|
1165
1189
|
begin
|
|
@@ -1174,6 +1198,7 @@ begin
|
|
|
1174
1198
|
trace('PN incomplete')
|
|
1175
1199
|
completed = false
|
|
1176
1200
|
end
|
|
1201
|
+
param_start = prefix_node.range_start
|
|
1177
1202
|
else
|
|
1178
1203
|
prefix_node = prefix(nil)
|
|
1179
1204
|
prefix_node.complete = true
|
|
@@ -1190,6 +1215,8 @@ begin
|
|
|
1190
1215
|
trace('VN incomplete')
|
|
1191
1216
|
completed = false
|
|
1192
1217
|
end
|
|
1218
|
+
param_start ||= value_node.range_start
|
|
1219
|
+
param_node.character_range = [param_start, value_node.range_end]
|
|
1193
1220
|
else
|
|
1194
1221
|
completed = false
|
|
1195
1222
|
end
|
|
@@ -1523,7 +1550,7 @@ begin
|
|
|
1523
1550
|
id_end = p
|
|
1524
1551
|
chars = data[id_start...id_end]
|
|
1525
1552
|
completed = !chars.empty?
|
|
1526
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
1553
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
1527
1554
|
@buffers[:ident] = ast_node
|
|
1528
1555
|
end
|
|
1529
1556
|
when 17 then
|
|
@@ -1532,7 +1559,7 @@ begin
|
|
|
1532
1559
|
trace('IDENTIFIER an_ident_err')
|
|
1533
1560
|
id_end = p
|
|
1534
1561
|
chars = data[id_start...id_end]
|
|
1535
|
-
ast_node = identifier(utf8_string(chars), complete: false)
|
|
1562
|
+
ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
|
|
1536
1563
|
@buffers[:ident] = ast_node
|
|
1537
1564
|
end
|
|
1538
1565
|
when 29 then
|
|
@@ -1541,7 +1568,7 @@ begin
|
|
|
1541
1568
|
trace('IDENTIFIER ident_node_err')
|
|
1542
1569
|
id_end = p
|
|
1543
1570
|
chars = data[id_start...id_end]
|
|
1544
|
-
ast_node = identifier(utf8_string(chars), complete: false)
|
|
1571
|
+
ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
|
|
1545
1572
|
yield ast_node
|
|
1546
1573
|
end
|
|
1547
1574
|
when 7 then
|
|
@@ -1557,7 +1584,7 @@ begin
|
|
|
1557
1584
|
trace('STRING a_string_err')
|
|
1558
1585
|
p_end = p
|
|
1559
1586
|
chars = data[p_start...p_end]
|
|
1560
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
1587
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
1561
1588
|
@buffers[:string] = ast_node
|
|
1562
1589
|
end
|
|
1563
1590
|
when 11 then
|
|
@@ -1566,7 +1593,7 @@ begin
|
|
|
1566
1593
|
trace('STRING string_node_err')
|
|
1567
1594
|
p_end = p
|
|
1568
1595
|
chars = data[p_start...p_end]
|
|
1569
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
1596
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
1570
1597
|
yield ast_node
|
|
1571
1598
|
end
|
|
1572
1599
|
when 22 then
|
|
@@ -1574,7 +1601,7 @@ begin
|
|
|
1574
1601
|
|
|
1575
1602
|
trace('PARAMETER add_prefix')
|
|
1576
1603
|
ident = @buffers.delete(:ident)
|
|
1577
|
-
prefix_node = prefix(ident, complete: ident.complete)
|
|
1604
|
+
prefix_node = prefix(ident, complete: ident.complete, character_range: ident.character_range)
|
|
1578
1605
|
@buffers[:param_prefix] = prefix_node
|
|
1579
1606
|
end
|
|
1580
1607
|
when 2 then
|
|
@@ -1583,7 +1610,7 @@ begin
|
|
|
1583
1610
|
trace('IDENTIFIER an_ident_err')
|
|
1584
1611
|
id_end = p
|
|
1585
1612
|
chars = data[id_start...id_end]
|
|
1586
|
-
ast_node = identifier(utf8_string(chars), complete: false)
|
|
1613
|
+
ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
|
|
1587
1614
|
@buffers[:ident] = ast_node
|
|
1588
1615
|
end
|
|
1589
1616
|
begin
|
|
@@ -1591,7 +1618,7 @@ begin
|
|
|
1591
1618
|
trace('STRING a_string_err')
|
|
1592
1619
|
p_end = p
|
|
1593
1620
|
chars = data[p_start...p_end]
|
|
1594
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
1621
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
1595
1622
|
@buffers[:string] = ast_node
|
|
1596
1623
|
end
|
|
1597
1624
|
when 9 then
|
|
@@ -1606,7 +1633,7 @@ begin
|
|
|
1606
1633
|
trace('STRING string_end')
|
|
1607
1634
|
completed = @string_opened && @string_closed
|
|
1608
1635
|
chars = data[p_start...p_end]
|
|
1609
|
-
ast_node = string(utf8_string(chars), complete: true)
|
|
1636
|
+
ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
|
|
1610
1637
|
@buffers[:string] = ast_node
|
|
1611
1638
|
end
|
|
1612
1639
|
when 26 then
|
|
@@ -1622,6 +1649,7 @@ begin
|
|
|
1622
1649
|
trace('PN incomplete')
|
|
1623
1650
|
completed = false
|
|
1624
1651
|
end
|
|
1652
|
+
param_start = prefix_node.range_start
|
|
1625
1653
|
else
|
|
1626
1654
|
prefix_node = prefix(nil)
|
|
1627
1655
|
prefix_node.complete = true
|
|
@@ -1638,6 +1666,8 @@ begin
|
|
|
1638
1666
|
trace('VN incomplete')
|
|
1639
1667
|
completed = false
|
|
1640
1668
|
end
|
|
1669
|
+
param_start ||= value_node.range_start
|
|
1670
|
+
param_node.character_range = [param_start, value_node.range_end]
|
|
1641
1671
|
else
|
|
1642
1672
|
completed = false
|
|
1643
1673
|
end
|
|
@@ -1655,7 +1685,7 @@ begin
|
|
|
1655
1685
|
|
|
1656
1686
|
trace('PARAMETER add_prefix')
|
|
1657
1687
|
ident = @buffers.delete(:ident)
|
|
1658
|
-
prefix_node = prefix(ident, complete: ident.complete)
|
|
1688
|
+
prefix_node = prefix(ident, complete: ident.complete, character_range: ident.character_range)
|
|
1659
1689
|
@buffers[:param_prefix] = prefix_node
|
|
1660
1690
|
end
|
|
1661
1691
|
begin
|
|
@@ -1682,7 +1712,7 @@ begin
|
|
|
1682
1712
|
trace('STRING string_end')
|
|
1683
1713
|
completed = @string_opened && @string_closed
|
|
1684
1714
|
chars = data[p_start...p_end]
|
|
1685
|
-
ast_node = string(utf8_string(chars), complete: true)
|
|
1715
|
+
ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
|
|
1686
1716
|
@buffers[:string] = ast_node
|
|
1687
1717
|
end
|
|
1688
1718
|
when 14 then
|
|
@@ -1697,7 +1727,7 @@ begin
|
|
|
1697
1727
|
trace('STRING string_end')
|
|
1698
1728
|
completed = @string_opened && @string_closed
|
|
1699
1729
|
chars = data[p_start...p_end]
|
|
1700
|
-
ast_node = string(utf8_string(chars), complete: true)
|
|
1730
|
+
ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
|
|
1701
1731
|
@buffers[:string] = ast_node
|
|
1702
1732
|
end
|
|
1703
1733
|
begin
|
|
@@ -1710,7 +1740,7 @@ begin
|
|
|
1710
1740
|
|
|
1711
1741
|
trace('PARAMETER add_string_param_value')
|
|
1712
1742
|
string_node = @buffers.delete(:string)
|
|
1713
|
-
value_node = value(string_node, complete: string_node.complete)
|
|
1743
|
+
value_node = value(string_node, complete: string_node.complete, character_range: string_node.character_range)
|
|
1714
1744
|
@buffers[:param_value] = value_node
|
|
1715
1745
|
end
|
|
1716
1746
|
begin
|
|
@@ -1725,6 +1755,7 @@ begin
|
|
|
1725
1755
|
trace('PN incomplete')
|
|
1726
1756
|
completed = false
|
|
1727
1757
|
end
|
|
1758
|
+
param_start = prefix_node.range_start
|
|
1728
1759
|
else
|
|
1729
1760
|
prefix_node = prefix(nil)
|
|
1730
1761
|
prefix_node.complete = true
|
|
@@ -1741,6 +1772,8 @@ begin
|
|
|
1741
1772
|
trace('VN incomplete')
|
|
1742
1773
|
completed = false
|
|
1743
1774
|
end
|
|
1775
|
+
param_start ||= value_node.range_start
|
|
1776
|
+
param_node.character_range = [param_start, value_node.range_end]
|
|
1744
1777
|
else
|
|
1745
1778
|
completed = false
|
|
1746
1779
|
end
|
|
@@ -1758,7 +1791,7 @@ begin
|
|
|
1758
1791
|
|
|
1759
1792
|
trace('PARAMETER add_prefix')
|
|
1760
1793
|
ident = @buffers.delete(:ident)
|
|
1761
|
-
prefix_node = prefix(ident, complete: ident.complete)
|
|
1794
|
+
prefix_node = prefix(ident, complete: ident.complete, character_range: ident.character_range)
|
|
1762
1795
|
@buffers[:param_prefix] = prefix_node
|
|
1763
1796
|
end
|
|
1764
1797
|
begin
|
|
@@ -1773,6 +1806,7 @@ begin
|
|
|
1773
1806
|
trace('PN incomplete')
|
|
1774
1807
|
completed = false
|
|
1775
1808
|
end
|
|
1809
|
+
param_start = prefix_node.range_start
|
|
1776
1810
|
else
|
|
1777
1811
|
prefix_node = prefix(nil)
|
|
1778
1812
|
prefix_node.complete = true
|
|
@@ -1789,6 +1823,8 @@ begin
|
|
|
1789
1823
|
trace('VN incomplete')
|
|
1790
1824
|
completed = false
|
|
1791
1825
|
end
|
|
1826
|
+
param_start ||= value_node.range_start
|
|
1827
|
+
param_node.character_range = [param_start, value_node.range_end]
|
|
1792
1828
|
else
|
|
1793
1829
|
completed = false
|
|
1794
1830
|
end
|
|
@@ -1808,14 +1844,14 @@ begin
|
|
|
1808
1844
|
id_end = p
|
|
1809
1845
|
chars = data[id_start...id_end]
|
|
1810
1846
|
completed = !chars.empty?
|
|
1811
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
1847
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
1812
1848
|
@buffers[:ident] = ast_node
|
|
1813
1849
|
end
|
|
1814
1850
|
begin
|
|
1815
1851
|
|
|
1816
1852
|
trace('PARAMETER add_ident_param_value')
|
|
1817
1853
|
ident = @buffers.delete(:ident)
|
|
1818
|
-
value_node = value(ident, complete: ident.complete)
|
|
1854
|
+
value_node = value(ident, complete: ident.complete, character_range: ident.character_range)
|
|
1819
1855
|
@buffers[:param_value] = value_node
|
|
1820
1856
|
end
|
|
1821
1857
|
begin
|
|
@@ -1830,6 +1866,7 @@ begin
|
|
|
1830
1866
|
trace('PN incomplete')
|
|
1831
1867
|
completed = false
|
|
1832
1868
|
end
|
|
1869
|
+
param_start = prefix_node.range_start
|
|
1833
1870
|
else
|
|
1834
1871
|
prefix_node = prefix(nil)
|
|
1835
1872
|
prefix_node.complete = true
|
|
@@ -1846,6 +1883,8 @@ begin
|
|
|
1846
1883
|
trace('VN incomplete')
|
|
1847
1884
|
completed = false
|
|
1848
1885
|
end
|
|
1886
|
+
param_start ||= value_node.range_start
|
|
1887
|
+
param_node.character_range = [param_start, value_node.range_end]
|
|
1849
1888
|
else
|
|
1850
1889
|
completed = false
|
|
1851
1890
|
end
|
|
@@ -1876,7 +1915,7 @@ begin
|
|
|
1876
1915
|
trace('STRING string_end')
|
|
1877
1916
|
completed = @string_opened && @string_closed
|
|
1878
1917
|
chars = data[p_start...p_end]
|
|
1879
|
-
ast_node = string(utf8_string(chars), complete: true)
|
|
1918
|
+
ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
|
|
1880
1919
|
@buffers[:string] = ast_node
|
|
1881
1920
|
end
|
|
1882
1921
|
begin
|
|
@@ -1941,7 +1980,7 @@ begin
|
|
|
1941
1980
|
id_end = p
|
|
1942
1981
|
chars = data[id_start...id_end]
|
|
1943
1982
|
completed = !chars.empty?
|
|
1944
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
1983
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
1945
1984
|
@buffers[:ident] = ast_node
|
|
1946
1985
|
end
|
|
1947
1986
|
begin
|
|
@@ -1955,7 +1994,7 @@ begin
|
|
|
1955
1994
|
trace('STRING a_string_err')
|
|
1956
1995
|
p_end = p
|
|
1957
1996
|
chars = data[p_start...p_end]
|
|
1958
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
1997
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
1959
1998
|
@buffers[:string] = ast_node
|
|
1960
1999
|
end
|
|
1961
2000
|
begin
|
|
@@ -1990,7 +2029,7 @@ begin
|
|
|
1990
2029
|
trace('STRING string_node_err')
|
|
1991
2030
|
p_end = p
|
|
1992
2031
|
chars = data[p_start...p_end]
|
|
1993
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
2032
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
1994
2033
|
yield ast_node
|
|
1995
2034
|
end
|
|
1996
2035
|
begin
|
|
@@ -2006,7 +2045,7 @@ begin
|
|
|
2006
2045
|
id_end = p
|
|
2007
2046
|
chars = data[id_start...id_end]
|
|
2008
2047
|
completed = !chars.empty?
|
|
2009
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
2048
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
2010
2049
|
@buffers[:ident] = ast_node
|
|
2011
2050
|
end
|
|
2012
2051
|
end
|
|
@@ -2022,6 +2061,7 @@ begin
|
|
|
2022
2061
|
trace('PN incomplete')
|
|
2023
2062
|
completed = false
|
|
2024
2063
|
end
|
|
2064
|
+
param_start = prefix_node.range_start
|
|
2025
2065
|
else
|
|
2026
2066
|
prefix_node = prefix(nil)
|
|
2027
2067
|
prefix_node.complete = true
|
|
@@ -2038,6 +2078,8 @@ begin
|
|
|
2038
2078
|
trace('VN incomplete')
|
|
2039
2079
|
completed = false
|
|
2040
2080
|
end
|
|
2081
|
+
param_start ||= value_node.range_start
|
|
2082
|
+
param_node.character_range = [param_start, value_node.range_end]
|
|
2041
2083
|
else
|
|
2042
2084
|
completed = false
|
|
2043
2085
|
end
|
|
@@ -2056,7 +2098,7 @@ begin
|
|
|
2056
2098
|
trace('STRING eof_string')
|
|
2057
2099
|
p_end = p
|
|
2058
2100
|
chars = data[p_start...p_end]
|
|
2059
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
2101
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
2060
2102
|
@buffers[:string] = ast_node
|
|
2061
2103
|
end
|
|
2062
2104
|
begin
|
|
@@ -2064,7 +2106,7 @@ begin
|
|
|
2064
2106
|
trace('STRING a_string_err')
|
|
2065
2107
|
p_end = p
|
|
2066
2108
|
chars = data[p_start...p_end]
|
|
2067
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
2109
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
2068
2110
|
@buffers[:string] = ast_node
|
|
2069
2111
|
end
|
|
2070
2112
|
begin
|
|
@@ -2099,7 +2141,7 @@ begin
|
|
|
2099
2141
|
trace('STRING eof_string')
|
|
2100
2142
|
p_end = p
|
|
2101
2143
|
chars = data[p_start...p_end]
|
|
2102
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
2144
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
2103
2145
|
@buffers[:string] = ast_node
|
|
2104
2146
|
end
|
|
2105
2147
|
begin
|
|
@@ -2107,7 +2149,7 @@ begin
|
|
|
2107
2149
|
trace('STRING string_node_err')
|
|
2108
2150
|
p_end = p
|
|
2109
2151
|
chars = data[p_start...p_end]
|
|
2110
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
2152
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
2111
2153
|
yield ast_node
|
|
2112
2154
|
end
|
|
2113
2155
|
begin
|
|
@@ -2120,7 +2162,7 @@ begin
|
|
|
2120
2162
|
|
|
2121
2163
|
trace('PARAMETER add_string_param_value')
|
|
2122
2164
|
string_node = @buffers.delete(:string)
|
|
2123
|
-
value_node = value(string_node, complete: string_node.complete)
|
|
2165
|
+
value_node = value(string_node, complete: string_node.complete, character_range: string_node.character_range)
|
|
2124
2166
|
@buffers[:param_value] = value_node
|
|
2125
2167
|
end
|
|
2126
2168
|
begin
|
|
@@ -2135,6 +2177,7 @@ begin
|
|
|
2135
2177
|
trace('PN incomplete')
|
|
2136
2178
|
completed = false
|
|
2137
2179
|
end
|
|
2180
|
+
param_start = prefix_node.range_start
|
|
2138
2181
|
else
|
|
2139
2182
|
prefix_node = prefix(nil)
|
|
2140
2183
|
prefix_node.complete = true
|
|
@@ -2151,6 +2194,8 @@ begin
|
|
|
2151
2194
|
trace('VN incomplete')
|
|
2152
2195
|
completed = false
|
|
2153
2196
|
end
|
|
2197
|
+
param_start ||= value_node.range_start
|
|
2198
|
+
param_node.character_range = [param_start, value_node.range_end]
|
|
2154
2199
|
else
|
|
2155
2200
|
completed = false
|
|
2156
2201
|
end
|
|
@@ -2171,7 +2216,7 @@ begin
|
|
|
2171
2216
|
id_end = p
|
|
2172
2217
|
chars = data[id_start...id_end]
|
|
2173
2218
|
completed = !chars.empty?
|
|
2174
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
2219
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
2175
2220
|
@buffers[:ident] = ast_node
|
|
2176
2221
|
end
|
|
2177
2222
|
end
|
|
@@ -2180,7 +2225,7 @@ begin
|
|
|
2180
2225
|
trace('IDENTIFIER an_ident_err')
|
|
2181
2226
|
id_end = p
|
|
2182
2227
|
chars = data[id_start...id_end]
|
|
2183
|
-
ast_node = identifier(utf8_string(chars), complete: false)
|
|
2228
|
+
ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
|
|
2184
2229
|
@buffers[:ident] = ast_node
|
|
2185
2230
|
end
|
|
2186
2231
|
begin
|
|
@@ -2188,7 +2233,7 @@ begin
|
|
|
2188
2233
|
trace('STRING a_string_err')
|
|
2189
2234
|
p_end = p
|
|
2190
2235
|
chars = data[p_start...p_end]
|
|
2191
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
2236
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
2192
2237
|
@buffers[:string] = ast_node
|
|
2193
2238
|
end
|
|
2194
2239
|
begin
|
|
@@ -2225,7 +2270,7 @@ begin
|
|
|
2225
2270
|
id_end = p
|
|
2226
2271
|
chars = data[id_start...id_end]
|
|
2227
2272
|
completed = !chars.empty?
|
|
2228
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
2273
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
2229
2274
|
@buffers[:ident] = ast_node
|
|
2230
2275
|
end
|
|
2231
2276
|
end
|
|
@@ -2233,7 +2278,7 @@ begin
|
|
|
2233
2278
|
|
|
2234
2279
|
trace('PARAMETER add_prefix')
|
|
2235
2280
|
ident = @buffers.delete(:ident)
|
|
2236
|
-
prefix_node = prefix(ident, complete: ident.complete)
|
|
2281
|
+
prefix_node = prefix(ident, complete: ident.complete, character_range: ident.character_range)
|
|
2237
2282
|
@buffers[:param_prefix] = prefix_node
|
|
2238
2283
|
end
|
|
2239
2284
|
begin
|
|
@@ -2248,6 +2293,7 @@ begin
|
|
|
2248
2293
|
trace('PN incomplete')
|
|
2249
2294
|
completed = false
|
|
2250
2295
|
end
|
|
2296
|
+
param_start = prefix_node.range_start
|
|
2251
2297
|
else
|
|
2252
2298
|
prefix_node = prefix(nil)
|
|
2253
2299
|
prefix_node.complete = true
|
|
@@ -2264,6 +2310,8 @@ begin
|
|
|
2264
2310
|
trace('VN incomplete')
|
|
2265
2311
|
completed = false
|
|
2266
2312
|
end
|
|
2313
|
+
param_start ||= value_node.range_start
|
|
2314
|
+
param_node.character_range = [param_start, value_node.range_end]
|
|
2267
2315
|
else
|
|
2268
2316
|
completed = false
|
|
2269
2317
|
end
|
|
@@ -2283,7 +2331,7 @@ begin
|
|
|
2283
2331
|
id_end = p
|
|
2284
2332
|
chars = data[id_start...id_end]
|
|
2285
2333
|
completed = !chars.empty?
|
|
2286
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
2334
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
2287
2335
|
@buffers[:ident] = ast_node
|
|
2288
2336
|
end
|
|
2289
2337
|
begin
|
|
@@ -2293,7 +2341,7 @@ begin
|
|
|
2293
2341
|
id_end = p
|
|
2294
2342
|
chars = data[id_start...id_end]
|
|
2295
2343
|
completed = !chars.empty?
|
|
2296
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
2344
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
2297
2345
|
@buffers[:ident] = ast_node
|
|
2298
2346
|
end
|
|
2299
2347
|
end
|
|
@@ -2301,7 +2349,7 @@ begin
|
|
|
2301
2349
|
|
|
2302
2350
|
trace('PARAMETER add_ident_param_value')
|
|
2303
2351
|
ident = @buffers.delete(:ident)
|
|
2304
|
-
value_node = value(ident, complete: ident.complete)
|
|
2352
|
+
value_node = value(ident, complete: ident.complete, character_range: ident.character_range)
|
|
2305
2353
|
@buffers[:param_value] = value_node
|
|
2306
2354
|
end
|
|
2307
2355
|
begin
|
|
@@ -2316,6 +2364,7 @@ begin
|
|
|
2316
2364
|
trace('PN incomplete')
|
|
2317
2365
|
completed = false
|
|
2318
2366
|
end
|
|
2367
|
+
param_start = prefix_node.range_start
|
|
2319
2368
|
else
|
|
2320
2369
|
prefix_node = prefix(nil)
|
|
2321
2370
|
prefix_node.complete = true
|
|
@@ -2332,6 +2381,8 @@ begin
|
|
|
2332
2381
|
trace('VN incomplete')
|
|
2333
2382
|
completed = false
|
|
2334
2383
|
end
|
|
2384
|
+
param_start ||= value_node.range_start
|
|
2385
|
+
param_node.character_range = [param_start, value_node.range_end]
|
|
2335
2386
|
else
|
|
2336
2387
|
completed = false
|
|
2337
2388
|
end
|
|
@@ -2352,7 +2403,7 @@ begin
|
|
|
2352
2403
|
id_end = p
|
|
2353
2404
|
chars = data[id_start...id_end]
|
|
2354
2405
|
completed = !chars.empty?
|
|
2355
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
2406
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
2356
2407
|
@buffers[:ident] = ast_node
|
|
2357
2408
|
end
|
|
2358
2409
|
end
|
|
@@ -2362,14 +2413,14 @@ begin
|
|
|
2362
2413
|
id_end = p
|
|
2363
2414
|
chars = data[id_start...id_end]
|
|
2364
2415
|
completed = !chars.empty?
|
|
2365
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
2416
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
2366
2417
|
@buffers[:ident] = ast_node
|
|
2367
2418
|
end
|
|
2368
2419
|
begin
|
|
2369
2420
|
|
|
2370
2421
|
trace('PARAMETER add_ident_param_value')
|
|
2371
2422
|
ident = @buffers.delete(:ident)
|
|
2372
|
-
value_node = value(ident, complete: ident.complete)
|
|
2423
|
+
value_node = value(ident, complete: ident.complete, character_range: ident.character_range)
|
|
2373
2424
|
@buffers[:param_value] = value_node
|
|
2374
2425
|
end
|
|
2375
2426
|
begin
|
|
@@ -2384,6 +2435,7 @@ begin
|
|
|
2384
2435
|
trace('PN incomplete')
|
|
2385
2436
|
completed = false
|
|
2386
2437
|
end
|
|
2438
|
+
param_start = prefix_node.range_start
|
|
2387
2439
|
else
|
|
2388
2440
|
prefix_node = prefix(nil)
|
|
2389
2441
|
prefix_node.complete = true
|
|
@@ -2400,6 +2452,8 @@ begin
|
|
|
2400
2452
|
trace('VN incomplete')
|
|
2401
2453
|
completed = false
|
|
2402
2454
|
end
|
|
2455
|
+
param_start ||= value_node.range_start
|
|
2456
|
+
param_node.character_range = [param_start, value_node.range_end]
|
|
2403
2457
|
else
|
|
2404
2458
|
completed = false
|
|
2405
2459
|
end
|
|
@@ -2790,7 +2844,7 @@ begin
|
|
|
2790
2844
|
id_end = p
|
|
2791
2845
|
chars = data[id_start...id_end]
|
|
2792
2846
|
completed = !chars.empty?
|
|
2793
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
2847
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
2794
2848
|
@buffers[:ident] = ast_node
|
|
2795
2849
|
end
|
|
2796
2850
|
when 17 then
|
|
@@ -2799,7 +2853,7 @@ begin
|
|
|
2799
2853
|
trace('IDENTIFIER an_ident_err')
|
|
2800
2854
|
id_end = p
|
|
2801
2855
|
chars = data[id_start...id_end]
|
|
2802
|
-
ast_node = identifier(utf8_string(chars), complete: false)
|
|
2856
|
+
ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
|
|
2803
2857
|
@buffers[:ident] = ast_node
|
|
2804
2858
|
end
|
|
2805
2859
|
when 29 then
|
|
@@ -2808,7 +2862,7 @@ begin
|
|
|
2808
2862
|
trace('IDENTIFIER ident_node_err')
|
|
2809
2863
|
id_end = p
|
|
2810
2864
|
chars = data[id_start...id_end]
|
|
2811
|
-
ast_node = identifier(utf8_string(chars), complete: false)
|
|
2865
|
+
ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
|
|
2812
2866
|
yield ast_node
|
|
2813
2867
|
end
|
|
2814
2868
|
when 7 then
|
|
@@ -2824,7 +2878,7 @@ begin
|
|
|
2824
2878
|
trace('STRING a_string_err')
|
|
2825
2879
|
p_end = p
|
|
2826
2880
|
chars = data[p_start...p_end]
|
|
2827
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
2881
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
2828
2882
|
@buffers[:string] = ast_node
|
|
2829
2883
|
end
|
|
2830
2884
|
when 11 then
|
|
@@ -2833,7 +2887,7 @@ begin
|
|
|
2833
2887
|
trace('STRING string_node_err')
|
|
2834
2888
|
p_end = p
|
|
2835
2889
|
chars = data[p_start...p_end]
|
|
2836
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
2890
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
2837
2891
|
yield ast_node
|
|
2838
2892
|
end
|
|
2839
2893
|
when 22 then
|
|
@@ -2841,7 +2895,7 @@ begin
|
|
|
2841
2895
|
|
|
2842
2896
|
trace('PARAMETER add_prefix')
|
|
2843
2897
|
ident = @buffers.delete(:ident)
|
|
2844
|
-
prefix_node = prefix(ident, complete: ident.complete)
|
|
2898
|
+
prefix_node = prefix(ident, complete: ident.complete, character_range: ident.character_range)
|
|
2845
2899
|
@buffers[:param_prefix] = prefix_node
|
|
2846
2900
|
end
|
|
2847
2901
|
when 2 then
|
|
@@ -2850,7 +2904,7 @@ begin
|
|
|
2850
2904
|
trace('IDENTIFIER an_ident_err')
|
|
2851
2905
|
id_end = p
|
|
2852
2906
|
chars = data[id_start...id_end]
|
|
2853
|
-
ast_node = identifier(utf8_string(chars), complete: false)
|
|
2907
|
+
ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
|
|
2854
2908
|
@buffers[:ident] = ast_node
|
|
2855
2909
|
end
|
|
2856
2910
|
begin
|
|
@@ -2858,7 +2912,7 @@ begin
|
|
|
2858
2912
|
trace('STRING a_string_err')
|
|
2859
2913
|
p_end = p
|
|
2860
2914
|
chars = data[p_start...p_end]
|
|
2861
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
2915
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
2862
2916
|
@buffers[:string] = ast_node
|
|
2863
2917
|
end
|
|
2864
2918
|
when 9 then
|
|
@@ -2873,7 +2927,7 @@ begin
|
|
|
2873
2927
|
trace('STRING string_end')
|
|
2874
2928
|
completed = @string_opened && @string_closed
|
|
2875
2929
|
chars = data[p_start...p_end]
|
|
2876
|
-
ast_node = string(utf8_string(chars), complete: true)
|
|
2930
|
+
ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
|
|
2877
2931
|
@buffers[:string] = ast_node
|
|
2878
2932
|
end
|
|
2879
2933
|
when 26 then
|
|
@@ -2889,6 +2943,7 @@ begin
|
|
|
2889
2943
|
trace('PN incomplete')
|
|
2890
2944
|
completed = false
|
|
2891
2945
|
end
|
|
2946
|
+
param_start = prefix_node.range_start
|
|
2892
2947
|
else
|
|
2893
2948
|
prefix_node = prefix(nil)
|
|
2894
2949
|
prefix_node.complete = true
|
|
@@ -2905,6 +2960,8 @@ begin
|
|
|
2905
2960
|
trace('VN incomplete')
|
|
2906
2961
|
completed = false
|
|
2907
2962
|
end
|
|
2963
|
+
param_start ||= value_node.range_start
|
|
2964
|
+
param_node.character_range = [param_start, value_node.range_end]
|
|
2908
2965
|
else
|
|
2909
2966
|
completed = false
|
|
2910
2967
|
end
|
|
@@ -2922,7 +2979,7 @@ begin
|
|
|
2922
2979
|
|
|
2923
2980
|
trace('PARAMETER add_prefix')
|
|
2924
2981
|
ident = @buffers.delete(:ident)
|
|
2925
|
-
prefix_node = prefix(ident, complete: ident.complete)
|
|
2982
|
+
prefix_node = prefix(ident, complete: ident.complete, character_range: ident.character_range)
|
|
2926
2983
|
@buffers[:param_prefix] = prefix_node
|
|
2927
2984
|
end
|
|
2928
2985
|
begin
|
|
@@ -2949,7 +3006,7 @@ begin
|
|
|
2949
3006
|
trace('STRING string_end')
|
|
2950
3007
|
completed = @string_opened && @string_closed
|
|
2951
3008
|
chars = data[p_start...p_end]
|
|
2952
|
-
ast_node = string(utf8_string(chars), complete: true)
|
|
3009
|
+
ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
|
|
2953
3010
|
@buffers[:string] = ast_node
|
|
2954
3011
|
end
|
|
2955
3012
|
when 14 then
|
|
@@ -2964,7 +3021,7 @@ begin
|
|
|
2964
3021
|
trace('STRING string_end')
|
|
2965
3022
|
completed = @string_opened && @string_closed
|
|
2966
3023
|
chars = data[p_start...p_end]
|
|
2967
|
-
ast_node = string(utf8_string(chars), complete: true)
|
|
3024
|
+
ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
|
|
2968
3025
|
@buffers[:string] = ast_node
|
|
2969
3026
|
end
|
|
2970
3027
|
begin
|
|
@@ -2977,7 +3034,7 @@ begin
|
|
|
2977
3034
|
|
|
2978
3035
|
trace('PARAMETER add_string_param_value')
|
|
2979
3036
|
string_node = @buffers.delete(:string)
|
|
2980
|
-
value_node = value(string_node, complete: string_node.complete)
|
|
3037
|
+
value_node = value(string_node, complete: string_node.complete, character_range: string_node.character_range)
|
|
2981
3038
|
@buffers[:param_value] = value_node
|
|
2982
3039
|
end
|
|
2983
3040
|
begin
|
|
@@ -2992,6 +3049,7 @@ begin
|
|
|
2992
3049
|
trace('PN incomplete')
|
|
2993
3050
|
completed = false
|
|
2994
3051
|
end
|
|
3052
|
+
param_start = prefix_node.range_start
|
|
2995
3053
|
else
|
|
2996
3054
|
prefix_node = prefix(nil)
|
|
2997
3055
|
prefix_node.complete = true
|
|
@@ -3008,6 +3066,8 @@ begin
|
|
|
3008
3066
|
trace('VN incomplete')
|
|
3009
3067
|
completed = false
|
|
3010
3068
|
end
|
|
3069
|
+
param_start ||= value_node.range_start
|
|
3070
|
+
param_node.character_range = [param_start, value_node.range_end]
|
|
3011
3071
|
else
|
|
3012
3072
|
completed = false
|
|
3013
3073
|
end
|
|
@@ -3025,7 +3085,7 @@ begin
|
|
|
3025
3085
|
|
|
3026
3086
|
trace('PARAMETER add_prefix')
|
|
3027
3087
|
ident = @buffers.delete(:ident)
|
|
3028
|
-
prefix_node = prefix(ident, complete: ident.complete)
|
|
3088
|
+
prefix_node = prefix(ident, complete: ident.complete, character_range: ident.character_range)
|
|
3029
3089
|
@buffers[:param_prefix] = prefix_node
|
|
3030
3090
|
end
|
|
3031
3091
|
begin
|
|
@@ -3040,6 +3100,7 @@ begin
|
|
|
3040
3100
|
trace('PN incomplete')
|
|
3041
3101
|
completed = false
|
|
3042
3102
|
end
|
|
3103
|
+
param_start = prefix_node.range_start
|
|
3043
3104
|
else
|
|
3044
3105
|
prefix_node = prefix(nil)
|
|
3045
3106
|
prefix_node.complete = true
|
|
@@ -3056,6 +3117,8 @@ begin
|
|
|
3056
3117
|
trace('VN incomplete')
|
|
3057
3118
|
completed = false
|
|
3058
3119
|
end
|
|
3120
|
+
param_start ||= value_node.range_start
|
|
3121
|
+
param_node.character_range = [param_start, value_node.range_end]
|
|
3059
3122
|
else
|
|
3060
3123
|
completed = false
|
|
3061
3124
|
end
|
|
@@ -3075,14 +3138,14 @@ begin
|
|
|
3075
3138
|
id_end = p
|
|
3076
3139
|
chars = data[id_start...id_end]
|
|
3077
3140
|
completed = !chars.empty?
|
|
3078
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
3141
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
3079
3142
|
@buffers[:ident] = ast_node
|
|
3080
3143
|
end
|
|
3081
3144
|
begin
|
|
3082
3145
|
|
|
3083
3146
|
trace('PARAMETER add_ident_param_value')
|
|
3084
3147
|
ident = @buffers.delete(:ident)
|
|
3085
|
-
value_node = value(ident, complete: ident.complete)
|
|
3148
|
+
value_node = value(ident, complete: ident.complete, character_range: ident.character_range)
|
|
3086
3149
|
@buffers[:param_value] = value_node
|
|
3087
3150
|
end
|
|
3088
3151
|
begin
|
|
@@ -3097,6 +3160,7 @@ begin
|
|
|
3097
3160
|
trace('PN incomplete')
|
|
3098
3161
|
completed = false
|
|
3099
3162
|
end
|
|
3163
|
+
param_start = prefix_node.range_start
|
|
3100
3164
|
else
|
|
3101
3165
|
prefix_node = prefix(nil)
|
|
3102
3166
|
prefix_node.complete = true
|
|
@@ -3113,6 +3177,8 @@ begin
|
|
|
3113
3177
|
trace('VN incomplete')
|
|
3114
3178
|
completed = false
|
|
3115
3179
|
end
|
|
3180
|
+
param_start ||= value_node.range_start
|
|
3181
|
+
param_node.character_range = [param_start, value_node.range_end]
|
|
3116
3182
|
else
|
|
3117
3183
|
completed = false
|
|
3118
3184
|
end
|
|
@@ -3143,7 +3209,7 @@ begin
|
|
|
3143
3209
|
trace('STRING string_end')
|
|
3144
3210
|
completed = @string_opened && @string_closed
|
|
3145
3211
|
chars = data[p_start...p_end]
|
|
3146
|
-
ast_node = string(utf8_string(chars), complete: true)
|
|
3212
|
+
ast_node = string(utf8_string(chars), complete: true, character_range: [p_start, p_end])
|
|
3147
3213
|
@buffers[:string] = ast_node
|
|
3148
3214
|
end
|
|
3149
3215
|
begin
|
|
@@ -3208,7 +3274,7 @@ begin
|
|
|
3208
3274
|
id_end = p
|
|
3209
3275
|
chars = data[id_start...id_end]
|
|
3210
3276
|
completed = !chars.empty?
|
|
3211
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
3277
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
3212
3278
|
@buffers[:ident] = ast_node
|
|
3213
3279
|
end
|
|
3214
3280
|
begin
|
|
@@ -3222,7 +3288,7 @@ begin
|
|
|
3222
3288
|
trace('STRING a_string_err')
|
|
3223
3289
|
p_end = p
|
|
3224
3290
|
chars = data[p_start...p_end]
|
|
3225
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
3291
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
3226
3292
|
@buffers[:string] = ast_node
|
|
3227
3293
|
end
|
|
3228
3294
|
begin
|
|
@@ -3257,7 +3323,7 @@ begin
|
|
|
3257
3323
|
trace('STRING string_node_err')
|
|
3258
3324
|
p_end = p
|
|
3259
3325
|
chars = data[p_start...p_end]
|
|
3260
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
3326
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
3261
3327
|
yield ast_node
|
|
3262
3328
|
end
|
|
3263
3329
|
begin
|
|
@@ -3273,7 +3339,7 @@ begin
|
|
|
3273
3339
|
id_end = p
|
|
3274
3340
|
chars = data[id_start...id_end]
|
|
3275
3341
|
completed = !chars.empty?
|
|
3276
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
3342
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
3277
3343
|
@buffers[:ident] = ast_node
|
|
3278
3344
|
end
|
|
3279
3345
|
end
|
|
@@ -3289,6 +3355,7 @@ begin
|
|
|
3289
3355
|
trace('PN incomplete')
|
|
3290
3356
|
completed = false
|
|
3291
3357
|
end
|
|
3358
|
+
param_start = prefix_node.range_start
|
|
3292
3359
|
else
|
|
3293
3360
|
prefix_node = prefix(nil)
|
|
3294
3361
|
prefix_node.complete = true
|
|
@@ -3305,6 +3372,8 @@ begin
|
|
|
3305
3372
|
trace('VN incomplete')
|
|
3306
3373
|
completed = false
|
|
3307
3374
|
end
|
|
3375
|
+
param_start ||= value_node.range_start
|
|
3376
|
+
param_node.character_range = [param_start, value_node.range_end]
|
|
3308
3377
|
else
|
|
3309
3378
|
completed = false
|
|
3310
3379
|
end
|
|
@@ -3323,7 +3392,7 @@ begin
|
|
|
3323
3392
|
trace('STRING eof_string')
|
|
3324
3393
|
p_end = p
|
|
3325
3394
|
chars = data[p_start...p_end]
|
|
3326
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
3395
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
3327
3396
|
@buffers[:string] = ast_node
|
|
3328
3397
|
end
|
|
3329
3398
|
begin
|
|
@@ -3331,7 +3400,7 @@ begin
|
|
|
3331
3400
|
trace('STRING a_string_err')
|
|
3332
3401
|
p_end = p
|
|
3333
3402
|
chars = data[p_start...p_end]
|
|
3334
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
3403
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
3335
3404
|
@buffers[:string] = ast_node
|
|
3336
3405
|
end
|
|
3337
3406
|
begin
|
|
@@ -3366,7 +3435,7 @@ begin
|
|
|
3366
3435
|
trace('STRING eof_string')
|
|
3367
3436
|
p_end = p
|
|
3368
3437
|
chars = data[p_start...p_end]
|
|
3369
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
3438
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
3370
3439
|
@buffers[:string] = ast_node
|
|
3371
3440
|
end
|
|
3372
3441
|
begin
|
|
@@ -3374,7 +3443,7 @@ begin
|
|
|
3374
3443
|
trace('STRING string_node_err')
|
|
3375
3444
|
p_end = p
|
|
3376
3445
|
chars = data[p_start...p_end]
|
|
3377
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
3446
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
3378
3447
|
yield ast_node
|
|
3379
3448
|
end
|
|
3380
3449
|
begin
|
|
@@ -3387,7 +3456,7 @@ begin
|
|
|
3387
3456
|
|
|
3388
3457
|
trace('PARAMETER add_string_param_value')
|
|
3389
3458
|
string_node = @buffers.delete(:string)
|
|
3390
|
-
value_node = value(string_node, complete: string_node.complete)
|
|
3459
|
+
value_node = value(string_node, complete: string_node.complete, character_range: string_node.character_range)
|
|
3391
3460
|
@buffers[:param_value] = value_node
|
|
3392
3461
|
end
|
|
3393
3462
|
begin
|
|
@@ -3402,6 +3471,7 @@ begin
|
|
|
3402
3471
|
trace('PN incomplete')
|
|
3403
3472
|
completed = false
|
|
3404
3473
|
end
|
|
3474
|
+
param_start = prefix_node.range_start
|
|
3405
3475
|
else
|
|
3406
3476
|
prefix_node = prefix(nil)
|
|
3407
3477
|
prefix_node.complete = true
|
|
@@ -3418,6 +3488,8 @@ begin
|
|
|
3418
3488
|
trace('VN incomplete')
|
|
3419
3489
|
completed = false
|
|
3420
3490
|
end
|
|
3491
|
+
param_start ||= value_node.range_start
|
|
3492
|
+
param_node.character_range = [param_start, value_node.range_end]
|
|
3421
3493
|
else
|
|
3422
3494
|
completed = false
|
|
3423
3495
|
end
|
|
@@ -3438,7 +3510,7 @@ begin
|
|
|
3438
3510
|
id_end = p
|
|
3439
3511
|
chars = data[id_start...id_end]
|
|
3440
3512
|
completed = !chars.empty?
|
|
3441
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
3513
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
3442
3514
|
@buffers[:ident] = ast_node
|
|
3443
3515
|
end
|
|
3444
3516
|
end
|
|
@@ -3447,7 +3519,7 @@ begin
|
|
|
3447
3519
|
trace('IDENTIFIER an_ident_err')
|
|
3448
3520
|
id_end = p
|
|
3449
3521
|
chars = data[id_start...id_end]
|
|
3450
|
-
ast_node = identifier(utf8_string(chars), complete: false)
|
|
3522
|
+
ast_node = identifier(utf8_string(chars), complete: false, character_range: [id_start, id_end])
|
|
3451
3523
|
@buffers[:ident] = ast_node
|
|
3452
3524
|
end
|
|
3453
3525
|
begin
|
|
@@ -3455,7 +3527,7 @@ begin
|
|
|
3455
3527
|
trace('STRING a_string_err')
|
|
3456
3528
|
p_end = p
|
|
3457
3529
|
chars = data[p_start...p_end]
|
|
3458
|
-
ast_node = string(utf8_string(chars), complete: false)
|
|
3530
|
+
ast_node = string(utf8_string(chars), complete: false, character_range: [p_start, p_end])
|
|
3459
3531
|
@buffers[:string] = ast_node
|
|
3460
3532
|
end
|
|
3461
3533
|
begin
|
|
@@ -3492,7 +3564,7 @@ begin
|
|
|
3492
3564
|
id_end = p
|
|
3493
3565
|
chars = data[id_start...id_end]
|
|
3494
3566
|
completed = !chars.empty?
|
|
3495
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
3567
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
3496
3568
|
@buffers[:ident] = ast_node
|
|
3497
3569
|
end
|
|
3498
3570
|
end
|
|
@@ -3500,7 +3572,7 @@ begin
|
|
|
3500
3572
|
|
|
3501
3573
|
trace('PARAMETER add_prefix')
|
|
3502
3574
|
ident = @buffers.delete(:ident)
|
|
3503
|
-
prefix_node = prefix(ident, complete: ident.complete)
|
|
3575
|
+
prefix_node = prefix(ident, complete: ident.complete, character_range: ident.character_range)
|
|
3504
3576
|
@buffers[:param_prefix] = prefix_node
|
|
3505
3577
|
end
|
|
3506
3578
|
begin
|
|
@@ -3515,6 +3587,7 @@ begin
|
|
|
3515
3587
|
trace('PN incomplete')
|
|
3516
3588
|
completed = false
|
|
3517
3589
|
end
|
|
3590
|
+
param_start = prefix_node.range_start
|
|
3518
3591
|
else
|
|
3519
3592
|
prefix_node = prefix(nil)
|
|
3520
3593
|
prefix_node.complete = true
|
|
@@ -3531,6 +3604,8 @@ begin
|
|
|
3531
3604
|
trace('VN incomplete')
|
|
3532
3605
|
completed = false
|
|
3533
3606
|
end
|
|
3607
|
+
param_start ||= value_node.range_start
|
|
3608
|
+
param_node.character_range = [param_start, value_node.range_end]
|
|
3534
3609
|
else
|
|
3535
3610
|
completed = false
|
|
3536
3611
|
end
|
|
@@ -3550,7 +3625,7 @@ begin
|
|
|
3550
3625
|
id_end = p
|
|
3551
3626
|
chars = data[id_start...id_end]
|
|
3552
3627
|
completed = !chars.empty?
|
|
3553
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
3628
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
3554
3629
|
@buffers[:ident] = ast_node
|
|
3555
3630
|
end
|
|
3556
3631
|
begin
|
|
@@ -3560,7 +3635,7 @@ begin
|
|
|
3560
3635
|
id_end = p
|
|
3561
3636
|
chars = data[id_start...id_end]
|
|
3562
3637
|
completed = !chars.empty?
|
|
3563
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
3638
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
3564
3639
|
@buffers[:ident] = ast_node
|
|
3565
3640
|
end
|
|
3566
3641
|
end
|
|
@@ -3568,7 +3643,7 @@ begin
|
|
|
3568
3643
|
|
|
3569
3644
|
trace('PARAMETER add_ident_param_value')
|
|
3570
3645
|
ident = @buffers.delete(:ident)
|
|
3571
|
-
value_node = value(ident, complete: ident.complete)
|
|
3646
|
+
value_node = value(ident, complete: ident.complete, character_range: ident.character_range)
|
|
3572
3647
|
@buffers[:param_value] = value_node
|
|
3573
3648
|
end
|
|
3574
3649
|
begin
|
|
@@ -3583,6 +3658,7 @@ begin
|
|
|
3583
3658
|
trace('PN incomplete')
|
|
3584
3659
|
completed = false
|
|
3585
3660
|
end
|
|
3661
|
+
param_start = prefix_node.range_start
|
|
3586
3662
|
else
|
|
3587
3663
|
prefix_node = prefix(nil)
|
|
3588
3664
|
prefix_node.complete = true
|
|
@@ -3599,6 +3675,8 @@ begin
|
|
|
3599
3675
|
trace('VN incomplete')
|
|
3600
3676
|
completed = false
|
|
3601
3677
|
end
|
|
3678
|
+
param_start ||= value_node.range_start
|
|
3679
|
+
param_node.character_range = [param_start, value_node.range_end]
|
|
3602
3680
|
else
|
|
3603
3681
|
completed = false
|
|
3604
3682
|
end
|
|
@@ -3619,7 +3697,7 @@ begin
|
|
|
3619
3697
|
id_end = p
|
|
3620
3698
|
chars = data[id_start...id_end]
|
|
3621
3699
|
completed = !chars.empty?
|
|
3622
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
3700
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
3623
3701
|
@buffers[:ident] = ast_node
|
|
3624
3702
|
end
|
|
3625
3703
|
end
|
|
@@ -3629,14 +3707,14 @@ begin
|
|
|
3629
3707
|
id_end = p
|
|
3630
3708
|
chars = data[id_start...id_end]
|
|
3631
3709
|
completed = !chars.empty?
|
|
3632
|
-
ast_node = identifier(utf8_string(chars), complete: completed)
|
|
3710
|
+
ast_node = identifier(utf8_string(chars), complete: completed, character_range: [id_start, id_end])
|
|
3633
3711
|
@buffers[:ident] = ast_node
|
|
3634
3712
|
end
|
|
3635
3713
|
begin
|
|
3636
3714
|
|
|
3637
3715
|
trace('PARAMETER add_ident_param_value')
|
|
3638
3716
|
ident = @buffers.delete(:ident)
|
|
3639
|
-
value_node = value(ident, complete: ident.complete)
|
|
3717
|
+
value_node = value(ident, complete: ident.complete, character_range: ident.character_range)
|
|
3640
3718
|
@buffers[:param_value] = value_node
|
|
3641
3719
|
end
|
|
3642
3720
|
begin
|
|
@@ -3651,6 +3729,7 @@ begin
|
|
|
3651
3729
|
trace('PN incomplete')
|
|
3652
3730
|
completed = false
|
|
3653
3731
|
end
|
|
3732
|
+
param_start = prefix_node.range_start
|
|
3654
3733
|
else
|
|
3655
3734
|
prefix_node = prefix(nil)
|
|
3656
3735
|
prefix_node.complete = true
|
|
@@ -3667,6 +3746,8 @@ begin
|
|
|
3667
3746
|
trace('VN incomplete')
|
|
3668
3747
|
completed = false
|
|
3669
3748
|
end
|
|
3749
|
+
param_start ||= value_node.range_start
|
|
3750
|
+
param_node.character_range = [param_start, value_node.range_end]
|
|
3670
3751
|
else
|
|
3671
3752
|
completed = false
|
|
3672
3753
|
end
|