Class: Riml::Compiler::WhileNodeVisitor
- Defined in:
- lib/compiler.rb
Instance Method Summary collapse
Methods inherited from Visitor
Constructor Details
This class inherits a constructor from Riml::Compiler::Visitor
Instance Method Details
#compile(node) ⇒ Object
102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
# File 'lib/compiler.rb', line 102 def compile(node) node.condition.force_newline = true node.compiled_output = "while " node.compiled_output << "!" if UntilNode === node node.condition.accept visitor_for_node(node.condition) node.body.accept NodesVisitor.new(:propagate_up_tree => false) node.body.compiled_output.each_line do |line| node.compiled_output << node.indent + line end node.force_newline = true node.compiled_output << "endwhile" end |