rexxprogram.cls File Reference

OORexx


Required by

documents.cls
htmlrexxsource.cls
htmlutil.cls
rexxliterate.cls

Detailed Description

prefix comment removed

Parse and represent a Rexx program
The source program is parsed into comments, quoted strings and clauses. Quoted strings are necessary to complete parsing into clauses, since lineend (;) chars may appear in a quoted string
Clauses are then built back up into features, which correspond to the procedures, classes, methods, etc. in the program. Features consist of an undifferentiated list of one or more clauses. Further interpretation is left to other code.
Block comments are merged together when contiguous, and a list is build of code features and block comments ordered by start line
The results of the parse appear as lists of filechunks which the user can traverse and render as source, either code-only, comments-only or code and comments (vanilla source)
A Rexx program consists of a top (or entry) procedure and zero or more labels and procedures. If it's an OORexx program it may have requires clauses, classes, methods or routines
At the first sign of OORexx features (use of the twiddle, or OORexx directives) the procedural flag is set to .false
Since the lists are public, the user can do anything at all with them. Convenience methods are provided in the public method interface as an aid to navigation.
In general, the features and codefeatures lists are likely to be the most useful, followed by the clauses list

::CLASS rexxprogram PUBLIC

the rexxprogram class
Definition at line 82 of rexxprogram.cls

::CLASS filechunk

abstract class for an extent of the source file

filechunks may appear mixed up in lists
they are distinguished by their ~objectname
supplied by the concrete specialization

Definition at line 1409 of rexxprogram.cls

::CLASS comment SUBCLASS filechunk

specialization for a comment
a comment is a filechunk with the objectname 'COMT'
it represents a rexx line or block comment
a line comment is a comment on a line that has
an executable clause on it
a block comment is a comment on one or more
contiguous lines with no executable clauses on them
Definition at line 1461 of rexxprogram.cls

::CLASS clause PUBLIC SUBCLASS filechunk

specialisation for a clause
a clause is a filechunk with the objectname 'CLAU'
it represents a single Rexx executable clause
Definition at line 1470 of rexxprogram.cls

::CLASS quoted SUBCLASS filechunk

specialization for a quoted string
a quoted is a filechunk with the objectname 'QUOT'
it represents a quoted string in an executable clause
Definition at line 1482 of rexxprogram.cls

::CLASS feature SUBCLASS filechunk inherit Comparable

abstract class for features

a feature is a filechunk with a rexx name, and
one or more clauses that comprise the feature

specializations of feature may appear mixed up
in lists. Distinguish them by their ~objectname

Definition at line 1496 of rexxprogram.cls

::CLASS label SUBCLASS feature INHERIT callable

specialization for a label
it represents a Rexx label
if the label represents a procedure or function
but has no 'procedure' attribute, it will not be
recognized as a procedure, but treated as 'just a label'
Upper layers may wish to reassign this state, so .label inherits
the .callable mixin just in case
Definition at line 1530 of rexxprogram.cls

::CLASS callable MIXINCLASS object

mixin for a callable feature

Definition at line 1541 of rexxprogram.cls

::CLASS proc SUBCLASS feature INHERIT callable

specialisation for a procedure
a procedure is a feature with an exposelist and an arglist
it represents a Rexx procedure
Definition at line 1552 of rexxprogram.cls

::CLASS rclass SUBCLASS feature

specialization for a class
a class is a feature with a number of specialized attributes
it represents an OORexx class
Definition at line 1564 of rexxprogram.cls

::CLASS methodic MIXINCLASS object

mixin class for method and attribute common elements
Definition at line 1585 of rexxprogram.cls

::CLASS rmethod SUBCLASS feature inherit callable methodic

specialization for a method
a method is a feature with a number of specialized attributes
it represents an OORexx method
Definition at line 1605 of rexxprogram.cls

::CLASS rattribute SUBCLASS feature INHERIT methodic

specialization for an attribute method
an attribute is a feature with a number of specialized attributes
it represents an OORexx attribute method
Definition at line 1617 of rexxprogram.cls

::CLASS routine SUBCLASS feature INHERIT callable

specialization for a routine
a routine is a feature with a number of specialized attributes
it represents an OORexx routine
Definition at line 1634 of rexxprogram.cls

::CLASS requires SUBCLASS feature

specialization for a requires clause
Definition at line 1645 of rexxprogram.cls

::CLASS roptions SUBCLASS feature

specialization for an options clause
Definition at line 1654 of rexxprogram.cls

::CLASS rconstant SUBCLASS feature inherit callable methodic

specialization for a constant clause
Definition at line 1663 of rexxprogram.cls

::CLASS flatclause PUBLIC

a clause flattened for parsing
Definition at line 1674 of rexxprogram.cls


Get RexxLiterate at SourceForge.net. Fast, secure and Free Open Source software downloads
Generated on 31 Aug 2010 05:20:33 for RexxLiterate by rexxliterate  0.0.1