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

List of all members.

Public Member Functions

def factory
def __init__
def addLine
def name

Static Public Attributes

string BLOCKTYPE = 'Function'
tuple KEYWORD = pp.Suppress(pp.CaselessKeyword(BLOCKTYPE))
tuple RECURSIVE = pp.Suppress(pp.CaselessKeyword('recursive'))
tuple ELEMENTAL = pp.Suppress(pp.CaselessKeyword('elemental'))
 RESULT = \
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

Detailed Description

Definition at line 1227 of file blocks.py.


Constructor & Destructor Documentation

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

function foo(x,y,z)  result(bar)
.
.
.
end function foo

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

Definition at line 1267 of file blocks.py.


Member Function Documentation

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

Definition at line 1323 of file blocks.py.

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

Definition at line 1317 of file blocks.py.

def blockit::Fortran::blocks::Function::addLine (   self,
  line,
  n = None 
)
Overloaded addLine() method for a function 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 1289 of file blocks.py.

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

Definition at line 1255 of file blocks.py.

def blockit::Fortran::blocks::Function::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 1299 of file blocks.py.


Member Data Documentation

Definition at line 1279 of file blocks.py.

Definition at line 1279 of file blocks.py.

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

Definition at line 1241 of file blocks.py.

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

Definition at line 1231 of file blocks.py.

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

Definition at line 1234 of file blocks.py.

Reimplemented from blockit::blocks::Block.

Definition at line 1243 of file blocks.py.

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

Definition at line 1232 of file blocks.py.

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

Definition at line 1242 of file blocks.py.

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

Definition at line 1233 of file blocks.py.

Definition at line 1235 of file blocks.py.

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

Definition at line 1240 of file blocks.py.


Property Documentation

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

Definition at line 1330 of file blocks.py.

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

Definition at line 1329 of file blocks.py.


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