class Piggly::Parser::Nodes::Expression

Public Instance Methods

expression?() click to toggle source
# File lib/piggly/parser/nodes.rb, line 95
def expression?
  true
end
tag(prefix = nil, id = nil) click to toggle source
# File lib/piggly/parser/nodes.rb, line 99
def tag(prefix = nil, id = nil)
  unless defined? @tag_id
    if named?(:cond)
      if parent.while?
        # This node is the conditional in a WHILE loop
        Tags::ConditionalLoopTag.new(prefix, id)
      elsif parent.loop?
        # This node is the conditional in a loop
        Tags::UnconditionalLoopTag.new(prefix, id)
      elsif parent.branch?
        # This node is a conditional in a branch
        Tags::ConditionalBranchTag.new(prefix, id)
      else
        Tags::EvaluationTag.new(prefix, id)
      end
    else
      Tags::EvaluationTag.new(prefix, id)
    end.tap{|tag| @tag_id = tag.id }
  end
end
terminal?() click to toggle source
# File lib/piggly/parser/nodes.rb, line 120
def terminal?
  false
end