Method: Sfp::Operator#dump

Defined in:
lib/sfp/sas_translator.rb

#dump(stream, root, variables) ⇒ Object



2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
# File 'lib/sfp/sas_translator.rb', line 2054

def dump(stream, root, variables)
  prevails = self.values.select { |p| p.post.nil? }
  preposts = self.values.select { |p| not p.post.nil? }

  stream.write "begin_operator\n#{@name}"
  @params.each do |key,val|
    stream.write " #{key}=#{val}" if key != '$.this'
  end if @params.is_a?(Hash)

  stream.write "\n#{prevails.length}\n"
  prevails.each { |p| p.dump(stream, root, variables) }

  stream.write "#{preposts.length}\n"
  preposts.each { |p| p.dump(stream, root, variables, false) }

  stream.write "#{@cost}\nend_operator\n"
end