fparser Reference Guide  0.0.14
fparser.one.typedecl_statements.Implicit Class Reference
Inheritance diagram for fparser.one.typedecl_statements.Implicit:
Collaboration diagram for fparser.one.typedecl_statements.Implicit:

Public Member Functions

def process_item (self)
 
def tofortran (self, isfix=None)
 
def analyze (self)
 

Public Attributes

 items
 

Static Public Attributes

 match
 
 letters
 

Detailed Description

IMPLICIT <implicit-spec-list>
IMPLICIT NONE
<implicit-spec> = <declaration-type-spec> ( <letter-spec-list> )
<letter-spec> = <letter> [ - <letter> ]

Definition at line 600 of file typedecl_statements.py.

Member Function Documentation

◆ analyze()

def fparser.one.typedecl_statements.Implicit.analyze (   self)
Analyze the Implicit statments constructed by the parser and
set-up the associated implicit_rules belonging to the parent
of this object in the AST.

Definition at line 659 of file typedecl_statements.py.

References fparser.one.statements.StatementWithNamelist.items, fparser.one.statements.Assign.items, fparser.one.statements.Call.items, fparser.one.statements.ComputedGoto.items, fparser.one.statements.AssignedGoto.items, fparser.one.statements.Print.items, fparser.one.statements.Read0.items, fparser.one.typedecl_statements.Implicit.items, fparser.one.statements.Read1.items, fparser.one.statements.Write.items, fparser.one.statements.Allocate.items, fparser.one.statements.Deallocate.items, fparser.one.statements.ModuleProcedure.items, fparser.one.statements.Access.items, fparser.one.statements.Save.items, fparser.one.statements.Nullify.items, fparser.one.statements.Use.items, fparser.one.statements.Parameter.items, fparser.one.statements.Equivalence.items, fparser.one.statements.Dimension.items, fparser.one.statements.Target.items, fparser.one.statements.Pointer.items, fparser.one.statements.Inquire.items, fparser.one.statements.Namelist.items, fparser.one.statements.Common.items, fparser.one.statements.Intent.items, fparser.one.statements.Entry.items, fparser.one.statements.GenericBinding.items, fparser.one.statements.Allocatable.items, fparser.one.statements.Bind.items, fparser.one.statements.Case.items, fparser.one.statements.TypeIs.items, fparser.one.statements.ClassIs.items, fparser.one.statements.Enumerator.items, fparser.one.statements.Depend.items, fparser.common.base_classes.Variable.parent, fparser.two.utils.Base.parent, fparser.two.symbol_table.SymbolTable.parent, fparser.common.base_classes.Statement.parent, fparser.common.base_classes.Variable.warning(), fparser.common.base_classes.Statement.warning(), and fparser.common.readfortran.FortranReaderBase.warning().

659  def analyze(self):
660  """
661  Analyze the Implicit statments constructed by the parser and
662  set-up the associated implicit_rules belonging to the parent
663  of this object in the AST.
664  """
665  implicit_rules = self.parent.a.implicit_rules
666  if not self.items:
667  if implicit_rules:
668  self.warning(
669  "overriding previously set implicit rule mapping"
670  " %r." % (implicit_rules)
671  )
672  self.parent.a.implicit_rules = None
673  return
674  if implicit_rules is None:
675  self.warning("overriding previously set IMPLICIT NONE")
676  self.parent.a.implicit_rules = implicit_rules = {}
677  for stmt, specs in self.items:
678  for start, end in specs:
679  start_idx = string.ascii_lowercase.index(start.lower())
680  end_idx = string.ascii_lowercase.index(end.lower())
681  for lchar in string.ascii_lowercase[start_idx : end_idx + 1]:
682  implicit_rules[lchar] = stmt
683  return
684 
685 
Here is the call graph for this function:

The documentation for this class was generated from the following file: