Class: Treetop::Runtime::SyntaxNode
- Inherits:
-
Object
- Object
- Treetop::Runtime::SyntaxNode
show all
- Defined in:
- lib/parser/syntax_node_extensions.rb
Direct Known Subclasses
MylReferenceParser::AdditionOperator, MylReferenceParser::AdditiveExpression, MylReferenceParser::Assignment, MylReferenceParser::AssignmentOperator, MylReferenceParser::Block, MylReferenceParser::ComparativeExpression, MylReferenceParser::DivisionOperator, MylReferenceParser::EqualityOperator, MylReferenceParser::Expression, MylReferenceParser::FalseLiteral, MylReferenceParser::FloatLiteral, MylReferenceParser::FunctionCall, MylReferenceParser::GreaterThanOperator, MylReferenceParser::Identifier, MylReferenceParser::If, MylReferenceParser::InEqualityOperator, MylReferenceParser::IntegerLiteral, MylReferenceParser::LessThanOperator, MylReferenceParser::MultiplicationOperator, MylReferenceParser::MultitiveExpression, MylReferenceParser::NilLiteral, MylReferenceParser::Statement, MylReferenceParser::StringLiteral, MylReferenceParser::SubtractionOperator, MylReferenceParser::TrueLiteral, MylReferenceParser::Unless
Instance Method Summary
collapse
Instance Method Details
#get_element(nth, params = {}) ⇒ Object
18
19
20
21
22
|
# File 'lib/parser/syntax_node_extensions.rb', line 18
def get_element(nth, params = {})
demand_elem = get_element_rec(nth, 0, self.elements)
return demand_elem.elements[params[:child]] if params[:child]
return demand_elem
end
|
#to_hash ⇒ Object
5
6
7
8
9
10
11
12
13
14
15
16
|
# File 'lib/parser/syntax_node_extensions.rb', line 5
def to_hash()
hash = {}
hash[:offset] = self.interval.first
hash[:text_value] = self.text_value
hash[:name] = self.class.name.split("::").last
unless( self.elements.nil? )
hash[:elements] = self.elements.map {|element| element.to_hash() }
else
hash[:elements] = nil
end
return hash
end
|