String | Integer | Attribute Key or Value, Description |
Empty string "" | 0 | Value, the attribute value is false - the node does not have the attribute. |
t | 1 | Value, the attribute value is true - the node has the attribute. |
storetype | 1100 | Key, for table or record references. Use this key to find out if a given reference is to a database table, a temp-table, or to a work-table. |
st-dbtable | 1102 | Value, storage type is database table |
st-ttable | 1103 | Value, storage type is temp-table |
st-wtable | 1104 | Value, storage type is work-table |
operator | 1200 | Key. Indicates that the node is an operator. For example, in the expression "1 + 2", the "+" is stored in the syntax tree as a PLUS node, and it is an operator. Operator nodes always have exactly two children (but either of those children may have any number of other children). In the case of "1 + 2", the NUMBER nodes "1" and "2" are the two children (operands) of the operator (PLUS) node. |
state2 | 1300 | Key.
Secondary statement keyword, found only on statement head nodes.
Used for statements where the first keyword in the statement
is not enough to determine the exact statement type.
For example, a DEFINE node may have a state2 attribute of BUFFER,
PARAMETER, VARIABLE, etc.
A DELETE node may have a state2 value of ALIAS, OBJECT, PROCEDURE,
etc. For a DELETE record statement however, the state2 attribute is not
used (empty). There is no secondary keyword for qualifying what kind
of a DELETE statement it is - it's simply a delete statement.
The Syntax Tree Specification details exactly what the state2 value is for each statement head node. |
statehead | 1400 | Key.
True if the node is the head node of a statement
(ex: DEFINE, DISPLAY, DO, etc.).
The Syntax Tree Specification details which nodes are statement heads. Also see the function parserNodeStateHead. |
proparsedirective | 1500 | Key. Returns the text value of a PROPARSEDIRECTIVE node. See Source Code Marking. |
node-type-keyword | 1600 | Key. Is the node type a keyword node type? (ex: DISPLAY is, ID is not) Note: Proparse does not resolve attribute and method names. |
abbreviated | 1700 | Key. For "node-type-keyword" nodes only: Is the node's text abbreviated? Note: Proparse does not resolve attribute and method names. |
fulltext | 1800 | Key. For "node-type-keyword" nodes only: Returns the capitalized, unabbreviated keyword text. (ex: for node type CASESENSITIVE, node text might be "case-sens", "fulltext" attribute would return "CASE-SENSITIVE") Note: Proparse does not resolve attribute and method names. |
from-user-dict | 1900 | Key. Returns a boolean value - does the node type and node text match an entry in the user defined node types dictionary? |
inline-var-def | 2000 | Key.
Returns a boolean value. Is only available on "Field_ref" nodes.
If the reference is to a variable being defined inline, then this attribute
is set to true. For example, in the following:
message ... update myNewVar as logical ...
the variable myNewVar is being referenced (updated) and defined all at the
same time. This attribute is important to tree parsers which are dealing
with name binding.
|
2100 | Key. Integer only. Valid from the CLASS node only. See Super Class Syntax Tree. | |
filename-list | 2200 | Key. Returns a newline (i.e. '\n' or chr(10)) separated list of filenames, in order corresponding to the integer file indexes for the nodes. The count is from zero: the first file in the list at index zero is always the compile unit. The rest are include files. This list is fetched via node attributes, rather than via any direct Proparse API function, because there may be more than one syntax tree (and more than one filename list) active at any one time. |
2300 | Key. Integer only. Every natural node in the tree has a source number, which is simply the integer line number from Proparse's preprocessor listing file. This allows nodes in the the syntax tree to be mapped to a specific macro reference in the macro expansion tree. Although the listing file doesn't explicitly list it as a macroref, the compile unit source file (.p,.w,.cls) is counted as SOURCENUM zero. |
|
qualified-class | 2400 | Key. On TYPE_NAME nodes, returns the qualified class name ("package.ClassName"). Proparse evaluates USING statements and the currently configured propath to derive the qualified class name for TYPE_NAME nodes. (If the class name was qualified in the source code, then this attribute and getText() will be the same.) |
Flag Name | Values and Description |
batch-mode | "true" or "false".
Is set by proparse.p .
The value of this flag is used
if any of your source code uses the BATCH-MODE preprocessor name. |
init | "true" or "false". This configuration setting is never used within
the Proparse link library (DLL). It is intended for use by the 4GL
part of the API, and for use by your programs, for determining whether
or not initialization has been done yet for all of the DLL settings.
For example, through your Progress session, you might run
proparse.p multiple times, but the DLL is only loaded once,
and it is only necessary to load the configuration settings and all of
the schema once. You can set and evaluate this flag in your programs to
determine whether configuration has been done yet or not.
For an example, see
proparse/api/proparse.p. |
listing-file | If the value is non-blank, then a preprocessor listing file is written out to this file name. See Preprocessor Listing File. |
multi-parse | "true" or "false". Default is "false". Similar to the MULTI-COMPILE setting on the compiler, if the value for this is true, then the inheritance tables for classes are cached. If this value is false, then the inheritance tables are cleared each time parse() is called. |
opsys | Same value as the 4GL function OPSYS.
Is set by proparse.p .
The value of this flag is used
if any of your source code uses the OPSYS preprocessor name. |
propath | Same value as the 4GL function PROPATH (comma separated).
Is set by proparse.p .
The value of this flag is used for finding your include files. |
proversion | Same value as the 4GL function PROVERSION.
Is set by Note that this does not affect which versions of syntax are recognized, which keywords are recognized, etc. |
show-proparse-directives | "true" or "false". Default is "false".
Tells Proparse to put
{&_PROPARSE_} directives
into the syntax tree.
See
Source Code Marking.
|
window-system | Same value as SESSION:WINDOW-SYSTEM.
Is set by proparse.p .
The value of this flag is used
if any of your source code uses the WINDOW-SYSTEM preprocessor name. |