module Mom class Statement # flattening will change the structure from a tree to a linked list (and use # nekst to do so) def flatten raise "not implemented for #{self}" end end class Statements < Statement include Common::Statements def flatten( options = {} ) flat = @statements.pop.flatten while( nekst = @statements.pop ) flat.append nekst.flatten() end flat end end end require_relative "if_statement" require_relative "while_statement"