coins.ffront
Class PowerNode
java.lang.Object
coins.ffront.Pair
coins.ffront.BinaryNode
coins.ffront.PowerNode
- All Implemented Interfaces:
- HasConstValue, Node
- public class PowerNode
- extends BinaryNode
Powered expression
left ** right
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
fHirUtil
HirUtility fHirUtil
PowerNode
public PowerNode(Node left,
Node right,
FirToHir pfHir)
print
public void print(int level,
java.lang.String spaces)
- Specified by:
print in interface Node- Overrides:
print in class BinaryNode
toString
public java.lang.String toString()
- Specified by:
toString in interface Node- Overrides:
toString in class BinaryNode
makeExp
public Exp makeExp()
- Return Exp of "left ** right".
If
right == 0 return 1
right == 1 return left
right == 2 return left * left
right == 3 return left * left * left
right == 4 return (left * left) * (left * left)
else return SubscrOrFunCall("_power", (left, right))
- Specified by:
makeExp in interface Node- Overrides:
makeExp in class BinaryNode
- Returns:
- power expression.
getConstValue
public FNumber getConstValue()
- Specified by:
getConstValue in interface HasConstValue- Overrides:
getConstValue in class BinaryNode