BlockIt
blockit::Fortran::blocks::Subroutine Class Reference
Inheritance diagram for blockit::Fortran::blocks::Subroutine:
Collaboration diagram for blockit::Fortran::blocks::Subroutine:

List of all members.

Public Member Functions

def factory
def __init__
def addLine
def name

Static Public Attributes

string BLOCKTYPE = 'Subroutine'
tuple KEYWORD = pp.Suppress(pp.CaselessKeyword(BLOCKTYPE))
tuple RECURSIVE = pp.Suppress(pp.CaselessKeyword('recursive'))
tuple ELEMENTAL = pp.Suppress(pp.CaselessKeyword('elemental'))
tuple VALID_ASNAME = pp.Word(pp.alphas, pp.alphanums+'_./()=<>+-*')
tuple AS_CLAUSE = pp.Suppress('as')
tuple NO_MANGLE = pp.Word('no_mangle')
 GRAMMAR = \

Properties

 asName = property( **__propAsName() )
 argList = property( **__propArgList() )

Private Member Functions

def __propAsName
def __propArgList

Private Attributes

 _asName
 _no_mangle
 _template

Detailed Description

Definition at line 1333 of file blocks.py.


Constructor & Destructor Documentation

def blockit::Fortran::blocks::Subroutine::__init__ (   self,
  parameters 
)
A F90/95/2003 subroutine block:

subroutine foo(x,y,z)
.
.
.
end subroutine foo

Input
-----
parameters : the groups from the factory static method

Definition at line 1365 of file blocks.py.


Member Function Documentation

def blockit::Fortran::blocks::Subroutine::__propArgList ( ) [private]

Definition at line 1418 of file blocks.py.

def blockit::Fortran::blocks::Subroutine::__propAsName ( ) [private]

Definition at line 1412 of file blocks.py.

def blockit::Fortran::blocks::Subroutine::addLine (   self,
  line,
  n = None 
)
Overloaded addLine() method for a subroutine block.  It strips out
the 'as' and 'no_mangle' clauses prior to calling the base class
addLine() method.

Reimplemented from blockit::Fortran::blocks::FortranBlock.

Definition at line 1387 of file blocks.py.

def blockit::Fortran::blocks::Subroutine::factory (   s,
  lineNo,
  tokens 
)
Factory method called by the BlockParser to produce an
instance of the class.

Definition at line 1355 of file blocks.py.

def blockit::Fortran::blocks::Subroutine::name (   self)
Overloaded name method.  If "no_mangle" was specified, returns the
original name with no template mangling.  Otherwise, it calls the base
class name() method.

Reimplemented from blockit::blocks::Block.

Definition at line 1397 of file blocks.py.


Member Data Documentation

Definition at line 1377 of file blocks.py.

Definition at line 1377 of file blocks.py.

tuple blockit::Fortran::blocks::Subroutine::AS_CLAUSE = pp.Suppress('as') [static]

Definition at line 1342 of file blocks.py.

Reimplemented from blockit::Fortran::blocks::FortranBlock.

Definition at line 1337 of file blocks.py.

tuple blockit::Fortran::blocks::Subroutine::ELEMENTAL = pp.Suppress(pp.CaselessKeyword('elemental')) [static]

Definition at line 1340 of file blocks.py.

Reimplemented from blockit::blocks::Block.

Definition at line 1344 of file blocks.py.

tuple blockit::Fortran::blocks::Subroutine::KEYWORD = pp.Suppress(pp.CaselessKeyword(BLOCKTYPE)) [static]

Definition at line 1338 of file blocks.py.

tuple blockit::Fortran::blocks::Subroutine::NO_MANGLE = pp.Word('no_mangle') [static]

Definition at line 1343 of file blocks.py.

tuple blockit::Fortran::blocks::Subroutine::RECURSIVE = pp.Suppress(pp.CaselessKeyword('recursive')) [static]

Definition at line 1339 of file blocks.py.

tuple blockit::Fortran::blocks::Subroutine::VALID_ASNAME = pp.Word(pp.alphas, pp.alphanums+'_./()=<>+-*') [static]

Definition at line 1341 of file blocks.py.


Property Documentation

blockit::Fortran::blocks::Subroutine::argList = property( **__propArgList() ) [static]

Definition at line 1425 of file blocks.py.

blockit::Fortran::blocks::Subroutine::asName = property( **__propAsName() ) [static]

Definition at line 1424 of file blocks.py.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Properties