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
@@ -53,7 +53,9 @@ module BELParser
53
53
  end
54
54
 
55
55
  def on_function(function_node)
56
- @string << function_node.identifier.string_literal
56
+ if function_node.identifier
57
+ @string << function_node.identifier.string_literal
58
+ end
57
59
  end
58
60
 
59
61
  def on_identifier(identifier_node)
@@ -138,9 +140,11 @@ module BELParser
138
140
 
139
141
  def on_statement(statement_node)
140
142
  process(statement_node.subject)
141
- return if statement_node.object.child.nil?
142
143
 
144
+ return unless statement_node.relationship?
143
145
  process(statement_node.relationship)
146
+
147
+ return unless statement_node.object?
144
148
  object_node = statement_node.object
145
149
  if object_node.statement?
146
150
  @string << '('
@@ -152,7 +156,7 @@ module BELParser
152
156
  end
153
157
 
154
158
  def on_string(string_node)
155
- @string << %("#{string_node.string_literal}")
159
+ @string << %("#{string_node.string_value}")
156
160
  end
157
161
 
158
162
  def on_subject(subject_node)
@@ -197,7 +201,7 @@ if __FILE__ == $PROGRAM_NAME
197
201
 
198
202
  types = ARGV.map(&:to_sym)
199
203
  generator = BELParser::ASTGenerator.new($stdin)
200
- BELParser::ASTFilter.new(generator, *types).each do |(num, line, results)|
204
+ BELParser::ASTFilter.new(generator, *types).each do |(_, _, results)|
201
205
  serializer = BELParser::Parsers::Serializer.new
202
206
  serializer.process(results.first)
203
207
  puts serializer.string
@@ -0,0 +1,33 @@
1
+ module BELParser
2
+ # Captures the semantic version of the library.
3
+ module Version
4
+ # The frozen version {String}. See {Object#freeze}.
5
+ STRING =
6
+ File.read(
7
+ File.join(
8
+ File.expand_path(File.dirname(__FILE__)), '..', '..', 'VERSION'
9
+ )).chomp.freeze
10
+
11
+ # The frozen {Fixnum version numbers}. See {Object#freeze}.
12
+ MAJOR, MINOR, PATCH = STRING.split('.').map(&:freeze)
13
+ # The frozen {Array} of {Fixnum version numbers}. See {Object#freeze}.
14
+ VERSION_NUMBERS = [MAJOR, MINOR, PATCH].freeze
15
+
16
+ # Add singleton methods to the metaclass of {BEL::Version}.
17
+ class << self
18
+
19
+ # Return the frozen, semantic version {String}.
20
+ # @return [frozen String] the semantic version
21
+ def to_s
22
+ STRING
23
+ end
24
+ alias :to_str :to_s
25
+
26
+ # Return the frozen, semantic version number {Array}.
27
+ # @return [frozen Array] the semantic version numbers
28
+ def to_a
29
+ VERSION_NUMBERS
30
+ end
31
+ end
32
+ end
33
+ end
data/lib/bel_parser.rb CHANGED
@@ -1,3 +1,6 @@
1
+ # library version
2
+ require 'bel_parser/version'
3
+
1
4
  # vendored 'ast' gem
2
5
  require 'bel_parser/vendor/ast'
3
6
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bel_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.8
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anthony Bargnesi
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-06-17 00:00:00.000000000 Z
12
+ date: 2017-01-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sparql-client
@@ -25,6 +25,20 @@ dependencies:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
27
  version: 2.0.0
28
+ - !ruby/object:Gem::Dependency
29
+ name: damerau-levenshtein
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - '='
33
+ - !ruby/object:Gem::Version
34
+ version: 1.2.0
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - '='
40
+ - !ruby/object:Gem::Version
41
+ version: 1.2.0
28
42
  description: Implements language versions 1.0 and 2.0.
29
43
  email: abargnesi@selventa.com
30
44
  executables:
@@ -57,6 +71,7 @@ files:
57
71
  - lib/bel_parser.rb
58
72
  - lib/bel_parser/ast_filter.rb
59
73
  - lib/bel_parser/ast_generator.rb
74
+ - lib/bel_parser/completion.rb
60
75
  - lib/bel_parser/expression.rb
61
76
  - lib/bel_parser/expression/filter.rb
62
77
  - lib/bel_parser/expression/model.rb
@@ -80,6 +95,7 @@ files:
80
95
  - lib/bel_parser/language/semantics/function_deprecation.rb
81
96
  - lib/bel_parser/language/semantics/list_function_subject.rb
82
97
  - lib/bel_parser/language/semantics/multiple_subject_object.rb
98
+ - lib/bel_parser/language/semantics/nested_statement_without_object.rb
83
99
  - lib/bel_parser/language/semantics/non_causal_nested_statement.rb
84
100
  - lib/bel_parser/language/semantics/non_object_list.rb
85
101
  - lib/bel_parser/language/semantics/relationship_deprecation.rb
@@ -294,6 +310,7 @@ files:
294
310
  - lib/bel_parser/language/version2_0/value_encodings/protein_abundance.rb
295
311
  - lib/bel_parser/language/version2_0/value_encodings/protein_modification.rb
296
312
  - lib/bel_parser/language/version2_0/value_encodings/rna_abundance.rb
313
+ - lib/bel_parser/mixin/levenshtein.rb
297
314
  - lib/bel_parser/mixin/line_mapping.rb
298
315
  - lib/bel_parser/parsers/ast/node.rb
299
316
  - lib/bel_parser/parsers/ast/sexp.rb
@@ -321,6 +338,8 @@ files:
321
338
  - lib/bel_parser/parsers/common/identifier.rl
322
339
  - lib/bel_parser/parsers/common/list.rb
323
340
  - lib/bel_parser/parsers/common/list.rl
341
+ - lib/bel_parser/parsers/common/multi_identifier.rb
342
+ - lib/bel_parser/parsers/common/multi_identifier.rl
324
343
  - lib/bel_parser/parsers/common/string.rb
325
344
  - lib/bel_parser/parsers/common/string.rl
326
345
  - lib/bel_parser/parsers/expression.rb
@@ -336,6 +355,8 @@ files:
336
355
  - lib/bel_parser/parsers/expression/relationship.rl
337
356
  - lib/bel_parser/parsers/expression/simple_statement.rb
338
357
  - lib/bel_parser/parsers/expression/simple_statement.rl
358
+ - lib/bel_parser/parsers/expression/statement_autocomplete.rb
359
+ - lib/bel_parser/parsers/expression/statement_autocomplete.rl
339
360
  - lib/bel_parser/parsers/expression/term.rb
340
361
  - lib/bel_parser/parsers/expression/term.rl
341
362
  - lib/bel_parser/parsers/line_parser.rb
@@ -387,6 +408,7 @@ files:
387
408
  - lib/bel_parser/vendor/ast/processor.rb
388
409
  - lib/bel_parser/vendor/ast/processor/mixin.rb
389
410
  - lib/bel_parser/vendor/ast/sexp.rb
411
+ - lib/bel_parser/version.rb
390
412
  homepage: https://github.com/OpenBEL/bel_parser
391
413
  licenses:
392
414
  - Apache-2.0
@@ -407,7 +429,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
407
429
  version: '0'
408
430
  requirements: []
409
431
  rubyforge_project:
410
- rubygems_version: 2.5.1
432
+ rubygems_version: 2.6.8
411
433
  signing_key:
412
434
  specification_version: 4
413
435
  summary: Parser for Biolgical Expression Language.