|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcoins.ffront.BaseManager
coins.ffront.DeclManager
Declaration Manager
| Field Summary | |
(package private) F77Sym |
f7Sym
|
(package private) FirList |
fCharParamList
|
(package private) CommonManager |
fCommonMgr
|
(package private) ConstManager |
fConstMgr
|
(package private) EquivManager |
fEquivMgr
|
(package private) ImplicitManager |
fImplMgr
|
(package private) BlockStmt |
fInitialPart
|
(package private) Subp |
fSubp
|
(package private) SubpDefinition |
fSubpDef
|
(package private) SymTable |
fSymTable
|
(package private) Type |
functionType
|
(package private) HeaderStmt |
programHeader
|
| Fields inherited from class coins.ffront.BaseManager |
fHir, fHirUtil, fTypeUtil, hir, hirRoot, sym, symRoot |
| Constructor Summary | |
DeclManager(FirToHir fth,
F77Sym f7s)
|
|
| Method Summary | |
(package private) void |
addInitialPart(Stmt stmt)
|
(package private) java.lang.String |
characterLengthVarName(java.lang.String id)
|
(package private) void |
checkEntryStmt()
If entryStmtList is not empty, (1) make new ENTRY statement and add it to the program body (2) add the parameters of each ENTRY statement to programHeader.fArgs (3) change program header (change header's name and parameters and add computed goto statement to goto the place of each ENTRY statement) (4) make new subprogram for each ENTRY statement |
(package private) void |
declDimensionVariable(Type type,
java.lang.String ident,
FirList dims)
|
(package private) void |
declDimensionVariableWithLength(Type type,
java.lang.String ident,
FirList dims,
Token length)
|
(package private) void |
declVariable(Type type,
java.lang.String ident)
|
(package private) void |
declVariableWithLength(Type type,
java.lang.String ident,
Token length)
|
(package private) void |
defineFunctionType()
define function type (void if subroutine or main). |
(package private) Param |
defineParam(java.lang.String id)
define id as parameter. |
Subp |
defineSubp(java.lang.String id,
Type returnType,
int visibility,
IrList pParams)
Define a subprogram in the current symbol table. |
Subp |
defineSubpWithoutClose(java.lang.String id,
Type returnType,
int visibility)
|
(package private) Var |
defineVar(java.lang.String lexem)
|
(package private) boolean |
deleteFromSymbolTable(java.lang.String name)
|
(package private) void |
flattenExpList_r(java.util.List list,
ExpListExp explist)
|
(package private) ExpListExp |
flattenExpList(ExpListExp e)
|
(package private) ConstManager |
getConstManager()
|
Type |
getDeclType(java.lang.String pIdent)
|
(package private) Type |
getFunctionType()
get function type |
Type |
getImplicitType(java.lang.String id)
|
(package private) HeaderStmt |
getProgramHeader()
|
(package private) java.lang.String |
getProgramUnitName()
|
(package private) Type |
getSymbolType(java.lang.String name)
|
(package private) boolean |
isBlockVariable(java.lang.String ident)
|
(package private) boolean |
isDefinedInLocal(Sym sym)
|
(package private) boolean |
isDefinedSymbol(java.lang.String name)
|
(package private) boolean |
isEquivVariable(java.lang.String ident)
|
(package private) boolean |
isParamIdent(java.lang.String ident)
|
(package private) Exp |
makeBlockVariableExp(java.lang.String ident)
|
(package private) Exp |
makeEquivVariableExp(java.lang.String ident)
|
(package private) void |
processDecl()
Process Declare. |
(package private) void |
processDimension()
process Dimension statement |
(package private) void |
processExternal()
Process external declaration. |
(package private) void |
processProgramHeader()
Process program header statement. |
(package private) void |
processSave()
|
(package private) void |
processTypeDecl()
Process define variables as each types. |
Sym |
search(java.lang.String ident)
|
Var |
searchOrAddVar(java.lang.String ident)
If the ident is defined as a Var return the Var. |
Var |
searchOrAddVar(java.lang.String ident,
Type pType)
If the ident is defined as a Var of type pType return the Var. |
Sym |
searchSymOrAddVar(java.lang.String ident)
If the ident is defined as a Sym return the Sym. |
Type |
searchType(java.lang.String ident)
|
void |
setHirBody(BlockStmt blockStmt)
|
(package private) void |
setInitialValue(Var v,
Exp e)
|
(package private) void |
setInitialValue(Var v,
Exp e,
java.lang.String lexem)
|
(package private) void |
setProgramHeader(HeaderStmt pHeader)
|
(package private) Sym |
symBlockVariable(java.lang.String ident)
|
(package private) Sym |
symEquivVariable(java.lang.String ident)
|
| Methods inherited from class coins.ffront.BaseManager |
dp, printMsgFatal, printMsgRecovered |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
ImplicitManager fImplMgr
CommonManager fCommonMgr
EquivManager fEquivMgr
ConstManager fConstMgr
F77Sym f7Sym
Type functionType
HeaderStmt programHeader
Subp fSubp
SymTable fSymTable
SubpDefinition fSubpDef
BlockStmt fInitialPart
FirList fCharParamList
| Constructor Detail |
public DeclManager(FirToHir fth,
F77Sym f7s)
| Method Detail |
public Type getImplicitType(java.lang.String id)
public Type getDeclType(java.lang.String pIdent)
ConstManager getConstManager()
void processDecl()
void defineFunctionType()
void checkEntryStmt()
void processProgramHeader()
Param defineParam(java.lang.String id)
java.lang.String characterLengthVarName(java.lang.String id)
void declVariable(Type type,
java.lang.String ident)
void declDimensionVariable(Type type,
java.lang.String ident,
FirList dims)
void declVariableWithLength(Type type,
java.lang.String ident,
Token length)
void declDimensionVariableWithLength(Type type,
java.lang.String ident,
FirList dims,
Token length)
void processTypeDecl()
void processExternal()
void processDimension()
void processSave()
boolean isBlockVariable(java.lang.String ident)
Exp makeBlockVariableExp(java.lang.String ident)
Sym symBlockVariable(java.lang.String ident)
boolean isEquivVariable(java.lang.String ident)
Exp makeEquivVariableExp(java.lang.String ident)
Sym symEquivVariable(java.lang.String ident)
public Var searchOrAddVar(java.lang.String ident)
ident -
public Var searchOrAddVar(java.lang.String ident,
Type pType)
ident - pType -
boolean isParamIdent(java.lang.String ident)
public Sym searchSymOrAddVar(java.lang.String ident)
ident -
public Sym search(java.lang.String ident)
public Type searchType(java.lang.String ident)
public Subp defineSubp(java.lang.String id,
Type returnType,
int visibility,
IrList pParams)
id - subprogram namereturnType - type of the subprogrampParams - parameters
public Subp defineSubpWithoutClose(java.lang.String id,
Type returnType,
int visibility)
Type getFunctionType()
public void setHirBody(BlockStmt blockStmt)
HeaderStmt getProgramHeader()
void setProgramHeader(HeaderStmt pHeader)
ExpListExp flattenExpList(ExpListExp e)
void flattenExpList_r(java.util.List list,
ExpListExp explist)
void setInitialValue(Var v,
Exp e)
void addInitialPart(Stmt stmt)
void setInitialValue(Var v,
Exp e,
java.lang.String lexem)
Type getSymbolType(java.lang.String name)
boolean deleteFromSymbolTable(java.lang.String name)
boolean isDefinedSymbol(java.lang.String name)
Var defineVar(java.lang.String lexem)
java.lang.String getProgramUnitName()
boolean isDefinedInLocal(Sym sym)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||