fparser Reference Guide
0.0.14
|
Public Member Functions | |
def | __init__ (self, parent, item=None) |
def | tostr (self) |
def | tofortran (self, isfix=None) |
def | torepr (self, depth=-1, incrtab="") |
def | process_item (self) |
def | fill (self, end_flag=False) |
def | process_subitem (self, item) |
def | handle_unknown_item_and_raise (self, item) |
def | analyze (self) |
![]() | |
def | __init__ (self, parent, item) |
def | __repr__ (self) |
def | torepr (self, depth=-1, incrtab="") |
def | get_indent_tab (self, deindent=False, isfix=None) |
def | __str__ (self) |
def | asfix (self) |
def | format_message (self, kind, message) |
def | error (self, message) |
def | warning (self, message) |
def | info (self, message) |
def | analyze (self) |
def | get_variable (self, name) |
def | get_type (self, name) |
def | get_type_decl (self, kind) |
def | get_provides (self) |
![]() | |
def | __new__ (metacls, name, bases, dict) |
![]() | |
def | __getattr__ (self, name) |
Public Attributes | |
content | |
get_item | |
put_item | |
blocktype | |
name | |
construct_name | |
classes | |
pyf_classes | |
![]() | |
parent | |
reader | |
top | |
item | |
programblock | |
isvalid | |
ignore | |
a | |
Additional Inherited Members | |
![]() | |
list | modes = ["free", "fix", "f77", "pyf"] |
[ construct_name : ] <blocktype> [ <name> ] BeginStatement instances have additional attributes: name blocktype Block instance has attributes: content - list of Line or Statement instances name - name of the block, unnamed blocks are named with the line label construct_name - name of a construct parent - Block or FortranParser instance item - Line instance containing the block start statement get_item, put_item - methods to retrive/submit Line instances from/to Fortran reader. isvalid - boolean, when False, the Block instance will be ignored. stmt_cls, end_stmt_cls
Definition at line 760 of file base_classes.py.
def fparser.common.base_classes.BeginStatement.fill | ( | self, | |
end_flag = False |
|||
) |
Fills blocks content until the end of block statement.
Definition at line 833 of file base_classes.py.
References fparser.common.base_classes.BeginStatement.classes, fparser.common.base_classes.BeginStatement.content, fparser.one.block_statements.BeginSource.get_classes(), fparser.one.block_statements.Module.get_classes(), fparser.one.block_statements.PythonModule.get_classes(), fparser.one.block_statements.BlockData.get_classes(), fparser.one.block_statements.Interface.get_classes(), fparser.one.block_statements.SubProgramStatement.get_classes(), fparser.one.block_statements.SelectCase.get_classes(), fparser.one.block_statements.SelectType.get_classes(), fparser.one.block_statements.Where.get_classes(), fparser.one.block_statements.Forall.get_classes(), fparser.one.block_statements.IfThen.get_classes(), fparser.one.block_statements.If.get_classes(), fparser.one.block_statements.Do.get_classes(), fparser.one.block_statements.Associate.get_classes(), fparser.one.block_statements.Type.get_classes(), fparser.one.block_statements.Enum.get_classes(), fparser.common.base_classes.BeginStatement.get_item, fparser.common.base_classes.Statement.modes, fparser.common.base_classes.BeginStatement.process_subitem(), fparser.common.base_classes.BeginStatement.pyf_classes, fparser.common.base_classes.Statement.reader, fparser.common.base_classes.Variable.warning(), and fparser.common.base_classes.Statement.warning().
def fparser.common.base_classes.BeginStatement.handle_unknown_item_and_raise | ( | self, | |
item | |||
) |
Called when process_subitem does not find a start or end of block. It adds the item (which is an instance of Line) to the content, but then raises an AnalyzeError. An instance of Line in content typically results in other errors later (e.g. because Line has no analyze method).
Definition at line 954 of file base_classes.py.
References fparser.one.statements.GeneralAssignment.__class__, fparser.one.statements.Read.__class__, and fparser.common.base_classes.BeginStatement.content.
def fparser.common.base_classes.BeginStatement.process_item | ( | self | ) |
Process the line
Definition at line 826 of file base_classes.py.
References fparser.common.base_classes.BeginStatement.fill(), and fparser.common.base_classes.Statement.item.
def fparser.common.base_classes.BeginStatement.process_subitem | ( | self, | |
item | |||
) |
Check if item is blocks start statement, if it is, read the block. Return True to stop adding items to given block.
Definition at line 859 of file base_classes.py.
References fparser.one.statements.GeneralAssignment.__class__, fparser.one.statements.Read.__class__, fparser.common.base_classes.BeginStatement.classes, fparser.common.base_classes.BeginStatement.content, fparser.one.block_statements.BeginSource.end_stmt_cls, fparser.one.block_statements.Module.end_stmt_cls, fparser.one.block_statements.PythonModule.end_stmt_cls, fparser.one.block_statements.BlockData.end_stmt_cls, fparser.one.block_statements.Interface.end_stmt_cls, fparser.one.block_statements.Subroutine.end_stmt_cls, fparser.one.block_statements.Function.end_stmt_cls, fparser.one.block_statements.Select.end_stmt_cls, fparser.one.block_statements.Where.end_stmt_cls, fparser.one.block_statements.Forall.end_stmt_cls, fparser.one.block_statements.IfThen.end_stmt_cls, fparser.one.block_statements.Do.end_stmt_cls, fparser.one.block_statements.Associate.end_stmt_cls, fparser.one.block_statements.Type.end_stmt_cls, fparser.one.block_statements.Enum.end_stmt_cls, fparser.one.block_statements.BeginSource.get_classes(), fparser.one.block_statements.Module.get_classes(), fparser.one.block_statements.PythonModule.get_classes(), fparser.one.block_statements.BlockData.get_classes(), fparser.one.block_statements.Interface.get_classes(), fparser.one.block_statements.SubProgramStatement.get_classes(), fparser.one.block_statements.SelectCase.get_classes(), fparser.one.block_statements.SelectType.get_classes(), fparser.one.block_statements.Where.get_classes(), fparser.one.block_statements.Forall.get_classes(), fparser.one.block_statements.IfThen.get_classes(), fparser.one.block_statements.If.get_classes(), fparser.one.block_statements.Do.get_classes(), fparser.one.block_statements.Associate.get_classes(), fparser.one.block_statements.Type.get_classes(), fparser.one.block_statements.Enum.get_classes(), fparser.common.base_classes.BeginStatement.handle_unknown_item_and_raise(), fparser.two.C99Preprocessor.Cpp_Pp_Tokens.match(), fparser.two.pattern_tools.Pattern.match(), fparser.two.C99Preprocessor.Cpp_If_Stmt.match(), fparser.one.statements.GeneralAssignment.match, fparser.two.C99Preprocessor.Cpp_Elif_Stmt.match(), fparser.two.C99Preprocessor.Cpp_Else_Stmt.match(), fparser.one.statements.Assign.match, fparser.two.C99Preprocessor.Cpp_Endif_Stmt.match(), fparser.one.statements.Call.match, fparser.one.block_statements.EndSource.match, fparser.one.block_statements.BeginSource.match, fparser.one.statements.Goto.match, fparser.one.statements.ComputedGoto.match, fparser.one.block_statements.EndModule.match, fparser.one.block_statements.Module.match, fparser.one.statements.AssignedGoto.match, fparser.one.statements.Continue.match, fparser.one.typedecl_statements.Integer.match, fparser.one.statements.Return.match, fparser.one.typedecl_statements.Real.match, fparser.one.typedecl_statements.DoublePrecision.match, fparser.one.statements.Stop.match, fparser.one.typedecl_statements.Complex.match, fparser.two.C99Preprocessor.Cpp_Macro_Identifier_List.match(), fparser.one.block_statements.EndPythonModule.match, fparser.one.typedecl_statements.DoubleComplex.match, fparser.two.utils.BlockBase.match(), fparser.one.statements.Print.match, fparser.one.block_statements.PythonModule.match, fparser.one.typedecl_statements.Logical.match, fparser.one.typedecl_statements.Character.match, fparser.one.block_statements.EndProgram.match, fparser.one.typedecl_statements.Byte.match, fparser.one.typedecl_statements.Type.match, fparser.one.statements.Read.match, fparser.two.C99Preprocessor.Cpp_Undef_Stmt.match(), fparser.one.typedecl_statements.Class.match, fparser.one.block_statements.EndBlockData.match, fparser.one.typedecl_statements.Implicit.match, fparser.one.block_statements.BlockData.match, fparser.one.block_statements.EndInterface.match, fparser.one.statements.Write.match, fparser.one.block_statements.Interface.match, fparser.one.statements.Flush.match, fparser.one.statements.Wait.match, fparser.two.C99Preprocessor.Cpp_Warning_Stmt.match(), fparser.one.statements.Contains.match, fparser.one.statements.Allocate.match, fparser.one.statements.Deallocate.match, fparser.one.statements.ModuleProcedure.match, fparser.two.utils.SequenceBase.match(), fparser.one.statements.Access.match, fparser.one.block_statements.EndSubroutine.match, fparser.one.block_statements.Subroutine.match, fparser.one.block_statements.EndFunction.match, fparser.one.block_statements.Function.match, fparser.one.statements.Close.match, fparser.two.utils.UnaryOpBase.match(), fparser.one.statements.Cycle.match, fparser.two.utils.BinaryOpBase.match(), fparser.one.statements.FilePositioningStatement.match, fparser.one.block_statements.SubprogramPrefix.match, fparser.one.block_statements.EndSelect.match, fparser.one.statements.Open.match, fparser.one.block_statements.SelectCase.match, fparser.one.block_statements.SelectType.match, fparser.one.statements.Format.match, fparser.one.block_statements.EndWhere.match, fparser.two.utils.SeparatorBase.match(), fparser.one.block_statements.Where.match, fparser.one.statements.Save.match, fparser.one.block_statements.EndForall.match, fparser.two.utils.KeywordValueBase.match(), fparser.one.block_statements.Forall.match, fparser.two.Fortran2003.Digit_String.match(), fparser.one.statements.Data.match, fparser.one.block_statements.EndIfThen.match, fparser.one.block_statements.IfThen.match, fparser.one.statements.Nullify.match, fparser.one.block_statements.If.match, fparser.two.utils.BracketBase.match(), fparser.one.statements.Use.match, fparser.one.block_statements.EndDo.match, fparser.two.utils.NumberBase.match(), fparser.one.block_statements.Do.match, fparser.two.utils.CallBase.match(), fparser.one.statements.Exit.match, fparser.two.utils.CALLBase.match(), fparser.one.block_statements.EndAssociate.match, fparser.one.block_statements.Associate.match, fparser.one.statements.Parameter.match, fparser.two.utils.StringBase.match(), fparser.one.block_statements.EndType.match, fparser.one.statements.Equivalence.match, fparser.one.block_statements.Type.match, fparser.two.utils.STRINGBase.match(), fparser.one.statements.Dimension.match, fparser.one.statements.Target.match, fparser.one.statements.Pointer.match, fparser.two.utils.EndStmtBase.match(), fparser.one.statements.Protected.match, fparser.one.statements.Volatile.match, fparser.one.block_statements.EndEnum.match, fparser.one.statements.Value.match, fparser.one.block_statements.Enum.match, fparser.one.statements.ArithmeticIf.match, fparser.two.utils.WORDClsBase.match(), fparser.one.statements.Intrinsic.match, fparser.one.statements.Inquire.match, fparser.one.statements.Sequence.match, fparser.one.statements.External.match, fparser.one.statements.Namelist.match, fparser.two.utils.Type_Declaration_StmtBase.match(), fparser.one.statements.Common.match, fparser.one.statements.Optional.match, fparser.one.statements.Intent.match, fparser.one.statements.Entry.match, fparser.two.Fortran2003.Dimension_Component_Attr_Spec.match(), fparser.one.statements.Import.match, fparser.one.statements.Forall.match, fparser.one.statements.SpecificBinding.match, fparser.one.statements.GenericBinding.match, fparser.one.statements.FinalBinding.match, fparser.one.statements.Allocatable.match, fparser.two.Fortran2003.Proc_Component_PASS_Arg_Name.match(), fparser.one.statements.Asynchronous.match, fparser.one.statements.Bind.match, fparser.one.statements.Else.match, fparser.one.statements.ElseIf.match, fparser.one.statements.Case.match, fparser.one.statements.TypeIs.match, fparser.one.statements.ClassIs.match, fparser.two.Fortran2003.Binding_PASS_Arg_Name.match(), fparser.two.Fortran2003.Generic_Binding.match(), fparser.one.statements.Where.match, fparser.one.statements.ElseWhere.match, fparser.one.statements.Enumerator.match, fparser.one.statements.FortranName.match, fparser.one.statements.Threadsafe.match, fparser.one.statements.Depend.match, fparser.one.statements.Check.match, fparser.one.statements.CallStatement.match, fparser.one.statements.CallProtoArgument.match, fparser.one.statements.Pause.match, fparser.one.statements.Comment.match, fparser.two.Fortran2003.Ac_Implied_Do.match(), fparser.two.Fortran2003.Ac_Implied_Do_Control.match(), fparser.two.Fortran2003.Object_Name_Deferred_Shape_Spec_List_Item.match(), fparser.two.Fortran2003.Target_Entity_Decl.match(), fparser.two.Fortran2003.Data_Ref.match(), fparser.two.Fortran2003.Parenthesis.match(), fparser.two.Fortran2003.Connect_Spec.match(), fparser.two.Fortran2003.Io_Control_Spec_List.match(), fparser.two.Fortran2003.Io_Control_Spec.match(), fparser.two.Fortran2003.Data_Edit_Desc_C1002.match(), fparser.two.Fortran2003.Main_Program0.match(), fparser.two.Fortran2003.Function_Body.match(), fparser.two.Fortran2003.Subroutine_Body.match(), fparser.two.Fortran2003.Prefix.match(), fparser.common.base_classes.Statement.modes, fparser.common.base_classes.BeginStatement.process_subitem(), fparser.common.base_classes.BeginStatement.pyf_classes, and fparser.common.base_classes.Statement.reader.