class TPPlus::Nodes::TerminationNode

Public Class Methods

new(value) click to toggle source
# File lib/tp_plus/nodes/termination_node.rb, line 4
def initialize(value)
  @value = value
end

Public Instance Methods

eval(context) click to toggle source
# File lib/tp_plus/nodes/termination_node.rb, line 8
def eval(context)
  case @value
  when DigitNode
    "CNT#{@value.eval(context)}"
  when VarNode
    if @value.constant?
      val = @value.eval(context)
      if val[0] == "(" # negative
        "FINE"
      else
        "CNT#{val}"
      end
    else
      "CNT #{@value.eval(context)}"
    end
  else
    raise "invalid term"
  end
end