Class: MODL::Parser::Parsed::ParsedStructure
- Inherits:
-
MODLParserBaseListener
- Object
- Antlr4::Runtime::ParseTreeListener
- MODLParserListener
- MODLParserBaseListener
- MODL::Parser::Parsed::ParsedStructure
- Defined in:
- lib/modl/parser/parsed.rb
Overview
Class to represent a parsed grammar object
Instance Attribute Summary collapse
-
#array ⇒ Object
Returns the value of attribute array.
-
#map ⇒ Object
Returns the value of attribute map.
-
#pair ⇒ Object
Returns the value of attribute pair.
-
#top_level_conditional ⇒ Object
Returns the value of attribute top_level_conditional.
Instance Method Summary collapse
- #enterModl_structure(ctx) ⇒ Object
- #extract_hash ⇒ Object
-
#initialize(global) ⇒ ParsedStructure
constructor
A new instance of ParsedStructure.
Methods inherited from MODLParserBaseListener
#enterModl, #enterModl_array, #enterModl_array_conditional, #enterModl_array_conditional_return, #enterModl_array_item, #enterModl_array_value_item, #enterModl_condition, #enterModl_condition_group, #enterModl_condition_test, #enterModl_map, #enterModl_map_conditional, #enterModl_map_conditional_return, #enterModl_map_item, #enterModl_nb_array, #enterModl_operator, #enterModl_pair, #enterModl_primitive, #enterModl_top_level_conditional, #enterModl_top_level_conditional_return, #enterModl_value, #enterModl_value_conditional, #enterModl_value_conditional_return, #enterModl_value_item, #enter_every_rule, #exitModl, #exitModl_array, #exitModl_array_conditional, #exitModl_array_conditional_return, #exitModl_array_item, #exitModl_array_value_item, #exitModl_condition, #exitModl_condition_group, #exitModl_condition_test, #exitModl_map, #exitModl_map_conditional, #exitModl_map_conditional_return, #exitModl_map_item, #exitModl_nb_array, #exitModl_operator, #exitModl_pair, #exitModl_primitive, #exitModl_structure, #exitModl_top_level_conditional, #exitModl_top_level_conditional_return, #exitModl_value, #exitModl_value_conditional, #exitModl_value_conditional_return, #exitModl_value_item, #exit_every_rule, #visit_error_node, #visit_terminal
Methods inherited from MODLParserListener
#enterModl, #enterModl_array, #enterModl_array_conditional, #enterModl_array_conditional_return, #enterModl_array_item, #enterModl_array_value_item, #enterModl_condition, #enterModl_condition_group, #enterModl_condition_test, #enterModl_map, #enterModl_map_conditional, #enterModl_map_conditional_return, #enterModl_map_item, #enterModl_nb_array, #enterModl_operator, #enterModl_pair, #enterModl_primitive, #enterModl_top_level_conditional, #enterModl_top_level_conditional_return, #enterModl_value, #enterModl_value_conditional, #enterModl_value_conditional_return, #enterModl_value_item, #exitModl, #exitModl_array, #exitModl_array_conditional, #exitModl_array_conditional_return, #exitModl_array_item, #exitModl_array_value_item, #exitModl_condition, #exitModl_condition_group, #exitModl_condition_test, #exitModl_map, #exitModl_map_conditional, #exitModl_map_conditional_return, #exitModl_map_item, #exitModl_nb_array, #exitModl_operator, #exitModl_pair, #exitModl_primitive, #exitModl_structure, #exitModl_top_level_conditional, #exitModl_top_level_conditional_return, #exitModl_value, #exitModl_value_conditional, #exitModl_value_conditional_return, #exitModl_value_item
Constructor Details
#initialize(global) ⇒ ParsedStructure
Returns a new instance of ParsedStructure.
137 138 139 |
# File 'lib/modl/parser/parsed.rb', line 137 def initialize(global) @global = global end |
Instance Attribute Details
#array ⇒ Object
Returns the value of attribute array.
132 133 134 |
# File 'lib/modl/parser/parsed.rb', line 132 def array @array end |
#map ⇒ Object
Returns the value of attribute map.
135 136 137 |
# File 'lib/modl/parser/parsed.rb', line 135 def map @map end |
#pair ⇒ Object
Returns the value of attribute pair.
133 134 135 |
# File 'lib/modl/parser/parsed.rb', line 133 def pair @pair end |
#top_level_conditional ⇒ Object
Returns the value of attribute top_level_conditional.
134 135 136 |
# File 'lib/modl/parser/parsed.rb', line 134 def top_level_conditional @top_level_conditional end |
Instance Method Details
#enterModl_structure(ctx) ⇒ Object
141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 |
# File 'lib/modl/parser/parsed.rb', line 141 def enterModl_structure(ctx) modl_pair = ctx.modl_pair modl_top_level_conditional = ctx.modl_top_level_conditional modl_map = ctx.modl_map modl_array = ctx.modl_array if !modl_pair.nil? @pair = ParsedPair.new @global modl_pair.enter_rule(@pair) elsif !modl_top_level_conditional.nil? @top_level_conditional = ParsedTopLevelConditional.new @global modl_top_level_conditional.enter_rule(@top_level_conditional) elsif !modl_map.nil? @map = ParsedMap.new @global modl_map.enter_rule(@map) elsif !modl_array.nil? @array = ParsedArray.new @global modl_array.enter_rule(@array) end end |
#extract_hash ⇒ Object
162 163 164 165 166 167 |
# File 'lib/modl/parser/parsed.rb', line 162 def extract_hash return @array.extract_hash if @array return @pair.extract_hash if @pair return @top_level_conditional.extract_hash if @top_level_conditional return @map.extract_hash if @map end |