Module: BELParser::Expression

Defined in:
lib/bel_parser/expression/filter.rb,
lib/bel_parser/expression/parser.rb,
lib/bel_parser/expression/validator.rb,
lib/bel_parser/expression/model/term.rb,
lib/bel_parser/expression/model/namespace.rb,
lib/bel_parser/expression/model/parameter.rb,
lib/bel_parser/expression/model/statement.rb,
lib/bel_parser/expression/model/annotation.rb

Defined Under Namespace

Modules: Model Classes: Filter, Parser, Validator

Class Method Summary collapse

Class Method Details

.filterObject



31
32
33
# File 'lib/bel_parser/expression/filter.rb', line 31

def self.filter
  BELParser::ASTFilter.new(nil, *Filter::TYPES)
end

.parameter_filterObject



35
36
37
38
39
# File 'lib/bel_parser/expression/filter.rb', line 35

def self.parameter_filter
  BELParser::ASTFilter.new(
    nil,
    BELParser::Parsers::AST::Parameter.ast_type)
end

.parse(input, spec = BELParser::Language.default_specification, namespaces = {}) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/bel_parser/expression/parser.rb', line 12

def self.parse(
  input,
  spec       = BELParser::Language.default_specification,
  namespaces = {})

  parser = Parser.new(input, Expression.filter, spec, namespaces)
  parser.parse
end

.parse_parameters(input, spec = BELParser::Language.default_specification, namespaces = {}) ⇒ Object



21
22
23
24
25
26
27
28
# File 'lib/bel_parser/expression/parser.rb', line 21

def self.parse_parameters(
  input,
  spec       = BELParser::Language.default_specification,
  namespaces = {})

  parser = Parser.new(input, Expression.parameter_filter, spec, namespaces)
  parser.parse
end

.parse_statements(input, spec = BELParser::Language.default_specification, namespaces = {}) ⇒ Object



39
40
41
42
43
44
45
46
# File 'lib/bel_parser/expression/parser.rb', line 39

def self.parse_statements(
  input,
  spec       = BELParser::Language.default_specification,
  namespaces = {})

  parser = Parser.new(input, Expression.statement_filter, spec, namespaces)
  parser.parse
end

.parse_terms(input, spec = BELParser::Language.default_specification, namespaces = {}) ⇒ Object



30
31
32
33
34
35
36
37
# File 'lib/bel_parser/expression/parser.rb', line 30

def self.parse_terms(
  input,
  spec       = BELParser::Language.default_specification,
  namespaces = {})

  parser = Parser.new(input, Expression.term_filter, spec, namespaces)
  parser.parse
end

.statement_filterObject



47
48
49
50
51
52
53
# File 'lib/bel_parser/expression/filter.rb', line 47

def self.statement_filter
  BELParser::ASTFilter.new(
    nil,
    BELParser::Parsers::AST::SimpleStatement.ast_type,
    BELParser::Parsers::AST::ObservedTerm.ast_type,
    BELParser::Parsers::AST::NestedStatement.ast_type)
end

.term_filterObject



41
42
43
44
45
# File 'lib/bel_parser/expression/filter.rb', line 41

def self.term_filter
  BELParser::ASTFilter.new(
    nil,
    BELParser::Parsers::AST::Term.ast_type)
end