Class: MODL::Parser::Parsed::ParsedCondition

Inherits:
MODLParserBaseListener show all
Defined in:
lib/modl/parser/parsed.rb

Overview

Class to represent a parsed grammar object

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from MODLParserBaseListener

#enterModl, #enterModl_array, #enterModl_array_conditional, #enterModl_array_conditional_return, #enterModl_array_item, #enterModl_array_value_item, #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_structure, #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_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_structure, #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) ⇒ ParsedCondition

Returns a new instance of ParsedCondition.



855
856
857
858
# File 'lib/modl/parser/parsed.rb', line 855

def initialize(global)
  @global = global
  @values = []
end

Instance Attribute Details

#operatorObject

Returns the value of attribute operator.



852
853
854
# File 'lib/modl/parser/parsed.rb', line 852

def operator
  @operator
end

#textObject

Returns the value of attribute text.



853
854
855
# File 'lib/modl/parser/parsed.rb', line 853

def text
  @text
end

#valuesObject

Returns the value of attribute values.



851
852
853
# File 'lib/modl/parser/parsed.rb', line 851

def values
  @values
end

Instance Method Details

#enterModl_condition(ctx) ⇒ Object



864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
# File 'lib/modl/parser/parsed.rb', line 864

def enterModl_condition(ctx)
  modl_operator = ctx.modl_operator
  @operator = modl_operator.text unless modl_operator.nil?
  modl_value = ctx.modl_value
  modl_value.each do |v|
    value = ParsedValue.new @global
    v.enter_rule(value)
    @values << value
  end
  ctx_string = ctx.STRING
  if !ctx_string.nil?
    @text = Parsed.additional_string_processing(ctx_string.text)
    @string = ParsedString.new(@text)
    @text = @string.string
  end
end

#evaluateObject



860
861
862
# File 'lib/modl/parser/parsed.rb', line 860

def evaluate
  Evaluator.evaluate(@global, self)
end