Class: MNode

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) ⇒ MNode

Returns a new instance of MNode.



148
149
150
# File 'lib/ast.rb', line 148

def initialize(subtree)
  super(subtree)
end

Instance Method Details

#evaluateObject



151
152
153
154
155
# File 'lib/ast.rb', line 151

def evaluate()
  minus = @subTree.evaluate()
  memory = $calc.memory
  $calc.memory = memory - minus
end

#eweObject



157
158
159
160
161
162
163
# File 'lib/ast.rb', line 157

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