class BELParser::Language::Semantics::SemanticPrefix

AST node for Prefix is a semantic AST.

Public Class Methods

new(children = [], **properties) click to toggle source
# File lib/bel_parser/language/semantics_ast.rb, line 426
def initialize(children = [], **properties)
  super(:prefix, children, properties)
end

Public Instance Methods

match(parse_node, spec, will_match_partial = false) click to toggle source
# File lib/bel_parser/language/semantics_ast.rb, line 438
def match(parse_node, spec, will_match_partial = false)
  return nil_node_warning(
    parse_node,
    spec,
    BELParser::Parsers::AST::Prefix) if parse_node.nil?

  if parse_node.type != BELParser::Parsers::AST::Prefix.ast_type
    return type_warning(
      parse_node,
      spec,
      BELParser::Parsers::AST::Prefix,
      parse_node)
  end

  prefix_patterns.map do |pattern|
    pattern.match(parse_node, spec)
  end
end
prefix_patterns() click to toggle source
# File lib/bel_parser/language/semantics_ast.rb, line 434
def prefix_patterns
  children
end
terminal?() click to toggle source
# File lib/bel_parser/language/semantics_ast.rb, line 430
def terminal?
  true
end