|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcoins.ffront.HirUtility
HIR wrapper class
| Field Summary | |
(package private) FirToHir |
fHir
|
(package private) TypeUtility |
fTypeUtil
|
(package private) HIR |
hir
|
(package private) HirRoot |
hirRoot
|
(package private) Sym |
sym
|
(package private) SymRoot |
symRoot
|
| Constructor Summary | |
HirUtility(FirToHir fth,
HIR h)
|
|
| Method Summary | |
(package private) Exp |
castIfNeeded(Exp exp,
Type type)
return cast expression if cast is needed |
(package private) Exp |
castToInteger(Exp exp)
cast to integer. |
Exp |
checkAssignExpType(Exp pExp1,
Exp pExp2)
Add type conversion node if necessary. |
(package private) Type |
checkTwoExpType(Exp arg1,
Exp arg2)
return more complex type between two exp. |
Exp |
convToDouble(Exp pExp)
|
(package private) void |
dp(java.lang.String msg)
|
Exp |
makeArgAddr(FStmt pCallStmt,
Exp pExp)
Make a call-by-address node from pExp. |
Stmt |
makeAssignStmt(Exp lExp1,
Exp lExp2)
return checked assign statement |
Exp |
makeBooleanExp(Exp e)
return boolean checked exp |
Stmt |
makeCharacterAssignStmt(Exp e1,
Exp e2,
Exp l1,
Exp l2)
return character assign exp |
FortranCharacterExp |
makeCharsConstNode(java.lang.String lexem)
|
(package private) ComplexExp |
makeComplexExp(Exp pExp)
Make ComplexExp node from Exp node of _complex_struct. |
(package private) ComplexExp |
makeComplexExpByType(Exp rexp,
Exp iexp,
Type type)
|
(package private) ComplexExp |
makeComplexExpFromVar(Var v)
|
Exp |
makeConstDouble0Node()
|
Exp |
makeConstInt0Node()
|
Exp |
makeConstInt1Node()
|
Exp |
makeConstReal0Node()
|
Exp |
makeConstReal1Node()
|
(package private) DoubleComplexExp |
makeDoubleComplexExp(Exp pExp)
|
Exp |
makeDoubleConstNode(java.lang.String lexem)
|
Exp |
makeFalseConstNode()
|
Exp |
makeFloatConstNode(java.lang.String lexem)
|
FortranCharacterExp |
makeFortranCharacterExp(Exp body,
Exp len)
|
(package private) Stmt |
makeIfStmt(Exp cond,
Stmt thenStmt,
Stmt elseStmt)
make if statement. |
Exp |
makeIntConstNode(int num)
|
Exp |
makeIntConstNode(java.lang.String lexem)
|
Exp |
makeLongConstNode(int num)
|
Exp |
makeNullNode()
|
Exp |
makeSubpExp(Subp subp)
make subpNode to pointer of subp node SubpNode -> &(SubpNode) |
Exp |
makeSubpNode(java.lang.String pSubpName,
int pType,
IrList pParamList,
int visibility)
Make subprogram node |
Exp |
makeTrueConstNode()
|
(package private) Exp |
makeTyped0Node(Type type)
|
(package private) Stmt |
qassign(Var var,
java.lang.String ident,
Exp exp)
qualified assign |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
FirToHir fHir
TypeUtility fTypeUtil
Sym sym
HIR hir
SymRoot symRoot
HirRoot hirRoot
| Constructor Detail |
public HirUtility(FirToHir fth,
HIR h)
| Method Detail |
public Exp makeArgAddr(FStmt pCallStmt,
Exp pExp)
pCallStmt - pExp -
DoubleComplexExp makeDoubleComplexExp(Exp pExp)
ComplexExp makeComplexExp(Exp pExp)
pExp - Exp node of _complex_struct
ComplexExp makeComplexExpByType(Exp rexp,
Exp iexp,
Type type)
ComplexExp makeComplexExpFromVar(Var v)
public Exp makeNullNode()
public Exp makeConstInt1Node()
public Exp makeConstInt0Node()
public Exp makeConstReal0Node()
public Exp makeConstDouble0Node()
public Exp makeConstReal1Node()
public Exp makeIntConstNode(java.lang.String lexem)
public Exp makeIntConstNode(int num)
public Exp makeLongConstNode(int num)
public Exp makeFloatConstNode(java.lang.String lexem)
public Exp makeDoubleConstNode(java.lang.String lexem)
public Exp makeTrueConstNode()
public Exp makeFalseConstNode()
public FortranCharacterExp makeCharsConstNode(java.lang.String lexem)
public FortranCharacterExp makeFortranCharacterExp(Exp body,
Exp len)
public Exp checkAssignExpType(Exp pExp1,
Exp pExp2)
pExp1 - pExp2 -
public Stmt makeAssignStmt(Exp lExp1,
Exp lExp2)
public Exp makeBooleanExp(Exp e)
public Stmt makeCharacterAssignStmt(Exp e1,
Exp e2,
Exp l1,
Exp l2)
public Exp makeSubpNode(java.lang.String pSubpName,
int pType,
IrList pParamList,
int visibility)
public Exp makeSubpExp(Subp subp)
public Exp convToDouble(Exp pExp)
Stmt qassign(Var var,
java.lang.String ident,
Exp exp)
Exp castToInteger(Exp exp)
Type checkTwoExpType(Exp arg1,
Exp arg2)
Exp castIfNeeded(Exp exp,
Type type)
Exp makeTyped0Node(Type type)
void dp(java.lang.String msg)
Stmt makeIfStmt(Exp cond,
Stmt thenStmt,
Stmt elseStmt)
if EXP1 and EXP2
T
else
F
end
=>
IF EXP1
IF EXP2
T
END
goto ELSE_L
ELSE
ELSE_L:
E
END
if EXP1 or EXP2
T
else
E
end
=>
IF EXP1
THEN_L:
T
ELSE
IF EXP2
goto THEN_L
END
E
END
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||