Class: Aurum::Engine::SemanticActionExecutable::SemanticContext
- Inherits:
-
Object
- Object
- Aurum::Engine::SemanticActionExecutable::SemanticContext
- Defined in:
- lib/aurum/engine/parsing_facility.rb
Instance Method Summary collapse
-
#initialize(lexer, context, mappings) ⇒ SemanticContext
constructor
A new instance of SemanticContext.
- #method_missing(name) ⇒ Object
Constructor Details
#initialize(lexer, context, mappings) ⇒ SemanticContext
Returns a new instance of SemanticContext.
80 81 82 |
# File 'lib/aurum/engine/parsing_facility.rb', line 80 def initialize lexer, context, mappings @lexer, @context, @mappings = lexer, context, mappings end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name) ⇒ Object
84 85 86 87 88 89 90 |
# File 'lib/aurum/engine/parsing_facility.rb', line 84 def method_missing name name_string = name.to_s index = name_string =~ /\d+/ ? name_string.slice!(/\d+/).to_i : 0 name_string = @mappings[name_string] if @mappings.has_key?(name_string) return @context[name_string][-index] if @context[name_string][-index] Attributes.new end |