Parse tree record: X'0024'

The following table shows the contents of the parse tree record.

Table 1. SYSADATA parse tree record
Field Size Description
Node number FL4 The node number generated by the compiler, starting at 1
Node type HL2 The type of the node:
001
Program
002
Class
003
Method
   
101
IDENTIFICATION DIVISION
102
ENVIRONMENT DIVISION
103
DATA DIVISION
104
PROCEDURE DIVISION
105
End Program/Method/Class
   
201
Declaratives body
202
Nondeclaratives body
   
301
Section
302
Procedure section
   
401
Paragraph
402
Procedure paragraph
   
501
Sentence
502
File definition
503
Sort file definition
504
Program-name
505
Program attribute
508
ENVIRONMENT DIVISION clause
509
CLASS attribute
510
METHOD attribute
511
USE statement
   
601
Statement
602
Data description clause
603
Data entry
604
File description clause
605
Data entry name
606
Data entry level
607
EXEC entry
   
701
EVALUATE subject phrase
702
EVALUATE WHEN phrase
703
EVALUATE WHEN OTHER phrase
704
SEARCH WHEN phrase
705
INSPECT CONVERTING phrase
706
INSPECT REPLACING phrase
707
INSPECT TALLYING phrase
708
PERFORM UNTIL phrase
709
PERFORM VARYING phrase
710
PERFORM AFTER phrase
711
Statement block
712
Scope terminator
713
INITIALIZE REPLACING phrase
714
EXEC CICS® Command
715
INITIALIZE WITH FILLER
716
INITIALIZE TO VALUE
717
INITIALIZE TO DEFAULT
718
ALLOCATE INITIALIZED
Start of change719End of change
Start of changeALLOCATE LOCEnd of change
720
DATA DIVISION phrase
   
801
Phrase
802
ON phrase
803
NOT phrase
804
THEN phrase
805
ELSE phrase
806
Condition
807
Expression
808
Relative indexing
809
EXEC CICS Option
810
Reserved word
811
INITIALIZE REPLACING category
   
901
Section or paragraph name
902
Identifier
903
Alphabet-name
904
Class-name
905
Condition-name
906
File-name
907
Index-name
908
Mnemonic-name
910
Symbolic-character
911
Literal
912
Function identifier
913
Data-name
914
Special register
915
Procedure reference
916
Arithmetic operator
917
All procedures
918
INITIALIZE literal (no tokens)
919
ALL literal or figcon
920
Keyword class test name
921
Reserved word at identifier level
922
Unary operator
923
Relational operator
   
1001
Subscript
1002
Reference modification
Node subtype HL2 The subtype of the node.

For Section type:

0001
CONFIGURATION Section
0002
INPUT-OUTPUT Section
0003
FILE SECTION
0004
WORKING-STORAGE SECTION
0005
LINKAGE SECTION
0006
LOCAL-STORAGE SECTION
0007
REPOSITORY Section
    For Paragraph type:
0001
PROGRAM-ID paragraph
0002
AUTHOR paragraph
0003
INSTALLATION paragraph
0004
DATE-WRITTEN paragraph
0005
SECURITY paragraph
0006
SOURCE-COMPUTER paragraph
0007
OBJECT-COMPUTER paragraph
0008
SPECIAL-NAMES paragraph
0009
FILE-CONTROL paragraph
0010
I-O-CONTROL paragraph
0011
DATE-COMPILED paragraph
0012
CLASS-ID paragraph
0013
METHOD-ID paragraph
0014
REPOSITORY paragraph
    For ENVIRONMENT DIVISION clause type:
0001
WITH DEBUGGING MODE
0002
MEMORY-SIZE
0003
SEGMENT-LIMIT
0004
CURRENCY-SIGN
0005
DECIMAL POINT
0006
PROGRAM COLLATING SEQUENCE
0007
ALPHABET
0008
SYMBOLIC-CHARACTER
0009
CLASS
0010
ENVIRONMENT NAME
0011
SELECT
0012
XML-SCHEMA
    For data description clause type:
0001
BLANK WHEN ZERO
0002
DATA-NAME OR FILLER
0003
JUSTIFIED
0004
OCCURS
0005
PICTURE
0006
REDEFINES
0007
RENAMES
0008
SIGN
0009
SYNCHRONIZED
0010
USAGE
0011
VALUE
0012
VOLATILE
0023
GLOBAL
0024
EXTERNAL
    For file description clause type:
0001
FILE STATUS
0002
ORGANIZATION
0003
ACCESS MODE
0004
RECORD KEY
0005
ASSIGN
0006
RELATIVE KEY
0007
PASSWORD
0008
PROCESSING MODE
0009
RECORD DELIMITER
0010
PADDING CHARACTER
0011
BLOCK CONTAINS
0012
RECORD CONTAINS
0013
LABEL RECORDS
0014
VALUE OF
0015
DATA RECORDS
0016
LINAGE
0017
ALTERNATE KEY
0018
LINES AT TOP
0019
LINES AT BOTTOM
0020
CODE-SET
0021
RECORDING MODE
0022
RESERVE
0023
GLOBAL
0024
EXTERNAL
0025
LOCK
    For Statement type:
0002
NEXT SENTENCE
0003
ACCEPT
0004
ADD
0005
ALTER
0006
CALL
0007
CANCEL
0008
CLOSE
0009
COMPUTE
0010
CONTINUE
0011
DELETE
0012
DISPLAY
0013
DIVIDE (INTO)
0113
DIVIDE (BY)
0014
ENTER
0015
ENTRY
0016
EVALUATE
0017
EXIT
0018
GO
0019
GOBACK
0020
IF
0021
INITIALIZE
0022
INSPECT
   
0023
INVOKE
0024
MERGE
0025
MOVE
0026
MULTIPLY
0027
OPEN
0028
PERFORM
0029
READ
0030
READY
0031
RELEASE
0032
RESET
0033
RETURN
0034
REWRITE
0035
SEARCH
0036
SERVICE
0037
SET
0038
SORT
0039
START
0040
STOP
0041
STRING
0042
SUBTRACT
0043
UNSTRING
0044
EXEC SQL
0144
EXEC CICS
0045
WRITE
0046
XML
Start of change 0047 End of change
Start of changeALLOCATEEnd of change
Start of change 0048 End of change
Start of changeFREEEnd of change
Start of change 0049 End of change
Start of changeJSONEnd of change
    For Phrase type:
0001
INTO
0002
DELIMITED
0003
INITIALIZE. . .REPLACING
0004
INSPECT. . .ALL
0005
INSPECT. . .LEADING
0006
SET. . .TO
0007
SET. . .UP
0008
SET. . .DOWN
0009
PERFORM. . .TIMES
0010
DIVIDE. . .REMAINDER
0011
INSPECT. . .FIRST
0012
SEARCH. . .VARYING
0013
MORE-LABELS
0014
SEARCH ALL
0015
SEARCH. . .AT END
0016
SEARCH. . .TEST INDEX
0017
GLOBAL
0018
LABEL
0019
DEBUGGING
0020
SEQUENCE
0021
Reserved for future use
0022
Reserved for future use
0023
Reserved for future use
0024
TALLYING
0025
Reserved for future use
0026
ON SIZE ERROR
0027
ON OVERFLOW
0028
ON ERROR
0029
AT END
0030
INVALID KEY
0031
END-OF-PAGE
0032
USING
   
0033
BEFORE
0034
AFTER
0035
EXCEPTION
0036
CORRESPONDING
0037
Reserved for future use
0038
RETURNING
0039
GIVING
0040
THROUGH
0041
KEY
0042
DELIMITER
0043
POINTER
0044
COUNT
0045
METHOD
0046
PROGRAM
0047
INPUT
0048
OUTPUT
0049
I-O
0050
EXTEND
0051
RELOAD
0052
ASCENDING
0053
DESCENDING
0054
DUPLICATES
0055
NATIVE (USAGE)
0056
INDEXED
0057
FROM
0058
FOOTING
0059
LINES AT BOTTOM
0060
LINES AT TOP
0061
XML ENCODING
0062
XML GENERATE XML-DECLARATION
0063
XML GENERATE ATTRIBUTES
0064
XML GENERATE NAMESPACE
0065
XML PARSE PROCESSING
0066
XML PARSE VALIDATING
0067
XML GENERATE NAME
0068
XML GENERATE TYPE
0069
XML GENERATE SUPPRESS
    For Function identifier type:
0001
COS
0002
LOG
0003
MAX
0004
MIN
0005
MOD
0006
ORD
0007
REM
0008
SIN
0009
SUM
0010
TAN
0011
ACOS
0012
ASIN
0013
ATAN
0014
CHAR
0015
MEAN
0016
SQRT
0017
LOG10
0018
RANGE
0019
LENGTH
0020
MEDIAN
0021
NUMVAL
0022
RANDOM
0023
ANNUITY
0024
INTEGER
0025
ORD-MAX
0026
ORD-MIN
0027
REVERSE
0028
MIDRANGE
0029
NUMVAL-C
0030
VARIANCE
0031
FACTORIAL
0032
LOWER-CASE
   
0033
UPPER-CASE
0034
CURRENT-DATE
0035
INTEGER-PART
0036
PRESENT-VALUE
0037
WHEN-COMPILED
0038
DAY-OF-INTEGER
0039
INTEGER-OF-DAY
0040
DATE-OF-INTEGER
0041
INTEGER-OF-DATE
0042
STANDARD-DEVIATION
0043
YEAR-TO-YYYY
0044
DAY-TO-YYYYDDD
0045
DATE-TO-YYYYMMDD
0049
DISPLAY-OF
0050
NATIONAL-OF
0051
UPOS
0052
UVALID
0053
UWIDTH
0054
ULENGTH
0055
USUBSTR
0056
USUPPLEMENTARY
Start of change 0057 End of change
Start of changeHEX-OFEnd of change
Start of change 0058 End of change
Start of changeBIT-OFEnd of change
Start of change 0059 End of change
Start of changeEEnd of change
Start of change 0060 End of change
Start of changeTRIMEnd of change
Start of change 0061 End of change
Start of changePIEnd of change
Start of change 0062 End of change
Start of changeABSEnd of change
Start of change 0063 End of change
Start of changeBYTE-LENGTHEnd of change
Start of change 0064 End of change
Start of changeEXPEnd of change
Start of change 0065 End of change
Start of changeEXP10End of change
Start of change 0066 End of change
Start of changeBIT-TO-CHAREnd of change
Start of change 0067 End of change
Start of changeNUMVAL-FEnd of change
Start of change 0068 End of change
Start of changeHEX-TO-CHAREnd of change
Start of change 0069 End of change
Start of changeSIGNEnd of change
Start of change 0070 End of change
Start of changeTEST-NUMVALEnd of change
Start of change 0071 End of change
Start of changeTEST-NUMVAL-CEnd of change
Start of change 0072 End of change
Start of changeTEST-NUMVAL-FEnd of change
    For Special Register type:
0001
ADDRESS OF
0002
LENGTH OF
    For Keyword Class Test Name type:
0001
ALPHABETIC
0002
ALPHABETIC-LOWER
0003
ALPHABETIC-UPPER
0004
DBCS
0005
KANJI
0006
NUMERIC
0007
NEGATIVE
0008
POSITIVE
0009
ZERO
    For Reserved Word type:
0001
TRUE
0002
FALSE
0003
ANY
0004
THRU
    For Identifier, Data-name, Index-name, Condition-name or Mnemonic-name type:
0001
REFERENCED
0002
CHANGED
0003
REFERENCED & CHANGED
    For Initialize literal type:
0001
ALPHABETIC
0002
ALPHANUMERIC
0003
NUMERIC
0004
ALPHANUMERIC-EDITED
0005
NUMERIC-EDITED
0006
DBCS/EGCS
0007
NATIONAL
0008
NATIONAL-EDITED
    For Procedure-name type:
0001
SECTION
0002
PARAGRAPH
    For Reserved word at identifier level type:
0001
ROUNDED
0002
TRUE
0003
ON
0004
OFF
0005
SIZE
0006
DATE
0007
DAY
0008
DAY-OF-WEEK
0009
TIME
0010
WHEN-COMPILED
0011
PAGE
0012
DATE YYYYMMDD
0013
DAY YYYYDDD
0014
Attribute
0015
Element
0016
Content
0017
Numeric
0018
Nonnumeric
0019
Every
0020
When
    For Arithmetic Operator type:
0001
PLUS
0002
MINUS
0003
TIMES
0004
DIVIDE
0005
DIVIDE REMAINDER
0006
EXPONENTIATE
0007
NEGATE
    For Relational Operator type:
0008
LESS
0009
LESS OR EQUAL
0010
EQUAL
0011
NOT EQUAL
0012
GREATER
0013
GREATER OR EQUAL
0014
AND
0015
OR
0016
CLASS CONDITION
0017
NOT CLASS CONDITION
Parent node number FL4 The node number of the parent of the node
Left sibling node number FL4 The node number of the left sibling of the node, if any. If none, the value is zero.
Symbol ID FL4 The Symbol ID of the node, if it is a user-name of one of the following types:
  • Data entry
  • Identifier
  • File-name
  • Index-name
  • Procedure-name
  • Condition-name
  • Mnemonic-name

This value corresponds to the Symbol ID in a Symbol (Type 42) record, except for procedure-names where it corresponds to the Paragraph ID.

For all other node types this value is zero.

Section Symbol ID FL4 The Symbol ID of the section containing the node, if it is a qualified paragraph-name reference. This value corresponds to the Section ID in a Symbol (Type 42) record.

For all other node types this value is zero.

First token number FL4 The number of the first token associated with the node
Last token number FL4 The number of the last token associated with the node
Reserved FL4 Reserved for future use
Flags CL1 Information about the node:
X'80'
Reserved
X'40'
Generated node, no tokens
Reserved CL3 Reserved for future use