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
|
@@ -61,7 +61,7 @@ module BELParser
|
|
|
61
61
|
# Get the character range enclosing this AST node. It is defined
|
|
62
62
|
# as the close interval containing all the characters of this
|
|
63
63
|
# AST node.
|
|
64
|
-
|
|
64
|
+
attr_accessor :character_range
|
|
65
65
|
|
|
66
66
|
# Get/Set the complete property.
|
|
67
67
|
attr_accessor :complete
|
|
@@ -445,7 +445,7 @@ module BELParser
|
|
|
445
445
|
end
|
|
446
446
|
end
|
|
447
447
|
|
|
448
|
-
# AST node representing
|
|
448
|
+
# AST node representing an identifier (e.g. non-quoted value).
|
|
449
449
|
class Identifier < Node
|
|
450
450
|
# AST node type
|
|
451
451
|
@ast_type = :identifier
|
|
@@ -465,6 +465,26 @@ module BELParser
|
|
|
465
465
|
end
|
|
466
466
|
end
|
|
467
467
|
|
|
468
|
+
# AST node representing a multi-valued identifier without needing quotes (e.g. greedy).
|
|
469
|
+
class MultiIdentifier < Node
|
|
470
|
+
# AST node type
|
|
471
|
+
@ast_type = :multi_identifier
|
|
472
|
+
# MultiIdentifier have no semantics
|
|
473
|
+
@has_semantics = false
|
|
474
|
+
|
|
475
|
+
# New MultiIdentifier AST node.
|
|
476
|
+
#
|
|
477
|
+
# @see Node#initialize Node class for basic properties
|
|
478
|
+
def initialize(children = [], properties = {})
|
|
479
|
+
super(MultiIdentifier.ast_type, children, properties)
|
|
480
|
+
end
|
|
481
|
+
|
|
482
|
+
# Get the string literal.
|
|
483
|
+
def string_literal
|
|
484
|
+
children[0]
|
|
485
|
+
end
|
|
486
|
+
end
|
|
487
|
+
|
|
468
488
|
# AST node representing a list.
|
|
469
489
|
class List < Node
|
|
470
490
|
# AST node type
|
|
@@ -825,6 +845,15 @@ module BELParser
|
|
|
825
845
|
def string_literal
|
|
826
846
|
children[0]
|
|
827
847
|
end
|
|
848
|
+
|
|
849
|
+
def string_value
|
|
850
|
+
return nil if children[0].nil?
|
|
851
|
+
|
|
852
|
+
value = children[0].dup
|
|
853
|
+
value.slice!(0) if value[0] == '"'
|
|
854
|
+
value.slice!(-1) if value[-1] == '"'
|
|
855
|
+
value
|
|
856
|
+
end
|
|
828
857
|
end
|
|
829
858
|
|
|
830
859
|
# AST node representing a term.
|
|
@@ -944,6 +973,20 @@ module BELParser
|
|
|
944
973
|
#
|
|
945
974
|
# @see https://en.wikipedia.org/wiki/S-expression S-expression
|
|
946
975
|
module Sexp
|
|
976
|
+
def self.build(&block)
|
|
977
|
+
raise ArgumentError, 'expecting block' unless block_given?
|
|
978
|
+
|
|
979
|
+
builder = _builder_class.new
|
|
980
|
+
builder.instance_eval(&block)
|
|
981
|
+
end
|
|
982
|
+
|
|
983
|
+
def self._builder_class
|
|
984
|
+
Class.new do
|
|
985
|
+
include Sexp
|
|
986
|
+
end
|
|
987
|
+
end
|
|
988
|
+
private_class_method :_builder_class
|
|
989
|
+
|
|
947
990
|
def nested_statement(*children, **props)
|
|
948
991
|
NestedStatement.new(children, props)
|
|
949
992
|
end
|
|
@@ -1004,6 +1047,10 @@ module BELParser
|
|
|
1004
1047
|
Identifier.new(children, props)
|
|
1005
1048
|
end
|
|
1006
1049
|
|
|
1050
|
+
def multi_identifier(*children, **props)
|
|
1051
|
+
MultiIdentifier.new(children, props)
|
|
1052
|
+
end
|
|
1053
|
+
|
|
1007
1054
|
def string(*children, **props)
|
|
1008
1055
|
String.new(children, props)
|
|
1009
1056
|
end
|