FortranStuff¶
-
public final class
FortranStuff¶ Fortran language specific methods.
Fields¶
listFortranCEDS¶
-
public TapList<TapPair<Tree, SymbolTable>>
listFortranCEDS¶ List of Fortran declarations of Common, Equivalence, Data, or Save, that are kept here for future, delayed usage to build the MemoryMaps
refSymbolTable¶
-
public SymbolTable
refSymbolTable¶ The related Unit’s public SymbolTable, of else the fortranRootSymbolTable
statementFunctions¶
Methods¶
addBindCDecl¶
-
protected void
addBindCDecl(SymbolTable symbolTable, Tree instructionTree)¶
addPublicPrivateDecl¶
checkArrayAccessOrCall¶
-
protected Tree
checkArrayAccessOrCall(SymbolTable symbolTable, Tree tree)¶ Assume tree is an arrayAccess. When its array name is not declared as an array, and no index is an arrayTriplet, transform tree into a procedure or function call. Because Fortran indices are in reverse of natural IL order, inverse the order of indexes in tree.down(2) if tree remains an arrayAccess.
checkStatementFunctionDecl¶
-
protected boolean
checkStatementFunctionDecl(SymbolTable symbolTable, Tree tree)¶ When it is in reality a statement function declaration, transform tree into a statement function declaration.
collectFortranCEDSForLater¶
-
protected void
collectFortranCEDSForLater(Instruction instr, SymbolTable symbolTable)¶ Register for future use a Fortran declaration of Common, Equivalence, Data, Save, Bind, etc.
computeSaveVarDecl¶
-
protected void
computeSaveVarDecl(SymbolTable symbolTable, VariableDecl varDecl)¶
computeSaveVarDecls¶
-
protected void
computeSaveVarDecls(SymbolTable symbolTable, TapList<SymbolDecl> varDecls)¶
declareBindCInMemoryMap¶
-
protected void
declareBindCInMemoryMap()¶ Global mixed-language variables CVarDecl and fortranVarDecl are declared in the globalRootSymbolTable equivalence between CVarDecl and fortranVarDecl (or fortran common) is declared in callGraph.declaredMemoryMap.
initFortranSymbolTable¶
-
public static void
initFortranSymbolTable(SymbolTable symbolTable)¶ Inserts predefined FORTRAN stuff into this initial symbolTable.
isStatementFunctionDecl¶
-
protected static boolean
isStatementFunctionDecl(SymbolTable symbolTable, Tree tree)¶ Return true when tree is in reality a statement function declaration, i.e. tree is an assign, its left-hand side is an arrayAccess, but it was not declared as an array.