Class: DivNode
- Inherits:
-
BinaryNode
- Object
- BinaryNode
- DivNode
- Defined in:
- lib/ast.rb
Instance Attribute Summary
Attributes inherited from BinaryNode
Instance Method Summary collapse
- #evaluate ⇒ Object
- #ewe ⇒ Object
-
#initialize(lef, right) ⇒ DivNode
constructor
A new instance of DivNode.
Constructor Details
#initialize(lef, right) ⇒ DivNode
Returns a new instance of DivNode.
87 88 89 |
# File 'lib/ast.rb', line 87 def initialize(lef, right) super(left, right) end |
Instance Method Details
#evaluate ⇒ Object
90 91 92 |
# File 'lib/ast.rb', line 90 def evaluate() return @left.evaluate() / @right.evaluate() end |
#ewe ⇒ Object
94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/ast.rb', line 94 def ewe() iniciaDN = " sp := sp + tres \n" medioDN = "\n sp := sp - tres \n tmp := M[sp + 3] \n" medioDN+=" M[sp + 1] := tmp \n sp := sp + tres \n" finDN = "\n sp := sp - tres \n tmp := M[sp + 3] \n" finDN+=" M[sp + 2] := tmp \n tmp := M[sp + 1] \n" finDN+=" tmp2 := M[sp + 2] \n tmp := tmp / tmp2 \n" finDN+=" M[sp + 0] := tmp \n" div = iniciaDN + @left.ewe() +medioDN + @right.ewe() + finDN return div end |