Class: PNode

Inherits:
UnaryNode show all
Defined in:
lib/ast.rb

Instance Attribute Summary

Attributes inherited from UnaryNode

#subTree

Instance Method Summary collapse

Constructor Details

#initialize(subtree) ⇒ PNode



129
130
131
# File 'lib/ast.rb', line 129

def initialize(subtree)
  super(subtree)
end

Instance Method Details

#evaluateObject



132
133
134
135
136
# File 'lib/ast.rb', line 132

def evaluate()
	plus = @subTree.evaluate()
	memory = $calc.memory
  $calc.memory = plus + memory
end

#eweObject



138
139
140
141
142
143
144
# File 'lib/ast.rb', line 138

def ewe()
  iniciaSN = "sp := sp + uno\n"
  finSN = "\n      sp := sp - uno\n      tmp := M[sp + 1]\n"
  finSN += "      M[sp + 0] := tmp\n      mem := tmp\n"
  store = iniciaNN + @subTree.ewe().to_s + finSN 
  return store
end