diff --git a/lib/typed/tree/assignment.rb b/lib/typed/tree/assignment.rb index d8d12e26..99f4092b 100644 --- a/lib/typed/tree/assignment.rb +++ b/lib/typed/tree/assignment.rb @@ -5,6 +5,9 @@ module Typed def initialize(n = nil , v = nil ) @name , @value = n , v end + def to_s + "#{name} = #{value}\n" + end end end end diff --git a/lib/typed/tree/statements.rb b/lib/typed/tree/statements.rb index aabe44f9..e72b4fa7 100644 --- a/lib/typed/tree/statements.rb +++ b/lib/typed/tree/statements.rb @@ -1,5 +1,9 @@ module Typed class Statements < Statement attr_accessor :statements + def to_s + return "" unless statements + statements.collect() { |s| s.to_s }.join + end end end diff --git a/lib/typed/tree/while_statement.rb b/lib/typed/tree/while_statement.rb index e73602f9..69e7ac1d 100644 --- a/lib/typed/tree/while_statement.rb +++ b/lib/typed/tree/while_statement.rb @@ -4,7 +4,7 @@ module Typed attr_accessor :branch_type , :condition , :statements def to_s str = "while_#{branch_type}(#{condition}) do\n" - str + statements.join(" ") + "\nend\n" + str + statements.to_s + "\nend\n" end end end