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
oct-parse.h
Go to the documentation of this file.
1
/* A Bison parser, made by GNU Bison 2.7.12-4996. */
2
3
/* Bison interface for Yacc-like parsers in C
4
5
Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
6
7
This program is free software: you can redistribute it and/or modify
8
it under the terms of the GNU General Public License as published by
9
the Free Software Foundation, either version 3 of the License, or
10
(at your option) any later version.
11
12
This program is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
GNU General Public License for more details.
16
17
You should have received a copy of the GNU General Public License
18
along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
20
/* As a special exception, you may create a larger work that contains
21
part or all of the Bison parser skeleton and distribute that work
22
under terms of your choice, so long as that work isn't itself a
23
parser generator using the skeleton or a modified version thereof
24
as a parser skeleton. Alternatively, if you modify or redistribute
25
the parser skeleton itself, you may (at your option) remove this
26
special exception, which will cause the skeleton and the resulting
27
Bison output files to be licensed under the GNU General Public
28
License without this special exception.
29
30
This special exception was added by the Free Software Foundation in
31
version 2.2 of Bison. */
32
33
#ifndef YY_OCTAVE_PARSE_TREE_OCT_PARSE_H_INCLUDED
34
# define YY_OCTAVE_PARSE_TREE_OCT_PARSE_H_INCLUDED
35
/* Enabling traces. */
36
#ifndef YYDEBUG
37
# define YYDEBUG 0
38
#endif
39
#if YYDEBUG
40
extern
int
octave_debug
;
41
#endif
42
43
/* Tokens. */
44
#ifndef YYTOKENTYPE
45
# define YYTOKENTYPE
46
/* Put the tokens into the symbol table, so that GDB and other debuggers
47
know about them. */
48
enum
yytokentype
{
49
ADD_EQ
= 258,
50
SUB_EQ
= 259,
51
MUL_EQ
= 260,
52
DIV_EQ
= 261,
53
LEFTDIV_EQ
= 262,
54
POW_EQ
= 263,
55
EMUL_EQ
= 264,
56
EDIV_EQ
= 265,
57
ELEFTDIV_EQ
= 266,
58
EPOW_EQ
= 267,
59
AND_EQ
= 268,
60
OR_EQ
= 269,
61
LSHIFT_EQ
= 270,
62
RSHIFT_EQ
= 271,
63
LSHIFT
= 272,
64
RSHIFT
= 273,
65
EXPR_AND_AND
= 274,
66
EXPR_OR_OR
= 275,
67
EXPR_AND
= 276,
68
EXPR_OR
= 277,
69
EXPR_NOT
= 278,
70
EXPR_LT
= 279,
71
EXPR_LE
= 280,
72
EXPR_EQ
= 281,
73
EXPR_NE
= 282,
74
EXPR_GE
= 283,
75
EXPR_GT
= 284,
76
LEFTDIV
= 285,
77
EMUL
= 286,
78
EDIV
= 287,
79
ELEFTDIV
= 288,
80
EPLUS
= 289,
81
EMINUS
= 290,
82
HERMITIAN
= 291,
83
TRANSPOSE
= 292,
84
PLUS_PLUS
= 293,
85
MINUS_MINUS
= 294,
86
POW
= 295,
87
EPOW
= 296,
88
NUM
= 297,
89
IMAG_NUM
= 298,
90
STRUCT_ELT
= 299,
91
NAME
= 300,
92
END
= 301,
93
DQ_STRING
= 302,
94
SQ_STRING
= 303,
95
FOR
= 304,
96
PARFOR
= 305,
97
WHILE
= 306,
98
DO
= 307,
99
UNTIL
= 308,
100
IF
= 309,
101
ELSEIF
= 310,
102
ELSE
= 311,
103
SWITCH
= 312,
104
CASE
= 313,
105
OTHERWISE
= 314,
106
BREAK
= 315,
107
CONTINUE
= 316,
108
FUNC_RET
= 317,
109
UNWIND
= 318,
110
CLEANUP
= 319,
111
TRY
= 320,
112
CATCH
= 321,
113
GLOBAL
= 322,
114
PERSISTENT
= 323,
115
FCN_HANDLE
= 324,
116
PROPERTIES
= 325,
117
METHODS
= 326,
118
EVENTS
= 327,
119
ENUMERATION
= 328,
120
METAQUERY
= 329,
121
SUPERCLASSREF
= 330,
122
GET
= 331,
123
SET
= 332,
124
FCN
= 333,
125
END_OF_INPUT
= 334,
126
LEXICAL_ERROR
= 335,
127
INPUT_FILE
= 336,
128
CLASSDEF
= 337,
129
UNARY
= 338
130
};
131
#endif
132
/* Tokens. */
133
#define ADD_EQ 258
134
#define SUB_EQ 259
135
#define MUL_EQ 260
136
#define DIV_EQ 261
137
#define LEFTDIV_EQ 262
138
#define POW_EQ 263
139
#define EMUL_EQ 264
140
#define EDIV_EQ 265
141
#define ELEFTDIV_EQ 266
142
#define EPOW_EQ 267
143
#define AND_EQ 268
144
#define OR_EQ 269
145
#define LSHIFT_EQ 270
146
#define RSHIFT_EQ 271
147
#define LSHIFT 272
148
#define RSHIFT 273
149
#define EXPR_AND_AND 274
150
#define EXPR_OR_OR 275
151
#define EXPR_AND 276
152
#define EXPR_OR 277
153
#define EXPR_NOT 278
154
#define EXPR_LT 279
155
#define EXPR_LE 280
156
#define EXPR_EQ 281
157
#define EXPR_NE 282
158
#define EXPR_GE 283
159
#define EXPR_GT 284
160
#define LEFTDIV 285
161
#define EMUL 286
162
#define EDIV 287
163
#define ELEFTDIV 288
164
#define EPLUS 289
165
#define EMINUS 290
166
#define HERMITIAN 291
167
#define TRANSPOSE 292
168
#define PLUS_PLUS 293
169
#define MINUS_MINUS 294
170
#define POW 295
171
#define EPOW 296
172
#define NUM 297
173
#define IMAG_NUM 298
174
#define STRUCT_ELT 299
175
#define NAME 300
176
#define END 301
177
#define DQ_STRING 302
178
#define SQ_STRING 303
179
#define FOR 304
180
#define PARFOR 305
181
#define WHILE 306
182
#define DO 307
183
#define UNTIL 308
184
#define IF 309
185
#define ELSEIF 310
186
#define ELSE 311
187
#define SWITCH 312
188
#define CASE 313
189
#define OTHERWISE 314
190
#define BREAK 315
191
#define CONTINUE 316
192
#define FUNC_RET 317
193
#define UNWIND 318
194
#define CLEANUP 319
195
#define TRY 320
196
#define CATCH 321
197
#define GLOBAL 322
198
#define PERSISTENT 323
199
#define FCN_HANDLE 324
200
#define PROPERTIES 325
201
#define METHODS 326
202
#define EVENTS 327
203
#define ENUMERATION 328
204
#define METAQUERY 329
205
#define SUPERCLASSREF 330
206
#define GET 331
207
#define SET 332
208
#define FCN 333
209
#define END_OF_INPUT 334
210
#define LEXICAL_ERROR 335
211
#define INPUT_FILE 336
212
#define CLASSDEF 337
213
#define UNARY 338
214
215
216
217
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
218
typedef
union
YYSTYPE
219
{
220
/* Line 2053 of yacc.c */
221
#line 152 "parse-tree/oct-parse.yy"
222
223
// The type of the basic tokens returned by the lexer.
224
token
*
tok_val
;
225
226
// Comment strings that we need to deal with mid-rule.
227
octave_comment_list
*
comment_type
;
228
229
// Types for the nonterminals we generate.
230
char
sep_type
;
231
tree
*
tree_type
;
232
tree_matrix
*
tree_matrix_type
;
233
tree_cell
*
tree_cell_type
;
234
tree_expression
*
tree_expression_type
;
235
tree_constant
*
tree_constant_type
;
236
tree_fcn_handle
*
tree_fcn_handle_type
;
237
tree_anon_fcn_handle
*
tree_anon_fcn_handle_type
;
238
tree_identifier
*
tree_identifier_type
;
239
tree_index_expression
*
tree_index_expression_type
;
240
tree_colon_expression
*
tree_colon_expression_type
;
241
tree_argument_list
*
tree_argument_list_type
;
242
tree_parameter_list
*
tree_parameter_list_type
;
243
tree_command
*
tree_command_type
;
244
tree_if_command
*
tree_if_command_type
;
245
tree_if_clause
*
tree_if_clause_type
;
246
tree_if_command_list
*
tree_if_command_list_type
;
247
tree_switch_command
*
tree_switch_command_type
;
248
tree_switch_case
*
tree_switch_case_type
;
249
tree_switch_case_list
*
tree_switch_case_list_type
;
250
tree_decl_elt
*
tree_decl_elt_type
;
251
tree_decl_init_list
*
tree_decl_init_list_type
;
252
tree_decl_command
*
tree_decl_command_type
;
253
tree_statement
*
tree_statement_type
;
254
tree_statement_list
*
tree_statement_list_type
;
255
octave_user_function
*
octave_user_function_type
;
256
void
*
dummy_type
;
257
258
259
/* Line 2053 of yacc.c */
260
#line 261 "parse-tree/oct-parse.h"
261
}
YYSTYPE
;
262
# define YYSTYPE_IS_TRIVIAL 1
263
# define yystype YYSTYPE
/* obsolescent; will be withdrawn */
264
# define YYSTYPE_IS_DECLARED 1
265
#endif
266
267
268
#ifndef YYPUSH_MORE_DEFINED
269
# define YYPUSH_MORE_DEFINED
270
enum
{
YYPUSH_MORE
= 4 };
271
#endif
272
273
typedef
struct
octave_pstate
octave_pstate
;
274
275
#if defined __STDC__ || defined __cplusplus
276
int
octave_parse
(
octave_base_parser
&
parser
);
277
#else
278
int
octave_parse
();
279
#endif
280
#if defined __STDC__ || defined __cplusplus
281
int
octave_push_parse
(
octave_pstate
*ps,
int
pushed_char,
YYSTYPE
const
*pushed_val,
octave_base_parser
&
parser
);
282
#else
283
int
octave_push_parse
();
284
#endif
285
#if defined __STDC__ || defined __cplusplus
286
int
octave_pull_parse
(
octave_pstate
*ps,
octave_base_parser
&
parser
);
287
#else
288
int
octave_pull_parse
();
289
#endif
290
#if defined __STDC__ || defined __cplusplus
291
octave_pstate
*
octave_pstate_new
(
void
);
292
#else
293
octave_pstate
*
octave_pstate_new
();
294
#endif
295
#if defined __STDC__ || defined __cplusplus
296
void
octave_pstate_delete
(
octave_pstate
*ps);
297
#else
298
void
octave_pstate_delete
();
299
#endif
300
301
#endif
/* !YY_OCTAVE_PARSE_TREE_OCT_PARSE_H_INCLUDED */
Generated on Mon Dec 30 2013 03:04:37 for GNU Octave by
1.8.1.2