class Rattler::Parsers::Apply

Apply parses by applying a referenced parse rule.

Public Class Methods

[](rule_name) click to toggle source

@param [Symbol,String] rule_name the name of the referenced rule @return [Apply] a new parser that parses by applying the rule

referenced by +rule_name+
# File lib/rattler/parsers/apply.rb, line 11
def self.[](rule_name)
  self.new(:rule_name => rule_name.to_sym)
end

Public Instance Methods

capturing_decidable?() click to toggle source

(see Parser#capturing_decidable?)

# File lib/rattler/parsers/apply.rb, line 30
def capturing_decidable?
  false
end
parse(scanner, rules, scope = ParserScope.empty) click to toggle source

Apply the parse rule referenced by the rule_name.

@param (see Match#parse)

@return the result of applying the referenced parse rule

# File lib/rattler/parsers/apply.rb, line 25
def parse(scanner, rules, scope = ParserScope.empty)
  (rule = rules[rule_name]) && rule.parse(scanner, rules, scope)
end