"Let's model me a mine"
M.E.G.M.S.
Mining & Exploration Geological Modelling Services
The following test utilities exercise various parts of the Fortran source code parsing library.
All of the tools are written in Fortran 2003. Intel Fortran 17.0 beta is the compiler used for development.
As these are considered internal tools, they may change radically in behaviour as they are revised.
Lists the constructs, and the statements inside those constructs, that are in a Fortran source file.
BuildTreeTest [options] source-file
Command line options:
Statement classification considers the nested stack of constructs (the statement "tree" that is being built). Some statements, such as stmt-function-stmts, that require additional semantic information may still be classified incorrectly.
The source is available from www.megms.com.au/download/BuildTreeTest.zip.
Lists all the syntax terms that are in a Fortran source file.
ParserTest [options] source-files...
Command line options:
Parsing does not consider the semantics of the source, and only considers very limited information across statements. stmt-function-stmts may still be classified incorrectly.
The source is available from http://www.megms.com.au/download/ParserTest.zip.
Describes all the identifiers that are present in a Fortran source file.
AdvertiseTest [options] source-files...
Command line options:
The entity description is limited to the use and attributes of the entity within a particular scope. It does not consider host or use association.
The source is available from www.megms.com.au/download/AdvertiseTest.zip.
A proof of concept tool to list identifiers that appear in syntax that is known (within the limitations of parsing) to be a variable definition context.
VariableDefinitionContext [options] source-files...
Command line options:
The assessment of whether an identifier is a dummy argument and/or in a variable definition context only considers information available within a particular statement. The full semantics of the source are not analysed, some variable definition contexts are not reported (particularly those where an actual argument is associated with an INTENT(INOUT) or INTENT(OUT) dummy argument) and some variables may be reported as dummy arguments when they are not.
The source is available from www.megms.com.au/download/VariableDefinitionContext.zip.
Questions, queries and quibbles can be sent to ff08@megms.com.au.