rubyx/lib/ruby/while_statement.rb
Torsten Ruger 38350dd198 start a new ruby layer to do the to_vool conversion
the "normalization" is getting more and more complicated and is not tested
And it seems i really don't like working with the untyped ast
2018-07-19 14:46:51 +03:00

25 lines
539 B
Ruby

require_relative "normalizer"
module Ruby
class WhileStatement < Statement
include Normalizer
attr_reader :condition , :body , :hoisted
def initialize( condition , body , hoisted = nil)
@hoisted = hoisted
@condition = condition
@body = body
end
def normalize
cond , rest = *normalize_name(@condition)
WhileStatement.new(cond , @body.normalize , rest)
end
def to_s(depth = 0)
at_depth(depth , "while (#{@condition})" , @body.to_s(depth + 1) , "end" )
end
end
end