GNU Octave
3.8.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
libinterp
parse-tree
pt-walk.h
Go to the documentation of this file.
1
/*
2
3
Copyright (C) 1996-2013 John W. Eaton
4
5
This file is part of Octave.
6
7
Octave is free software; you can redistribute it and/or modify it
8
under the terms of the GNU General Public License as published by the
9
Free Software Foundation; either version 3 of the License, or (at your
10
option) any later version.
11
12
Octave is distributed in the hope that it will be useful, but WITHOUT
13
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15
for more details.
16
17
You should have received a copy of the GNU General Public License
18
along with Octave; see the file COPYING. If not, see
19
<http://www.gnu.org/licenses/>.
20
21
*/
22
23
#if !defined (octave_pt_walk_h)
24
#define octave_pt_walk_h 1
25
26
class
tree_anon_fcn_handle
;
27
class
tree_argument_list
;
28
class
tree_binary_expression
;
29
class
tree_break_command
;
30
class
tree_colon_expression
;
31
class
tree_continue_command
;
32
class
tree_global_command
;
33
class
tree_persistent_command
;
34
class
tree_decl_elt
;
35
class
tree_decl_init_list
;
36
class
tree_simple_for_command
;
37
class
tree_complex_for_command
;
38
class
octave_user_script
;
39
class
octave_user_function
;
40
class
tree_function_def
;
41
class
tree_identifier
;
42
class
tree_if_clause
;
43
class
tree_if_command
;
44
class
tree_if_command_list
;
45
class
tree_switch_case
;
46
class
tree_switch_case_list
;
47
class
tree_switch_command
;
48
class
tree_index_expression
;
49
class
tree_matrix
;
50
class
tree_cell
;
51
class
tree_multi_assignment
;
52
class
tree_no_op_command
;
53
class
tree_constant
;
54
class
tree_fcn_handle
;
55
class
tree_parameter_list
;
56
class
tree_postfix_expression
;
57
class
tree_prefix_expression
;
58
class
tree_return_command
;
59
class
tree_return_list
;
60
class
tree_simple_assignment
;
61
class
tree_statement
;
62
class
tree_statement_list
;
63
class
tree_try_catch_command
;
64
class
tree_unwind_protect_command
;
65
class
tree_while_command
;
66
class
tree_do_until_command
;
67
68
class
69
tree_walker
70
{
71
public
:
72
73
virtual
void
74
visit_anon_fcn_handle (
tree_anon_fcn_handle
&) = 0;
75
76
virtual
void
77
visit_argument_list (
tree_argument_list
&) = 0;
78
79
virtual
void
80
visit_binary_expression (
tree_binary_expression
&) = 0;
81
82
virtual
void
83
visit_break_command (
tree_break_command
&) = 0;
84
85
virtual
void
86
visit_colon_expression (
tree_colon_expression
&) = 0;
87
88
virtual
void
89
visit_continue_command (
tree_continue_command
&) = 0;
90
91
virtual
void
92
visit_global_command (
tree_global_command
&) = 0;
93
94
virtual
void
95
visit_persistent_command (
tree_persistent_command
&) = 0;
96
97
virtual
void
98
visit_decl_elt (
tree_decl_elt
&) = 0;
99
100
virtual
void
101
visit_decl_init_list (
tree_decl_init_list
&) = 0;
102
103
virtual
void
104
visit_simple_for_command (
tree_simple_for_command
&) = 0;
105
106
virtual
void
107
visit_complex_for_command (
tree_complex_for_command
&) = 0;
108
109
virtual
void
110
visit_octave_user_script (
octave_user_script
&) = 0;
111
112
virtual
void
113
visit_octave_user_function (
octave_user_function
&) = 0;
114
115
virtual
void
116
visit_function_def (
tree_function_def
&) = 0;
117
118
virtual
void
119
visit_identifier (
tree_identifier
&) = 0;
120
121
virtual
void
122
visit_if_clause (
tree_if_clause
&) = 0;
123
124
virtual
void
125
visit_if_command (
tree_if_command
&) = 0;
126
127
virtual
void
128
visit_if_command_list (
tree_if_command_list
&) = 0;
129
130
virtual
void
131
visit_switch_case (
tree_switch_case
&) = 0;
132
133
virtual
void
134
visit_switch_case_list (
tree_switch_case_list
&) = 0;
135
136
virtual
void
137
visit_switch_command (
tree_switch_command
&) = 0;
138
139
virtual
void
140
visit_index_expression (
tree_index_expression
&) = 0;
141
142
virtual
void
143
visit_matrix (
tree_matrix
&) = 0;
144
145
virtual
void
146
visit_cell (
tree_cell
&) = 0;
147
148
virtual
void
149
visit_multi_assignment (
tree_multi_assignment
&) = 0;
150
151
virtual
void
152
visit_no_op_command (
tree_no_op_command
&) = 0;
153
154
virtual
void
155
visit_constant (
tree_constant
&) = 0;
156
157
virtual
void
158
visit_fcn_handle (
tree_fcn_handle
&) = 0;
159
160
virtual
void
161
visit_parameter_list (
tree_parameter_list
&) = 0;
162
163
virtual
void
164
visit_postfix_expression (
tree_postfix_expression
&) = 0;
165
166
virtual
void
167
visit_prefix_expression (
tree_prefix_expression
&) = 0;
168
169
virtual
void
170
visit_return_command (
tree_return_command
&) = 0;
171
172
virtual
void
173
visit_return_list (
tree_return_list
&) = 0;
174
175
virtual
void
176
visit_simple_assignment (
tree_simple_assignment
&) = 0;
177
178
virtual
void
179
visit_statement (
tree_statement
&) = 0;
180
181
virtual
void
182
visit_statement_list (
tree_statement_list
&) = 0;
183
184
virtual
void
185
visit_try_catch_command (
tree_try_catch_command
&) = 0;
186
187
virtual
void
188
visit_unwind_protect_command (
tree_unwind_protect_command
&) = 0;
189
190
virtual
void
191
visit_while_command (
tree_while_command
&) = 0;
192
193
virtual
void
194
visit_do_until_command (
tree_do_until_command
&) = 0;
195
196
protected
:
197
198
tree_walker
(
void
) { }
199
200
virtual
~tree_walker
(
void
) { }
201
202
private
:
203
204
// No copying!
205
206
tree_walker
(
const
tree_walker
&);
207
208
tree_walker
&
operator =
(
const
tree_walker
&);
209
};
210
211
#endif
Generated on Mon Dec 30 2013 03:04:38 for GNU Octave by
1.8.1.2