.. java:import:: fr.inria.tapenade.utils ILLang .. java:import:: fr.inria.tapenade.utils TapPair .. java:import:: fr.inria.tapenade.utils Tree FortranStuff ============ .. java:package:: fr.inria.tapenade.representation :noindex: .. java:type:: public final class FortranStuff Fortran language specific methods. Fields ------ callGraph ^^^^^^^^^ .. java:field:: public CallGraph callGraph :outertype: FortranStuff The current CallGraph implicitDeclarations ^^^^^^^^^^^^^^^^^^^^ .. java:field:: protected TapList> implicitDeclarations :outertype: FortranStuff listFortranCEDS ^^^^^^^^^^^^^^^ .. java:field:: public TapList> listFortranCEDS :outertype: FortranStuff List of Fortran declarations of Common, Equivalence, Data, or Save, that are kept here for future, delayed usage to build the MemoryMaps publicPrivateDefault ^^^^^^^^^^^^^^^^^^^^ .. java:field:: protected String publicPrivateDefault :outertype: FortranStuff refSymbolTable ^^^^^^^^^^^^^^ .. java:field:: public SymbolTable refSymbolTable :outertype: FortranStuff The related Unit's public SymbolTable, of else the fortranRootSymbolTable statementFunctions ^^^^^^^^^^^^^^^^^^ .. java:field:: protected TapList statementFunctions :outertype: FortranStuff List of this Unit's statement-functions (in reverse order) unit ^^^^ .. java:field:: public Unit unit :outertype: FortranStuff The Unit that holds this FortranStuff. TODO REMOVE ? Methods ------- activateArrayAccessOrCall ^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: protected void activateArrayAccessOrCall(boolean val) :outertype: FortranStuff addBindCDecl ^^^^^^^^^^^^ .. java:method:: protected void addBindCDecl(SymbolTable symbolTable, Tree instructionTree) :outertype: FortranStuff addPublicPrivateDecl ^^^^^^^^^^^^^^^^^^^^ .. java:method:: protected void addPublicPrivateDecl(String publicPrivateDecl, Tree instructionTree) :outertype: FortranStuff checkArrayAccessOrCall ^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: protected Tree checkArrayAccessOrCall(SymbolTable symbolTable, Tree tree) :outertype: FortranStuff 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. checkStatementFunctionCall ^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: protected Tree checkStatementFunctionCall(Tree tree) :outertype: FortranStuff checkStatementFunctionDecl ^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: protected boolean checkStatementFunctionDecl(SymbolTable symbolTable, Tree tree) :outertype: FortranStuff When it is in reality a statement function declaration, transform tree into a statement function declaration. collectFortranCEDSForLater ^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: protected void collectFortranCEDSForLater(Instruction instr, SymbolTable symbolTable) :outertype: FortranStuff Register for future use a Fortran declaration of Common, Equivalence, Data, Save, Bind, etc. computeSaveVarDecl ^^^^^^^^^^^^^^^^^^ .. java:method:: protected void computeSaveVarDecl(SymbolTable symbolTable, VariableDecl varDecl) :outertype: FortranStuff computeSaveVarDecls ^^^^^^^^^^^^^^^^^^^ .. java:method:: protected void computeSaveVarDecls(SymbolTable symbolTable, TapList varDecls) :outertype: FortranStuff declareBindCInMemoryMap ^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: protected void declareBindCInMemoryMap() :outertype: FortranStuff 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. getSaveAll ^^^^^^^^^^ .. java:method:: protected boolean getSaveAll() :outertype: FortranStuff initFortranSymbolTable ^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public static void initFortranSymbolTable(SymbolTable symbolTable) :outertype: FortranStuff Inserts predefined FORTRAN stuff into this initial symbolTable. isStatementFunctionDecl ^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: protected static boolean isStatementFunctionDecl(SymbolTable symbolTable, Tree tree) :outertype: FortranStuff 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. setSaveAll ^^^^^^^^^^ .. java:method:: protected void setSaveAll() :outertype: FortranStuff