| 
    PyForTool
    
   Python-fortran-tool 
   | 
 


Public Member Functions | |
| __init__ (self, xml, scopePath='/', parentScope=None, enableCache=False, tree=None, excludeContains=False) | |
| __copy__ (self) | |
| __deepcopy__ (self, memo) | |
| __getattr__ (self, attr) | |
| path (self) | |
| mainScope (self) | |
| parentScope (self) | |
| getParent (self, item, level=1) | |
| getSiblings (self, item, before=True, after=True) | |
| showScopesList (self, includeItself=False) | |
| getScopes (self, level=-1, excludeContains=True, excludeKinds=None, includeItself=True) | |
| getScopeNode (self, scopePath, excludeContains=True, includeItself=True) | |
| isScopeNode (self, node) | |
| getParentScopeNode (self, item, mustRaise=True) | |
| getScopePath (self, item, includeItself=True) | |
| getFileName (self) | |
| empty (self, addStmt=None, simplify=False) | |
  Public Member Functions inherited from pyfortool.scope.ElementView | |
| tag (self) | |
| tail (self) | |
| text (self) | |
| findtext (self, *args, **kwargs) | |
| iterfind (self, *args, **kwargs) | |
| itertext (self, *args, **kwargs) | |
| __getitem__ (self, *args, **kwargs) | |
| __len__ (self, *args, **kwargs) | |
| __iter__ (self) | |
| find (self, *args, **kwargs) | |
| findall (self, *args, **kwargs) | |
| iter (self, *args, **kwargs) | |
| items (self, *args, **kwargs) | |
| clear (self) | |
| append (self, *args, **kwargs) | |
| extend (self, *args, **kwargs) | |
| __setitem__ (self, index, item) | |
| __delitem__ (self, index) | |
| insert (self, index, item) | |
| remove (self, node) | |
  Public Member Functions inherited from pyfortool.variables.Variables | |
| varList (self) | |
| attachArraySpecToEntity (self) | |
| checkImplicitNone (self, mustRaise=False) | |
| checkIntent (self, mustRaise=False) | |
| removeVar (self, varList, simplify=False) | |
| addVar (self, varList) | |
| addModuleVar (self, moduleVarList) | |
| showUnusedVar (self) | |
| checkUnusedLocalVar (self, mustRaise=False, excludeList=None) | |
| removeUnusedLocalVar (self, excludeList=None, simplify=False) | |
| addExplicitArrayBounds (self, node=None) | |
| addArrayParentheses (self) | |
| addArrayParenthesesInNode (self, node) | |
| removeArrayParenthesesInNode (self, node) | |
| modifyAutomaticArrays (self, declTemplate=None, startTemplate=None, endTemplate=None) | |
| findIndexArrayBounds (self, arr, index, loopVar) | |
| arrayR2parensR (self, namedE, table) | |
| findArrayBounds (self, arr, loopVar, extraVarList=None) | |
| renameVar (self, oldName, newName) | |
| removeVarIfUnused (self, varList, excludeDummy=False, excludeModule=False, simplify=False) | |
| isVarUsed (self, varList, exactScope=False, dummyAreAlwaysUsed=False) | |
| addArgInTree (self, varName, declStmt, pos, stopScopes, moduleVarList=None, otherNames=None, parserOptions=None, wrapH=False) | |
  Public Member Functions inherited from pyfortool.cosmetics.Cosmetics | |
| upperCase (self) | |
| lowerCase (self) | |
| indent (self, nodeToUpdate=None, indentProgramunit=0, indentBranch=2, exclDirectives=None) | |
| removeEmptyLines (self) | |
| removeComments (self, exclDirectives=None, pattern=None) | |
| updateContinuation (self, nodeToUpdate=None, align=True, removeALL=False, addBegin=True, removeBegin=False) | |
| updateSpaces (self, beforeOp=1, afterOp=1, inOperator=True, beforeComma=0, afterComma=1, beforeParenthesis=0, afterParenthesis=0, beforeAffectation=1, afterAffectation=1, inAffectation=True, beforeRangeDelim=0, afterRangeDelim=0, beforeUseDelim=0, afterUseDelim=1, beforeDeclDelim=1, afterDeclDelim=1, inDeclDelim=True, afterTypeDecl=1, beforeEqDo=0, afterEqDo=0, beforeEqCall=0, afterEqCall=0, beforeEqInit=0, afterEqInit=0, beforeEndcnt=1, afterBegincnt=1, afterIfwherecase=1, beforeThen=1, beforeIfaction=1, afterProgunit=1, endOfLine=True, afterName=0, inName=True, beforeCmdsep=0, afterCmdsep=1, adjacentKeywords=__NO_VALUE__, afterKeywords=__NO_VALUE__) | |
| changeIfStatementsInIfConstructs (self, singleItem=None) | |
| removeEmptyCONTAINS (self) | |
  Public Member Functions inherited from pyfortool.applications.Applications | |
| splitModuleRoutineFile (self) | |
| buildModi (self) | |
| deleteNonColumnCallsPHYEX (self, simplify=False) | |
| convertTypesInCompute (self) | |
| deleteDrHook (self, simplify=False) | |
| addDrHook (self) | |
| deleteBudgetDDH (self, simplify=False) | |
| deleteRoutineCallsMesoNHGPU (self, simplify=True) | |
| addSubmodulePHYEX (self) | |
| addMPPDB_CHECKS (self, printsMode=False) | |
| addStack (self, model, stopScopes, parserOptions=None, wrapH=False) | |
| inlineContainedSubroutinesPHYEX (self, simplify=False) | |
| removeIJDim (self, stopScopes, parserOptions=None, wrapH=False, simplify=False) | |
| removePHYEXUnusedLocalVar (self, excludeList=None, simplify=False) | |
| checkPHYEXUnusedLocalVar (self, mustRaise=False, excludeList=None) | |
| expandAllArraysPHYEX (self, concurrent=False) | |
| mathFunctoBRFunc (self) | |
| shumanFUNCtoCALL (self) | |
| buildACCTypeHelpers (self) | |
  Public Member Functions inherited from pyfortool.statements.Statements | |
| isNodeInProcedure (self, node, procList) | |
| isNodeInCall (self, node) | |
| removeCall (self, callName, simplify=False) | |
| removePrints (self, simplify=False) | |
| removeArraySyntax (self, concurrent=False, useMnhExpand=True, everywhere=True, loopVar=None, reuseLoop=True, funcList=None, updateMemSet=False, updateCopy=False, addAccIndependentCollapse=True) | |
| inlineContainedSubroutines (self, simplify=False, loopVar=None) | |
| inline (self, subContained, callStmt, mainScope, simplify=False, loopVar=None) | |
| setFalseIfStmt (self, flags, simplify=False) | |
| evalFalseIfStmt (self, nodes, simplify=False) | |
| checkOpInCall (self, mustRaise=False) | |
| checkEmptyParensInCall (self, mustRaise=False) | |
| insertStatement (self, stmt, first) | |
| removeStmtNode (self, nodes, simplifyVar, simplifyStruct) | |
| removeConstructNode (self, node, simplifyVar, simplifyStruct) | |
| removeFromList (self, item, itemPar) | |
  Public Member Functions inherited from pyfortool.cpp.Cpp | |
| applyCPPifdef (self, keys) | |
  Public Member Functions inherited from pyfortool.openacc.Openacc | |
| removeACC (self) | |
| removebyPassDOCONCURRENT (self) | |
| craybyPassDOCONCURRENT (self) | |
| allocatetoHIP (self) | |
| addACCData (self) | |
| addACCRoutineSeq (self, stopScopes) | |
Static Public Member Functions | |
| normalizeScope (scopePath) | |
  Static Public Member Functions inherited from pyfortool.variables.Variables | |
| varSpec2stmt (varSpec, implicitDeclaration=False) | |
  Static Public Member Functions inherited from pyfortool.statements.Statements | |
| createDoConstruct (loopVariables, indent=0, concurrent=False) | |
| insertInList (pos, item, parent) | |
Public Attributes | |
| tree | |
| path | |
  Public Attributes inherited from pyfortool.scope.ElementView | |
| text | |
| tail | |
  Public Attributes inherited from pyfortool.variables.Variables | |
Static Public Attributes | |
| dict | SCOPE_STMT | 
| dict | SCOPE_CONSTRUCT | 
Protected Member Functions | |
| _getNodePath (self, node) | |
  Protected Member Functions inherited from pyfortool.scope.ElementView | |
| _virtual (self) | |
| _getIndex (self, index) | |
  Protected Member Functions inherited from pyfortool.variables.Variables | |
| _normalizeScopeVar (self, scopeVarList) | |
| _normalizeUniqVar (self, scopeVarList) | |
  Protected Member Functions inherited from pyfortool.applications.Applications | |
| _mnh_expand_var (self) | |
Static Protected Member Functions | |
| _getNodeName (node) | |
Protected Attributes | |
| _mainScope | |
| _path | |
| _parentScope | |
| _cacheParent | |
  Protected Attributes inherited from pyfortool.scope.ElementView | |
| _excludeContains | |
| _xml | |
| _virtual | |
  Protected Attributes inherited from pyfortool.variables.Variables | |
| _varList | |
| _excludeContains | |
This class wrapps the xml node representing a FORTRAN scope
| pyfortool.scope.PYFTscope.__init__ | ( | self, | |
| xml, | |||
scopePath = '/',  | 
        |||
parentScope = None,  | 
        |||
enableCache = False,  | 
        |||
tree = None,  | 
        |||
excludeContains = False  | 
        |||
| ) | 
:param xml: xml corresponding to this PYFTscope
:param scopePath: scope path ('/' separated string) of this node
:param parentScope: parent PYFTscope instance
:param enableCache: True to cache node parents
:param tree: an optional Tree instance
:param excludeContains: do not take into account the CONTAINS part
 
Reimplemented from pyfortool.scope.ElementView.
Reimplemented in pyfortool.pyfortool.PYFT.
Definition at line 218 of file scope.py.


| pyfortool.scope.PYFTscope.__getattr__ | ( | self, | |
| attr | |||
| ) | 
      
  | 
  staticprotected | 
      
  | 
  protected | 
| pyfortool.scope.PYFTscope.empty | ( | self, | |
addStmt = None,  | 
        |||
simplify = False  | 
        |||
| ) | 
Empties the scope by removing all statements except dummy arguments declaration and USE statements (because they can be useful for the dummy argument declarations). :param addStmt: add this statement in the body of the emptied scopes :param simplify: try to simplify code
Definition at line 496 of file scope.py.

| pyfortool.scope.PYFTscope.getFileName | ( | self | ) | 
| pyfortool.scope.PYFTscope.getParent | ( | self, | |
| item, | |||
level = 1  | 
        |||
| ) | 
| pyfortool.scope.PYFTscope.getParentScopeNode | ( | self, | |
| item, | |||
mustRaise = True  | 
        |||
| ) | 
:param item: item whose scope parent is to be searched
:param mustRaise: True to raise an exception if parent is not found
:return: the scope parent node of item
Example: if item is a call statement, result is the program-unit node
         in which the call statement is
 
Definition at line 455 of file scope.py.


| pyfortool.scope.PYFTscope.getScopeNode | ( | self, | |
| scopePath, | |||
excludeContains = True,  | 
        |||
includeItself = True  | 
        |||
| ) | 
:param scopePath: scope path to search for :param excludeContains: see getScopes :param includeItself: include itself if self represent a "valid" scope (not a file) :return: PYFTscope whose path is the path asked for
Definition at line 429 of file scope.py.


| pyfortool.scope.PYFTscope.getScopePath | ( | self, | |
| item, | |||
includeItself = True  | 
        |||
| ) | 
| pyfortool.scope.PYFTscope.getScopes | ( | self, | |
level = -1,  | 
        |||
excludeContains = True,  | 
        |||
excludeKinds = None,  | 
        |||
includeItself = True  | 
        |||
| ) | 
:param level: -1 to get all child scopes
              1 to get only direct child scopes
              2 to get direct and direct of direct ...
:param excludeContains: if True, each PYFTscope which is a module, function or subroutine
                        that contain (after a 'CONTAINS' statement) other subroutines or
                        functions, those contained subroutines or functions are excluded
                        from the result; but the PYFTscope contains the 'END' statement
                        of the module/subroutine or function.
:param excludeKinds: if not None, is a list of scope kinds to exclude
:param includeItself: include itself if self represent a "valid" scope (not a file)
:return: list of PYFTscope found in the current scope
 
Definition at line 384 of file scope.py.


| pyfortool.scope.PYFTscope.getSiblings | ( | self, | |
| item, | |||
before = True,  | 
        |||
after = True  | 
        |||
| ) | 
:param item: item whose siblings are to be searched :param before: returns siblings before :param after: returns siblings after By default before and after are True so that all siblings are returned
Definition at line 313 of file scope.py.


| pyfortool.scope.PYFTscope.isScopeNode | ( | self, | |
| node | |||
| ) | 
| pyfortool.scope.PYFTscope.mainScope | ( | self | ) | 
      
  | 
  static | 
| pyfortool.scope.PYFTscope.parentScope | ( | self | ) | 
| pyfortool.scope.PYFTscope.path | ( | self | ) | 
Return the current path
Reimplemented from pyfortool.variables.Variables.
Definition at line 264 of file scope.py.

| pyfortool.scope.PYFTscope.showScopesList | ( | self, | |
includeItself = False  | 
        |||
| ) | 
      
  | 
  static | 
      
  | 
  static |