SAP ABAP Class CL_ABAP_SYNTAX_TREE (Syntax Tree of ABAP Program)
Hierarchy
☛
SAP_BASIS (Software Component) SAP Basis Component
⤷
BC-ABA-LA (Application Component) Syntax, Compiler, Runtime
⤷
SABP_COMPILER (Package) ABAP Compiler

⤷

⤷

Properties
Class | CL_ABAP_SYNTAX_TREE | |
Short Description | Syntax Tree of ABAP Program | |
Super Class | ||
Instantiability of a Class | 0 | Private |
Final |
General Data
Message Class | ||
Program status | ||
Category | 0 | |
Package | SABP_COMPILER | ABAP Compiler |
Created | 20130201 | SAP |
Last change | 20140121 | SAP |
Shared Memory-enabled | ||
Fixed point arithmetic | ||
Unicode checks active |
Forward declarations
# | Type group / Object type | Type | Type Description |
---|---|---|---|
1 | ![]() |
Type group use (TYPE-POOLS tp) | Type group use (TYPE-POOLS tp) |
2 | ![]() |
Type group use (TYPE-POOLS tp) | Type group use (TYPE-POOLS tp) |
Interfaces
Class CL_ABAP_SYNTAX_TREE has no interface implemented.
Friends
Class CL_ABAP_SYNTAX_TREE has no friend class.
Attributes
# | Attribute | Level | Visibility | Read only | Typing | Associated Type | Initial Value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
Constant | Public | Type reference (TYPE) | T_AXIS | 5 | Reverse Axis: Real Parent Nodes | 20130304 | |
2 | ![]() |
Constant | Public | Type reference (TYPE) | T_AXIS | 6 | Reverse Axis: Parent Node | 20130304 | |
3 | ![]() |
Constant | Public | Type reference (TYPE) | T_AXIS | 1 | Forwards Axis: Direct Subnodes | 20130304 | |
4 | ![]() |
Constant | Public | Type reference (TYPE) | T_AXIS | 2 | Forwards Axis: Real Parent Nodes | 20130304 | |
5 | ![]() |
Constant | Public | Type reference (TYPE) | T_AXIS | 3 | Forwards Axis: Subnodes | 20130304 | |
6 | ![]() |
Constant | Public | Type reference (TYPE) | T_AXIS | 8 | Forwards Axis: Subsequent Nodes | 20130304 | |
7 | ![]() |
Constant | Public | Type reference (TYPE) | T_AXIS | 7 | Forwards Axis: Subsequent Nodes on Same Level | 20130304 | |
8 | ![]() |
Constant | Public | Type reference (TYPE) | T_AXIS | 4 | Reverse Axis: Direct Parent Node | 20130304 | |
9 | ![]() |
Constant | Public | Type reference (TYPE) | T_AXIS | 10 | Reverse Axis: Predecessor Nodes | 20130304 | |
10 | ![]() |
Constant | Public | Type reference (TYPE) | T_AXIS | 9 | Reverse Axis: Predecessor Nodes on Same Level | 20130304 | |
11 | ![]() |
Constant | Public | Type reference (TYPE) | T_CATEGORY | 'F' | Note Category: Control Flow | 20130304 | |
12 | ![]() |
Constant | Public | Type reference (TYPE) | T_CATEGORY | 'I' | Node Category: Call | 20130304 | |
13 | ![]() |
Constant | Public | Type reference (TYPE) | T_FILTERMODE | 3 | Filter Mode (Only for Forwards Axes): Exclude Subtree | 20130305 | |
14 | ![]() |
Constant | Public | Type reference (TYPE) | T_FILTERMODE | 2 | Filter Mode (Only for Forwards Axes): Include Subtree | 20130305 | |
15 | ![]() |
Constant | Public | Type reference (TYPE) | T_FILTERMODE | 1 | Filter Mode: Apply Recursively | 20130305 | |
16 | ![]() |
Constant | Public | Type reference (TYPE) | T_LOGICAL_OP | 'A' | Filter Operator: AND | 20130304 | |
17 | ![]() |
Constant | Public | Type reference (TYPE) | T_LOGICAL_OP | 'O' | Filter Operator: OR | 20130304 | |
18 | ![]() |
Static Attribute | Public | Type reference (TYPE) | T_ASTNAMETAB | Names in Tree | 20130205 | ||
19 | ![]() |
Instance attribute | Private | Type reference (TYPE) | %_C_POINTER | Kernel Pointer | 20130205 | ||
20 | ![]() |
Instance attribute | Public | Type reference (TYPE) | T_DIAGINFO | Diagnostic Information | 20130311 | ||
21 | ![]() |
Instance attribute | Public | Type reference (TYPE) | ABAP_BOOL | Nodes for INCLUDE and Macro Calls | 20130311 | ||
22 | ![]() |
Instance attribute | Public | Type reference (TYPE) | I | Number of Nodes in Tree | 20130207 | ||
23 | ![]() |
Instance attribute | Public | Type reference (TYPE) | I | Index of First Statement | 20130311 | ||
24 | ![]() |
Instance attribute | Public | Type reference (TYPE) | I | Index of Last Statement | 20130311 | ||
25 | ![]() |
Constant | Public | Type reference (TYPE) | T_RULEPROP | 48 | Grammar rule: Not covered or not covered in full | 20130304 | |
26 | ![]() |
Constant | Public | Type reference (TYPE) | T_RULEPROP | 16 | Grammar rule: Not covered in full | 20130304 | |
27 | ![]() |
Constant | Public | Type reference (TYPE) | T_RULEPROP | 32 | Grammar rule: Not covered | 20130304 | |
28 | ![]() |
Constant | Public | Type reference (TYPE) | T_RULEPROP | 1 | Grammar rule: Name | 20130304 | |
29 | ![]() |
Constant | Public | Type reference (TYPE) | T_RULEPROP | IS INITIAL | Grammar rule: No property | 20130304 | |
30 | ![]() |
Constant | Public | Type reference (TYPE) | T_RULEPROP | 2 | Grammar rule: Obsolete | 20130304 | |
31 | ![]() |
Constant | Public | Type reference (TYPE) | T_RULEPROP | 4 | Grammar rule: Private | 20130304 | |
32 | ![]() |
Constant | Public | Type reference (TYPE) | T_RULEPROP | 8 | Grammar rule: Statement | 20130305 | |
33 | ![]() |
Constant | Public | Type reference (TYPE) | T_RULEPROP | 128 | Grammar rule: Write | 20130304 |
Methods
# | Method | Level | Visibility | Method type | Description | Created on |
---|---|---|---|---|---|---|
1 | ![]() |
Instance method | Private | Method | Create Syntax Tree | 20130311 |
2 | ![]() |
Static method | Public | Constructor | Class Constructor | 20130205 |
3 | ![]() |
Static method | Public | Method | Create Syntax Tree | 20130311 |
4 | ![]() |
Instance method | Public | Destructor | Destructor | 20130205 |
5 | ![]() |
Static method | Private | Method | Get AST name indexes for category | 20130304 |
6 | ![]() |
Static method | Public | Method | Get AST name index intervals | 20130312 |
7 | ![]() |
Instance method | Public | Method | Find Nodes | 20130222 |
8 | ![]() |
Static method | Private | Method | Initializes the kernel implementation | 20130301 |
9 | ![]() |
Instance method | Public | Method | Serialize Syntax Tree as XML | 20130205 |
10 | ![]() |
Instance method | Public | Method | Serialize Syntax Tree with Source Code | 20130207 |
Events
Class CL_ABAP_SYNTAX_TREE has no event.
Types
# | Type | Visibility | Typing | Associated Type | Description | Created on | Type Source |
---|---|---|---|---|---|---|---|
1 | T_ASTNAME | Public | See coding | AST Name <-> Index Assignment | 20130205 | begin of t_astname,
index type i,
name type string,
end of t_astname
|
|
2 | T_ASTNAMETAB | Public | See coding | AST Names <-> Indexes Assignment Table | 20130205 | t_astnametab type sorted table of t_astname
with unique key index
with unique hashed key kn components name
|
|
3 | T_ASTSRC | Public | See coding | Source/AST Pair | 20130207 | begin of t_astsrc,
astxml type string,
source type string,
node_index type i,
end of t_astsrc
|
|
4 | T_ASTSRCTAB | Public | See coding | Table of Source/AST Pairs | 20130207 | t_astsrctab type standard table of t_astsrc with empty key
|
|
5 | T_AXIS | Public | Type reference (TYPE) | I | Navigation Axis (AX_* Constants) | 20130227 |
|
6 | T_CATEGORIES | Public | Type reference (TYPE) | STRING | AST Categories (One or More CT_*) | 20130304 |
|
7 | T_CATEGORY | Public | See coding | AST Node Category | 20130304 | t_category type c length 1
|
|
8 | T_CATEGORY_FILTER | Public | See coding | AST Category Filter | 20130304 | begin of t_category_filter,
inclusive type t_categories,
exclusive type t_categories,
incl_op type t_logical_op,
excl_op type t_logical_op,
end of t_category_filter
|
|
9 | T_CATEGORY_MEMBERS | Private | See coding | AST name indexes in a category | 20130312 | t_category_members type sorted table of i with unique key table_line
|
|
10 | T_DIAGINFO | Public | See coding | Diagnostic Information | 20130222 | begin of t_diaginfo,
time1 type i,
time2 type i,
time3 type i,
time4 type i,
time5 type i,
time6 type i,
end of t_diaginfo
|
|
11 | T_FILTERMODE | Public | Type reference (TYPE) | I | Filter Mode (FM_* Constants) | 20130305 |
|
12 | T_LOGICAL_OP | Public | See coding | Logical Operator in Filter | 20130304 | t_logical_op type c length 1
|
|
13 | T_NAMEINTVL | Public | See coding | Interval of AST Name Indexes | 20130312 | begin of t_nameintvl,
lo type i,
hi type i,
end of t_nameintvl
|
|
14 | T_NAMERANGE | Public | See coding | Range Table of AST Names | 20130215 | t_namerange type range of string
|
|
15 | T_NAME_FILTER | Public | See coding | AST Name Index Filter | 20130312 | t_name_filter type standard table of t_nameintvl with empty key
|
|
16 | T_NODEINFO | Public | See coding | AST Node Information | 20130211 | begin of t_nodeinfo,
index type i,
depth type i,
token_index type i,
name_index type int2,
token_len type int2,
token_off type int2,
token_type type c length 1,
multi_token type int1,
rule_prop type t_ruleprop,
end of t_nodeinfo
|
|
17 | T_NODEINFOTAB | Public | See coding | Table of AST Node Information | 20130211 | t_nodeinfotab type standard table of t_nodeinfo with empty key
|
|
18 | T_RULEPROP | Public | See coding | Grammar Rule Property (RP_* Constants) | 20130227 | t_ruleprop type X length 1
|
|
19 | T_RULEPROP_FILTER | Public | See coding | Rule Property Filter | 20130227 | begin of t_ruleprop_filter,
incl_op type t_logical_op,
excl_op type t_logical_op,
inclusive type t_ruleprop,
exclusive type t_ruleprop,
end of t_ruleprop_filter
|
Method Signatures
Method BUILD Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
DISCARD_STREAM | Call by reference | Type reference (TYPE) | ABAP_BOOL | ABAP_TRUE | Eingabestrom verwerfen | 20130311 | |
2 | ![]() |
STMNTS | Call by reference | Type reference (TYPE) | SSTMNT_TAB | SCAN-Anweisungstabelle | 20130311 | ||
3 | ![]() |
TOKENS | Call by reference | Type reference (TYPE) | STOKESX_TAB | SCAN-Token-Tabelle | 20130311 | ||
4 | ![]() |
TOKENS_QUALIFY | Call by reference | Type reference (TYPE) | STOKESX_TAB | SCAN-Token-Tabelle (zu qualifizieren) | 20130311 |
Method BUILD on class CL_ABAP_SYNTAX_TREE has no exception.
Method CLASS_CONSTRUCTOR Signature
Method CLASS_CONSTRUCTOR on class CL_ABAP_SYNTAX_TREE has no parameter.
Method CLASS_CONSTRUCTOR on class CL_ABAP_SYNTAX_TREE has no exception.
Method CREATE Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
DISCARD_STREAM | Call by reference | Type reference (TYPE) | ABAP_BOOL | ABAP_TRUE | Eingabestrom verwerfen | 20130311 | |
2 | ![]() |
STMNTS | Call by reference | Type reference (TYPE) | SSTMNT_TAB | SCAN-Anweisungstabelle | 20130311 | ||
3 | ![]() |
STMT_INDEX_FROM | Value transfer | Type reference (TYPE) | SLEVEL-FROM | 0 | Index des ersten Statements | 20130311 | |
4 | ![]() |
STMT_INDEX_TO | Value transfer | Type reference (TYPE) | SLEVEL-TO | 0 | Index des letzten Statements | 20130311 | |
5 | ![]() |
TOKENS | Call by reference | Type reference (TYPE) | STOKESX_TAB | SCAN-Token-Tabelle | 20130311 | ||
6 | ![]() |
TOKENS_QUALIFY | Call by reference | Type reference (TYPE) | STOKESX_TAB | SCAN-Token-Tabelle (zu qualifizieren) | 20130311 | ||
7 | ![]() |
TREE | Value transfer | Object reference (TYPE REF TO) | CL_ABAP_SYNTAX_TREE | Syntaxbaum eines ABAP-Programms | 20130311 | ||
8 | ![]() |
WITH_LEVEL_NODES | Call by reference | Type reference (TYPE) | ABAP_BOOL | ABAP_FALSE | Knoten für INCLUDE und Makro-Aufrufe anlegen | 20130311 |
Method CREATE on class CL_ABAP_SYNTAX_TREE has no exception.
Method DESTRUCTOR Signature
Method DESTRUCTOR on class CL_ABAP_SYNTAX_TREE has no parameter.
Method DESTRUCTOR on class CL_ABAP_SYNTAX_TREE has no exception.
Method GET_CATEGORY Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
CATEGORY | Call by reference | Type reference (TYPE) | CHAR1 | Kategorie | 20130304 | ||
2 | ![]() |
NAME_INDEXES | Value transfer | Type reference (TYPE) | T_CATEGORY_MEMBERS | AST-Namen-Indizes zu Kategorie | 20130304 |
Method GET_CATEGORY on class CL_ABAP_SYNTAX_TREE has no exception.
Method GET_NAME_FILTER Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
CATEGORIES | Call by reference | Type reference (TYPE) | T_CATEGORY_FILTER | Filter für AST-Kategorien | 20130312 | ||
2 | ![]() |
NAME_FILTER | Value transfer | Type reference (TYPE) | T_NAME_FILTER | AST-Namens-Indexintervalle | 20130312 | ||
3 | ![]() |
NAME_RANGE | Call by reference | Type reference (TYPE) | T_NAMERANGE | Ranges-Tabelle von AST-Namen | 20130312 |
Method GET_NAME_FILTER on class CL_ABAP_SYNTAX_TREE has no exception.
Method GET_NODES Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
AXIS | Call by reference | Type reference (TYPE) | T_AXIS | AX_DESCENDANT | Achse (Konstanten AX_*) | 20130222 | |
2 | ![]() |
FILTER_MODE | Call by reference | Type reference (TYPE) | T_FILTERMODE | FM_RECURSIVELY | Filter-Modus (Konstanten FM_*) | 20130305 | |
3 | ![]() |
NAME_FILTER | Call by reference | Type reference (TYPE) | T_NAME_FILTER | Filter: AST-Namens-Indexintervalle | 20130312 | ||
4 | ![]() |
NODE | Call by reference | Type reference (TYPE) | T_NODEINFO | Erster Knoten | 20130222 | ||
5 | ![]() |
NODES | Value transfer | Type reference (TYPE) | T_NODEINFOTAB | Knotenmenge | 20130222 | ||
6 | ![]() |
NODE_INDEX | Call by reference | Type reference (TYPE) | I | 0 | Knotenindex (0: alle) | 20130222 | |
7 | ![]() |
RULE_PROPS | Call by reference | Type reference (TYPE) | T_RULEPROP_FILTER | Filter: Regeleigenschaften | 20130227 |
Method GET_NODES on class CL_ABAP_SYNTAX_TREE has no exception.
Method INITIALIZE_CLASS Signature
Method INITIALIZE_CLASS on class CL_ABAP_SYNTAX_TREE has no parameter.
Method INITIALIZE_CLASS on class CL_ABAP_SYNTAX_TREE has no exception.
Method TO_XML Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
DIAGNOSTIC | Call by reference | Type reference (TYPE) | ABAP_BOOL | ABAP_FALSE | Zusatzinformationen in XML | 20130207 | |
2 | ![]() |
DISCARD_STREAM | Call by reference | Type reference (TYPE) | ABAP_BOOL | ABAP_TRUE | Eingabestrom verwerfen | 20130221 | |
3 | ![]() |
NAME_FILTER | Call by reference | Type reference (TYPE) | T_NAME_FILTER | Filter: AST-Namens-Indexintervalle | 20130312 | ||
4 | ![]() |
RULE_PROPS | Call by reference | Type reference (TYPE) | T_RULEPROP_FILTER | Filter: Regeleigenschaften | 20130227 | ||
5 | ![]() |
WITH_ORPHAN_TEXT | Call by reference | Type reference (TYPE) | ABAP_BOOL | ABAP_FALSE | Source außerhalb von AST-Knoten aufnehmen | 20130315 | |
6 | ![]() |
WRITER | Call by reference | Object reference (TYPE REF TO) | CL_SXML_WRITER | XML-Writer der sXML-Bibliothek | 20130205 |
Method TO_XML on class CL_ABAP_SYNTAX_TREE has no exception.
Method TO_XML_WITH_SRC Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
ASTXML_SRC_PAIRS | Value transfer | Type reference (TYPE) | T_ASTSRCTAB | Ergebnis | 20130207 | ||
2 | ![]() |
DIAGNOSTIC | Call by reference | Type reference (TYPE) | ABAP_BOOL | ABAP_FALSE | Zusatzinformationen in XML | 20130207 | |
3 | ![]() |
DISCARD_STREAM | Call by reference | Type reference (TYPE) | ABAP_BOOL | ABAP_TRUE | Eingabestrom verwerfen | 20130221 | |
4 | ![]() |
NAME_FILTER | Call by reference | Type reference (TYPE) | T_NAME_FILTER | Filter: AST-Namens-Indexintervalle | 20130312 | ||
5 | ![]() |
RULE_PROPS | Call by reference | Type reference (TYPE) | T_RULEPROP_FILTER | Filter: Regeleigenschaften | 20130227 | ||
6 | ![]() |
WITH_ORPHAN_TEXT | Call by reference | Type reference (TYPE) | ABAP_BOOL | ABAP_FALSE | Source außerhalb von AST-Knoten aufnehmen | 20130315 |
Method TO_XML_WITH_SRC on class CL_ABAP_SYNTAX_TREE has no exception.
History
Last changed by/on | SAP | 20140121 |
SAP Release Created in | 740 |