Class: Citrus::Super

Inherits:
Object show all
Includes:
Proxy
Defined in:
lib/citrus.rb

Overview

A Super is a Proxy for a rule of the same name that was defined previously in the grammar's inheritance chain. Thus, Super's work like Ruby's super, only for rules in a grammar instead of methods in a module. The Citrus notation is the word super without any other punctuation, e.g.:

super

Instance Attribute Summary

Attributes included from Proxy

#rule_name

Attributes included from Rule

#extension, #grammar, #label, #name

Instance Method Summary collapse

Methods included from Proxy

#elide?, #exec, #extend_match, #initialize, #rule

Methods included from Rule

#==, #===, #default_options, #elide?, #extend_match, for, #inspect, #needs_paren?, #parse, #terminal?, #test, #to_embedded_s, #to_s

Instance Method Details

#to_citrus ⇒ Object

Returns the Citrus notation of this rule as a string.



843
844
845
# File 'lib/citrus.rb', line 843

def to_citrus # :nodoc:
  'super'
end