fparser Reference Guide
0.0.14
|
Public Member Functions | |
def | __init__ (self, name, only_list=None, rename_list=None) |
def | update (self, other) |
def | name (self) |
def | symbol_names (self) |
def | only_list (self) |
def | rename_list (self) |
def | wildcard_import (self) |
def | get_declared_name (self, name) |
Class capturing information on all USE statements referring to a given Fortran module. A USE statement can rename an imported symbol so as to avoid a clash in the local scope, e.g. `USE my_mod, alocal => amod` where `amod` is the name of the symbol declared in `my_mod`. This renaming can also occur inside an Only_List, e.g. `USE my_mod, only: alocal => amod`. :param str name: the name of the module. :param only_list: list of 2-tuples giving the (local-name, module-name) \ of symbols that appear in an Only_List. If a symbol is not re-named \ then module-name can be None. :type only_list: Optional[List[Tuple[str, str | NoneType]]] :param rename_list: list of 2-tuples given the (local-name, module-name) \ of symbols that appear in a Rename_List. :type rename_list: Optional[List[Tuple[str, str]]] :raises TypeError: if any of the supplied parameters are of the wrong type.
Definition at line 261 of file symbol_table.py.
def fparser.two.symbol_table.ModuleUse.get_declared_name | ( | self, | |
name | |||
) |
:returns: the name of the supplied symbol as declared in the module. :rtype: str
Definition at line 485 of file symbol_table.py.
References fparser.two.symbol_table.ModuleUse._local_to_module_map.
def fparser.two.symbol_table.ModuleUse.name | ( | self | ) |
:returns: the name of the Fortran module. :rtype: str
Definition at line 439 of file symbol_table.py.
References fparser.two.symbol_table.ModuleUse._name.
def fparser.two.symbol_table.ModuleUse.only_list | ( | self | ) |
:returns: the local names that appear in an Only_List or None if there \ is no such list. :rtype: Optional[List[str]]
Definition at line 456 of file symbol_table.py.
References fparser.two.symbol_table.ModuleUse._only_set.
def fparser.two.symbol_table.ModuleUse.rename_list | ( | self | ) |
:returns: the local names that appear in a Rename_List or None if there \ is no such list. :rtype: Optional[List[str]]
Definition at line 467 of file symbol_table.py.
References fparser.two.symbol_table.ModuleUse._rename_set.
def fparser.two.symbol_table.ModuleUse.symbol_names | ( | self | ) |
:returns: the names of all symbols associated with USE(s) of this \ module. :rtype: List[str]
Definition at line 447 of file symbol_table.py.
References fparser.two.symbol_table.ModuleUse._symbols.
def fparser.two.symbol_table.ModuleUse.update | ( | self, | |
other | |||
) |
Update the current information with the information on the USE held in 'other'. :param other: the other Use instance from which to update this one. :type other: :py:class:`fparser.two.symbol_table.Use` :raises TypeError: if 'other' is of the wrong type. :raises ValueError: if 'other' is for a module with a different \ name to the current one.
Definition at line 378 of file symbol_table.py.
References fparser.two.symbol_table.ModuleUse._local_to_module_map, fparser.two.symbol_table.ModuleUse._only_set, fparser.two.symbol_table.ModuleUse._rename_set, fparser.two.symbol_table.ModuleUse._symbols, fparser.two.symbol_table.ModuleUse._wildcard_import, fparser.common.base_classes.Variable.name, fparser.one.typedecl_statements.TypeDeclarationStatement.name, fparser.common.readfortran.Line.name, fparser.one.block_statements.BeginSource.name, fparser.two.symbol_table.ModuleUse.name(), fparser.one.block_statements.Module.name, fparser.one.block_statements.PythonModule.name, fparser.one.block_statements.BlockData.name, fparser.common.readfortran.FortranReaderBase.name(), fparser.one.block_statements.Interface.name, fparser.one.block_statements.SubProgramStatement.name, fparser.common.base_classes.BeginStatement.name, fparser.one.statements.Cycle.name, fparser.common.base_classes.EndStatement.name, fparser.one.block_statements.Select.name, fparser.one.block_statements.Where.name, fparser.one.block_statements.Forall.name, fparser.one.block_statements.IfThen.name, fparser.one.statements.Use.name, fparser.one.block_statements.Do.name, fparser.one.statements.Exit.name, fparser.one.block_statements.Type.name, fparser.one.statements.Entry.name, fparser.one.statements.SpecificBinding.name, fparser.one.statements.Else.name, fparser.one.statements.ElseIf.name, fparser.one.statements.Case.name, fparser.one.statements.TypeIs.name, fparser.one.statements.ClassIs.name, and fparser.one.statements.ElseWhere.name.
def fparser.two.symbol_table.ModuleUse.wildcard_import | ( | self | ) |
:returns: whether there is a wildcard import from this module. :rtype: bool
Definition at line 478 of file symbol_table.py.
References fparser.two.symbol_table.ModuleUse._wildcard_import.