GNU Octave  3.8.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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,
122  GET = 331,
123  SET = 332,
124  FCN = 333,
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.
228 
229  // Types for the nonterminals we generate.
230  char sep_type;
231  tree *tree_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 
274 
275 #if defined __STDC__ || defined __cplusplus
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
287 #else
288 int octave_pull_parse ();
289 #endif
290 #if defined __STDC__ || defined __cplusplus
292 #else
294 #endif
295 #if defined __STDC__ || defined __cplusplus
297 #else
298 void octave_pstate_delete ();
299 #endif
300 
301 #endif /* !YY_OCTAVE_PARSE_TREE_OCT_PARSE_H_INCLUDED */