GNU Octave
11.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
Loading...
Searching...
No Matches
pt-walk.h
Go to the documentation of this file.
1
////////////////////////////////////////////////////////////////////////
2
//
3
// Copyright (C) 1996-2026 The Octave Project Developers
4
//
5
// See the file COPYRIGHT.md in the top-level directory of this
6
// distribution or <https://octave.org/copyright/>.
7
//
8
// This file is part of Octave.
9
//
10
// Octave is free software: you can redistribute it and/or modify it
11
// under the terms of the GNU General Public License as published by
12
// the Free Software Foundation, either version 3 of the License, or
13
// (at your option) any later version.
14
//
15
// Octave is distributed in the hope that it will be useful, but
16
// WITHOUT ANY WARRANTY; without even the implied warranty of
17
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
// GNU General Public License for more details.
19
//
20
// You should have received a copy of the GNU General Public License
21
// along with Octave; see the file COPYING. If not, see
22
// <https://www.gnu.org/licenses/>.
23
//
24
////////////////////////////////////////////////////////////////////////
25
26
#if ! defined (octave_pt_walk_h)
27
#define octave_pt_walk_h 1
28
29
#include "octave-config.h"
30
31
class
octave_user_script
;
32
class
octave_user_function
;
33
34
OCTAVE_BEGIN_NAMESPACE
(octave)
35
36
// No separate visitor needed
37
// Base classes only, so no need to include them.
38
//
39
// class tree_array_list
40
// class tree_unary_expression
41
// class tree_black_hole
42
43
class
tree_anon_fcn_handle
;
44
class
tree_arg_size_spec
;
45
class
tree_arg_validation
;
46
class
tree_arg_validation_fcns
;
47
class
tree_args_block_attribute_list
;
48
class
tree_args_block_validation_list
;
49
class
tree_argument_list
;
50
class
tree_arguments_block
;
51
class
tree_binary_expression
;
52
class
tree_boolean_expression
;
53
class
tree_compound_binary_expression
;
54
class
tree_break_command
;
55
class
tree_colon_expression
;
56
class
tree_continue_command
;
57
class
tree_decl_command
;
58
class
tree_decl_init_list
;
59
class
tree_decl_elt
;
60
class
tree_simple_for_command
;
61
class
tree_complex_for_command
;
62
class
tree_spmd_command
;
63
class
tree_function_def
;
64
class
tree_identifier
;
65
class
tree_if_clause
;
66
class
tree_if_command
;
67
class
tree_if_command_list
;
68
class
tree_switch_case
;
69
class
tree_switch_case_list
;
70
class
tree_switch_command
;
71
class
tree_index_expression
;
72
class
tree_matrix
;
73
class
tree_cell
;
74
class
tree_multi_assignment
;
75
class
tree_no_op_command
;
76
class
tree_constant
;
77
class
tree_fcn_handle
;
78
class
tree_parameter_list
;
79
class
tree_postfix_expression
;
80
class
tree_prefix_expression
;
81
class
tree_return_command
;
82
class
tree_simple_assignment
;
83
class
tree_statement
;
84
class
tree_statement_list
;
85
class
tree_try_catch_command
;
86
class
tree_unwind_protect_command
;
87
class
tree_while_command
;
88
class
tree_do_until_command
;
89
90
class
tree_superclass_ref
;
91
class
tree_metaclass_query
;
92
class
tree_classdef_attribute
;
93
class
tree_classdef_attribute_list
;
94
class
tree_classdef_superclass
;
95
class
tree_classdef_superclass_list
;
96
class
tree_classdef_property
;
97
class
tree_classdef_property_list
;
98
class
tree_classdef_properties_block
;
99
class
tree_classdef_method_list
;
100
class
tree_classdef_methods_block
;
101
class
tree_classdef_event
;
102
class
tree_classdef_event_list
;
103
class
tree_classdef_events_block
;
104
class
tree_classdef_enum
;
105
class
tree_classdef_enum_list
;
106
class
tree_classdef_enum_block
;
107
class
tree_classdef_body
;
108
class
tree_classdef
;
109
110
class
OCTINTERP_API
tree_walker
111
{
112
protected
:
113
114
tree_walker
() { }
115
116
virtual
~tree_walker
() =
default
;
117
118
public
:
119
120
OCTAVE_DISABLE_COPY_MOVE (
tree_walker
)
121
122
virtual
void
visit_anon_fcn_handle (
tree_anon_fcn_handle
&);
123
124
virtual
void
visit_argument_list (
tree_argument_list
&);
125
126
virtual
void
visit_arguments_block (
tree_arguments_block
&);
127
128
virtual
void
visit_args_block_attribute_list (
tree_args_block_attribute_list
&);
129
130
virtual
void
visit_args_block_validation_list (
tree_args_block_validation_list
&);
131
132
virtual
void
visit_arg_validation (
tree_arg_validation
&);
133
134
virtual
void
visit_arg_size_spec (
tree_arg_size_spec
&);
135
136
virtual
void
visit_arg_validation_fcns (
tree_arg_validation_fcns
&);
137
138
virtual
void
visit_binary_expression (
tree_binary_expression
&);
139
140
virtual
void
visit_boolean_expression (
tree_boolean_expression
&);
141
142
virtual
void
visit_compound_binary_expression (
tree_compound_binary_expression
&);
143
144
virtual
void
visit_break_command (
tree_break_command
&);
145
146
virtual
void
visit_colon_expression (
tree_colon_expression
&);
147
148
virtual
void
visit_continue_command (
tree_continue_command
&);
149
150
virtual
void
visit_decl_command (
tree_decl_command
&);
151
152
virtual
void
visit_decl_elt (
tree_decl_elt
&);
153
154
virtual
void
visit_decl_init_list (
tree_decl_init_list
&);
155
156
virtual
void
visit_simple_for_command (
tree_simple_for_command
&);
157
158
virtual
void
visit_complex_for_command (
tree_complex_for_command
&);
159
160
virtual
void
visit_spmd_command (
tree_spmd_command
&);
161
162
virtual
void
visit_octave_user_script (
octave_user_script
&);
163
164
virtual
void
visit_octave_user_function (
octave_user_function
&);
165
166
virtual
void
visit_function_def (
tree_function_def
&);
167
168
virtual
void
visit_identifier (
tree_identifier
&);
169
170
virtual
void
visit_if_clause (
tree_if_clause
&);
171
172
virtual
void
visit_if_command (
tree_if_command
&);
173
174
virtual
void
visit_if_command_list (
tree_if_command_list
&);
175
176
virtual
void
visit_switch_case (
tree_switch_case
&);
177
178
virtual
void
visit_switch_case_list (
tree_switch_case_list
&);
179
180
virtual
void
visit_switch_command (
tree_switch_command
&);
181
182
virtual
void
visit_index_expression (
tree_index_expression
&);
183
184
virtual
void
visit_matrix (
tree_matrix
&);
185
186
virtual
void
visit_cell (
tree_cell
&);
187
188
virtual
void
visit_multi_assignment (
tree_multi_assignment
&);
189
190
virtual
void
visit_no_op_command (
tree_no_op_command
&);
191
192
virtual
void
visit_constant (
tree_constant
&);
193
194
virtual
void
visit_fcn_handle (
tree_fcn_handle
&);
195
196
virtual
void
visit_parameter_list (
tree_parameter_list
&);
197
198
virtual
void
visit_postfix_expression (
tree_postfix_expression
&);
199
200
virtual
void
visit_prefix_expression (
tree_prefix_expression
&);
201
202
virtual
void
visit_return_command (
tree_return_command
&);
203
204
virtual
void
visit_simple_assignment (
tree_simple_assignment
&);
205
206
virtual
void
visit_statement (
tree_statement
&);
207
208
virtual
void
visit_statement_list (
tree_statement_list
&);
209
210
virtual
void
visit_try_catch_command (
tree_try_catch_command
&);
211
212
virtual
void
visit_unwind_protect_command (
tree_unwind_protect_command
&);
213
214
virtual
void
visit_while_command (
tree_while_command
&);
215
216
virtual
void
visit_do_until_command (
tree_do_until_command
&);
217
218
virtual
void
visit_superclass_ref (
tree_superclass_ref
&);
219
220
virtual
void
visit_metaclass_query (
tree_metaclass_query
&);
221
222
virtual
void
visit_classdef_attribute (
tree_classdef_attribute
&);
223
224
virtual
void
visit_classdef_attribute_list (
tree_classdef_attribute_list
&);
225
226
virtual
void
visit_classdef_superclass (
tree_classdef_superclass
&);
227
228
virtual
void
visit_classdef_superclass_list (
tree_classdef_superclass_list
&);
229
230
virtual
void
visit_classdef_property (
tree_classdef_property
&);
231
232
virtual
void
visit_classdef_property_list (
tree_classdef_property_list
&);
233
234
virtual
void
visit_classdef_properties_block (
tree_classdef_properties_block
&);
235
236
virtual
void
visit_classdef_method_list (
tree_classdef_method_list
&);
237
238
virtual
void
visit_classdef_methods_block (
tree_classdef_methods_block
&);
239
240
virtual
void
visit_classdef_event (
tree_classdef_event
&);
241
242
virtual
void
visit_classdef_event_list (
tree_classdef_event_list
&);
243
244
virtual
void
visit_classdef_events_block (
tree_classdef_events_block
&);
245
246
virtual
void
visit_classdef_enum (
tree_classdef_enum
&);
247
248
virtual
void
visit_classdef_enum_list (
tree_classdef_enum_list
&);
249
250
virtual
void
visit_classdef_enum_block (
tree_classdef_enum_block
&);
251
252
virtual
void
visit_classdef_body (
tree_classdef_body
&);
253
254
virtual
void
visit_classdef (
tree_classdef
&);
255
};
256
257
OCTAVE_END_NAMESPACE(octave)
258
259
#endif
octave_user_function
Definition
ov-usr-fcn.h:214
octave_user_script
Definition
ov-usr-fcn.h:160
tree_anon_fcn_handle
Definition
pt-fcn-handle.h:99
tree_arg_size_spec
Definition
pt-args-block.h:47
tree_arg_validation_fcns
Definition
pt-args-block.h:74
tree_arg_validation
Definition
pt-args-block.h:101
tree_args_block_attribute_list
Definition
pt-args-block.h:188
tree_args_block_validation_list
Definition
pt-args-block.h:163
tree_argument_list
Definition
pt-arg-list.h:53
tree_arguments_block
Definition
pt-args-block.h:217
tree_binary_expression
Definition
pt-binop.h:47
tree_boolean_expression
Definition
pt-binop.h:160
tree_break_command
Definition
pt-jump.h:64
tree_cell
Definition
pt-cell.h:47
tree_classdef_attribute_list
Definition
pt-classdef.h:206
tree_classdef_attribute
Definition
pt-classdef.h:148
tree_classdef_body
Definition
pt-classdef.h:635
tree_classdef_enum_block
Definition
pt-classdef.h:613
tree_classdef_enum_list
Definition
pt-classdef.h:591
tree_classdef_enum
Definition
pt-classdef.h:553
tree_classdef_event_list
Definition
pt-classdef.h:511
tree_classdef_event
Definition
pt-classdef.h:486
tree_classdef_events_block
Definition
pt-classdef.h:533
tree_classdef_method_list
Definition
pt-classdef.h:445
tree_classdef_methods_block
Definition
pt-classdef.h:466
tree_classdef_properties_block
Definition
pt-classdef.h:425
tree_classdef_property_list
Definition
pt-classdef.h:404
tree_classdef_property
Definition
pt-classdef.h:368
tree_classdef_superclass_list
Definition
pt-classdef.h:277
tree_classdef_superclass
Definition
pt-classdef.h:240
tree_classdef
Definition
pt-classdef.h:735
tree_colon_expression
Definition
pt-colon.h:46
tree_complex_for_command
Definition
pt-loop.h:214
tree_compound_binary_expression
Definition
pt-cbinop.h:45
tree_constant
Definition
pt-const.h:49
tree_continue_command
Definition
pt-jump.h:84
tree_decl_command
Definition
pt-decl.h:205
tree_decl_elt
Definition
pt-decl.h:49
tree_decl_init_list
Definition
pt-decl.h:114
tree_do_until_command
Definition
pt-loop.h:92
tree_fcn_handle
Definition
pt-fcn-handle.h:49
tree_function_def
Definition
pt-cmd.h:121
tree_identifier
Definition
pt-id.h:53
tree_if_clause
Definition
pt-select.h:48
tree_if_command_list
Definition
pt-select.h:90
tree_if_command
Definition
pt-select.h:163
tree_index_expression
Definition
pt-idx.h:52
tree_matrix
Definition
pt-mat.h:49
tree_metaclass_query
Definition
pt-classdef.h:105
tree_multi_assignment
Definition
pt-assign.h:123
tree_no_op_command
Definition
pt-cmd.h:64
tree_parameter_list
Definition
pt-misc.h:47
tree_postfix_expression
Definition
pt-unop.h:131
tree_prefix_expression
Definition
pt-unop.h:92
tree_return_command
Definition
pt-jump.h:104
tree_simple_assignment
Definition
pt-assign.h:53
tree_simple_for_command
Definition
pt-loop.h:138
tree_spmd_command
Definition
pt-spmd.h:42
tree_statement_list
Definition
pt-stmt.h:143
tree_statement
Definition
pt-stmt.h:53
tree_superclass_ref
Definition
pt-classdef.h:49
tree_switch_case_list
Definition
pt-select.h:254
tree_switch_case
Definition
pt-select.h:208
tree_switch_command
Definition
pt-select.h:316
tree_try_catch_command
Definition
pt-except.h:43
tree_unwind_protect_command
Definition
pt-except.h:98
tree_walker
Definition
pt-walk.h:111
tree_walker::~tree_walker
virtual ~tree_walker()=default
tree_walker::tree_walker
tree_walker()
Definition
pt-walk.h:114
tree_while_command
Definition
pt-loop.h:46
OCTAVE_BEGIN_NAMESPACE
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
libinterp
parse-tree
pt-walk.h
Generated on Tue Feb 24 2026 04:49:06 for GNU Octave by
1.9.8