Class: KPeg::RuleReference
Instance Attribute Summary collapse
-
#rule_name ⇒ Object
readonly
Returns the value of attribute rule_name.
Attributes inherited from Operator
Instance Method Summary collapse
- #==(obj) ⇒ Object
-
#initialize(name, grammar = nil) ⇒ RuleReference
constructor
A new instance of RuleReference.
- #inspect ⇒ Object
- #match(x) ⇒ Object
Methods inherited from Operator
#detect_tags, #inspect_type, #prune_values, #set_action, #|
Constructor Details
#initialize(name, grammar = nil) ⇒ RuleReference
Returns a new instance of RuleReference.
392 393 394 395 396 |
# File 'lib/kpeg/grammar.rb', line 392 def initialize(name, grammar=nil) super() @rule_name = name @grammar = grammar end |
Instance Attribute Details
#rule_name ⇒ Object (readonly)
Returns the value of attribute rule_name.
398 399 400 |
# File 'lib/kpeg/grammar.rb', line 398 def rule_name @rule_name end |
Instance Method Details
#==(obj) ⇒ Object
414 415 416 417 418 419 420 421 |
# File 'lib/kpeg/grammar.rb', line 414 def ==(obj) case obj when RuleReference @rule_name == obj.rule_name else super end end |
#inspect ⇒ Object
423 424 425 |
# File 'lib/kpeg/grammar.rb', line 423 def inspect inspect_type "ref", @rule_name end |
#match(x) ⇒ Object
400 401 402 403 404 405 406 407 408 409 410 411 412 |
# File 'lib/kpeg/grammar.rb', line 400 def match(x) if @grammar and @grammar != x.grammar x.switch_grammar(@grammar) do rule = @grammar.find(@rule_name) raise "Unknown rule: '#{@rule_name}'" unless rule x.apply rule end else rule = x.grammar.find(@rule_name) raise "Unknown rule: '#{@rule_name}'" unless rule x.apply rule end end |