GNU Octave  4.0.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
Classes | Macros | Typedefs | Enumerations | Functions
oct-parse.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

union  OCTAVE_STYPE
 

Macros

#define ADD_EQ   258
 
#define AND_EQ   268
 
#define BREAK   315
 
#define CASE   313
 
#define CATCH   321
 
#define CLASSDEF   325
 
#define CLEANUP   319
 
#define CONTINUE   316
 
#define DIV_EQ   261
 
#define DO   307
 
#define DQ_STRING   302
 
#define EDIV   287
 
#define EDIV_EQ   265
 
#define ELEFTDIV   288
 
#define ELEFTDIV_EQ   266
 
#define ELSE   311
 
#define ELSEIF   310
 
#define EMINUS   290
 
#define EMUL   286
 
#define EMUL_EQ   264
 
#define END   301
 
#define END_OF_INPUT   336
 
#define ENUMERATION   329
 
#define EPLUS   289
 
#define EPOW   296
 
#define EPOW_EQ   267
 
#define EVENTS   328
 
#define EXPR_AND   276
 
#define EXPR_AND_AND   274
 
#define EXPR_EQ   281
 
#define EXPR_GE   283
 
#define EXPR_GT   284
 
#define EXPR_LE   280
 
#define EXPR_LT   279
 
#define EXPR_NE   282
 
#define EXPR_NOT   278
 
#define EXPR_OR   277
 
#define EXPR_OR_OR   275
 
#define FCN   335
 
#define FCN_HANDLE   324
 
#define FOR   304
 
#define FQ_IDENT   332
 
#define FUNC_RET   317
 
#define GET   333
 
#define GLOBAL   322
 
#define HERMITIAN   291
 
#define IF   309
 
#define IMAG_NUM   298
 
#define INPUT_FILE   338
 
#define LEFTDIV   285
 
#define LEFTDIV_EQ   262
 
#define LEXICAL_ERROR   337
 
#define LSHIFT   272
 
#define LSHIFT_EQ   270
 
#define METAQUERY   330
 
#define METHODS   327
 
#define MINUS_MINUS   294
 
#define MUL_EQ   260
 
#define NAME   300
 
#define NUM   297
 
#define OCTAVE_DEBUG   0
 
#define OCTAVE_STYPE_IS_DECLARED   1
 
#define OCTAVE_STYPE_IS_TRIVIAL   1
 
#define OCTAVE_TOKENTYPE
 
#define OR_EQ   269
 
#define OTHERWISE   314
 
#define PARFOR   305
 
#define PERSISTENT   323
 
#define PLUS_PLUS   293
 
#define POW   295
 
#define POW_EQ   263
 
#define PROPERTIES   326
 
#define RSHIFT   273
 
#define RSHIFT_EQ   271
 
#define SET   334
 
#define SQ_STRING   303
 
#define STRUCT_ELT   299
 
#define SUB_EQ   259
 
#define SUPERCLASSREF   331
 
#define SWITCH   312
 
#define TRANSPOSE   292
 
#define TRY   320
 
#define UNARY   339
 
#define UNTIL   308
 
#define UNWIND   318
 
#define WHILE   306
 
#define YYPUSH_MORE_DEFINED
 

Typedefs

typedef struct octave_pstate octave_pstate
 
typedef union OCTAVE_STYPE OCTAVE_STYPE
 

Enumerations

enum  { YYPUSH_MORE = 4 }
 
enum  octave_tokentype {
  ADD_EQ = 258, SUB_EQ = 259, MUL_EQ = 260, DIV_EQ = 261,
  LEFTDIV_EQ = 262, POW_EQ = 263, EMUL_EQ = 264, EDIV_EQ = 265,
  ELEFTDIV_EQ = 266, EPOW_EQ = 267, AND_EQ = 268, OR_EQ = 269,
  LSHIFT_EQ = 270, RSHIFT_EQ = 271, LSHIFT = 272, RSHIFT = 273,
  EXPR_AND_AND = 274, EXPR_OR_OR = 275, EXPR_AND = 276, EXPR_OR = 277,
  EXPR_NOT = 278, EXPR_LT = 279, EXPR_LE = 280, EXPR_EQ = 281,
  EXPR_NE = 282, EXPR_GE = 283, EXPR_GT = 284, LEFTDIV = 285,
  EMUL = 286, EDIV = 287, ELEFTDIV = 288, EPLUS = 289,
  EMINUS = 290, HERMITIAN = 291, TRANSPOSE = 292, PLUS_PLUS = 293,
  MINUS_MINUS = 294, POW = 295, EPOW = 296, NUM = 297,
  IMAG_NUM = 298, STRUCT_ELT = 299, NAME = 300, END = 301,
  DQ_STRING = 302, SQ_STRING = 303, FOR = 304, PARFOR = 305,
  WHILE = 306, DO = 307, UNTIL = 308, IF = 309,
  ELSEIF = 310, ELSE = 311, SWITCH = 312, CASE = 313,
  OTHERWISE = 314, BREAK = 315, CONTINUE = 316, FUNC_RET = 317,
  UNWIND = 318, CLEANUP = 319, TRY = 320, CATCH = 321,
  GLOBAL = 322, PERSISTENT = 323, FCN_HANDLE = 324, CLASSDEF = 325,
  PROPERTIES = 326, METHODS = 327, EVENTS = 328, ENUMERATION = 329,
  METAQUERY = 330, SUPERCLASSREF = 331, FQ_IDENT = 332, GET = 333,
  SET = 334, FCN = 335, END_OF_INPUT = 336, LEXICAL_ERROR = 337,
  INPUT_FILE = 338, UNARY = 339
}
 

Functions

int octave_parse (octave_base_parser &parser)
 
void octave_pstate_delete (octave_pstate *ps)
 
octave_pstateoctave_pstate_new (void)
 
int octave_pull_parse (octave_pstate *ps, octave_base_parser &parser)
 
int octave_push_parse (octave_pstate *ps, int pushed_char, OCTAVE_STYPE const *pushed_val, octave_base_parser &parser)
 

Macro Definition Documentation

#define ADD_EQ   258

Definition at line 141 of file oct-parse.h.

#define AND_EQ   268

Definition at line 151 of file oct-parse.h.

#define BREAK   315

Definition at line 198 of file oct-parse.h.

#define CASE   313

Definition at line 196 of file oct-parse.h.

#define CATCH   321

Definition at line 204 of file oct-parse.h.

#define CLASSDEF   325

Definition at line 208 of file oct-parse.h.

#define CLEANUP   319

Definition at line 202 of file oct-parse.h.

#define CONTINUE   316

Definition at line 199 of file oct-parse.h.

#define DIV_EQ   261

Definition at line 144 of file oct-parse.h.

#define DO   307

Definition at line 190 of file oct-parse.h.

#define DQ_STRING   302

Definition at line 185 of file oct-parse.h.

#define EDIV   287

Definition at line 170 of file oct-parse.h.

#define EDIV_EQ   265

Definition at line 148 of file oct-parse.h.

#define ELEFTDIV   288

Definition at line 171 of file oct-parse.h.

#define ELEFTDIV_EQ   266

Definition at line 149 of file oct-parse.h.

#define ELSE   311

Definition at line 194 of file oct-parse.h.

#define ELSEIF   310

Definition at line 193 of file oct-parse.h.

#define EMINUS   290

Definition at line 173 of file oct-parse.h.

#define EMUL   286

Definition at line 169 of file oct-parse.h.

#define EMUL_EQ   264

Definition at line 147 of file oct-parse.h.

#define END   301

Definition at line 184 of file oct-parse.h.

#define END_OF_INPUT   336

Definition at line 219 of file oct-parse.h.

#define ENUMERATION   329

Definition at line 212 of file oct-parse.h.

#define EPLUS   289

Definition at line 172 of file oct-parse.h.

#define EPOW   296

Definition at line 179 of file oct-parse.h.

#define EPOW_EQ   267

Definition at line 150 of file oct-parse.h.

#define EVENTS   328

Definition at line 211 of file oct-parse.h.

#define EXPR_AND   276

Definition at line 159 of file oct-parse.h.

#define EXPR_AND_AND   274

Definition at line 157 of file oct-parse.h.

#define EXPR_EQ   281

Definition at line 164 of file oct-parse.h.

#define EXPR_GE   283

Definition at line 166 of file oct-parse.h.

#define EXPR_GT   284

Definition at line 167 of file oct-parse.h.

#define EXPR_LE   280

Definition at line 163 of file oct-parse.h.

#define EXPR_LT   279

Definition at line 162 of file oct-parse.h.

#define EXPR_NE   282

Definition at line 165 of file oct-parse.h.

#define EXPR_NOT   278

Definition at line 161 of file oct-parse.h.

#define EXPR_OR   277

Definition at line 160 of file oct-parse.h.

#define EXPR_OR_OR   275

Definition at line 158 of file oct-parse.h.

#define FCN   335

Definition at line 218 of file oct-parse.h.

#define FCN_HANDLE   324

Definition at line 207 of file oct-parse.h.

#define FOR   304

Definition at line 187 of file oct-parse.h.

#define FQ_IDENT   332

Definition at line 215 of file oct-parse.h.

#define FUNC_RET   317

Definition at line 200 of file oct-parse.h.

#define GET   333

Definition at line 216 of file oct-parse.h.

#define GLOBAL   322

Definition at line 205 of file oct-parse.h.

#define HERMITIAN   291

Definition at line 174 of file oct-parse.h.

#define IF   309

Definition at line 192 of file oct-parse.h.

#define IMAG_NUM   298

Definition at line 181 of file oct-parse.h.

#define INPUT_FILE   338

Definition at line 221 of file oct-parse.h.

#define LEFTDIV   285

Definition at line 168 of file oct-parse.h.

#define LEFTDIV_EQ   262

Definition at line 145 of file oct-parse.h.

#define LEXICAL_ERROR   337

Definition at line 220 of file oct-parse.h.

#define LSHIFT   272

Definition at line 155 of file oct-parse.h.

#define LSHIFT_EQ   270

Definition at line 153 of file oct-parse.h.

#define METAQUERY   330

Definition at line 213 of file oct-parse.h.

#define METHODS   327

Definition at line 210 of file oct-parse.h.

#define MINUS_MINUS   294

Definition at line 177 of file oct-parse.h.

#define MUL_EQ   260

Definition at line 143 of file oct-parse.h.

#define NAME   300

Definition at line 183 of file oct-parse.h.

#define NUM   297

Definition at line 180 of file oct-parse.h.

#define OCTAVE_DEBUG   0

Definition at line 44 of file oct-parse.h.

#define OCTAVE_STYPE_IS_DECLARED   1

Definition at line 290 of file oct-parse.h.

#define OCTAVE_STYPE_IS_TRIVIAL   1

Definition at line 289 of file oct-parse.h.

#define OCTAVE_TOKENTYPE

Definition at line 53 of file oct-parse.h.

#define OR_EQ   269

Definition at line 152 of file oct-parse.h.

#define OTHERWISE   314

Definition at line 197 of file oct-parse.h.

#define PARFOR   305

Definition at line 188 of file oct-parse.h.

#define PERSISTENT   323

Definition at line 206 of file oct-parse.h.

#define PLUS_PLUS   293

Definition at line 176 of file oct-parse.h.

#define POW   295

Definition at line 178 of file oct-parse.h.

#define POW_EQ   263

Definition at line 146 of file oct-parse.h.

#define PROPERTIES   326

Definition at line 209 of file oct-parse.h.

#define RSHIFT   273

Definition at line 156 of file oct-parse.h.

#define RSHIFT_EQ   271

Definition at line 154 of file oct-parse.h.

#define SET   334

Definition at line 217 of file oct-parse.h.

#define SQ_STRING   303

Definition at line 186 of file oct-parse.h.

#define STRUCT_ELT   299

Definition at line 182 of file oct-parse.h.

#define SUB_EQ   259

Definition at line 142 of file oct-parse.h.

#define SUPERCLASSREF   331

Definition at line 214 of file oct-parse.h.

#define SWITCH   312

Definition at line 195 of file oct-parse.h.

#define TRANSPOSE   292

Definition at line 175 of file oct-parse.h.

#define TRY   320

Definition at line 203 of file oct-parse.h.

#define UNARY   339

Definition at line 222 of file oct-parse.h.

#define UNTIL   308

Definition at line 191 of file oct-parse.h.

#define UNWIND   318

Definition at line 201 of file oct-parse.h.

#define WHILE   306

Definition at line 189 of file oct-parse.h.

#define YYPUSH_MORE_DEFINED

Definition at line 296 of file oct-parse.h.

Typedef Documentation

typedef struct octave_pstate octave_pstate

Definition at line 300 of file oct-parse.h.

typedef union OCTAVE_STYPE OCTAVE_STYPE

Definition at line 226 of file oct-parse.h.

Enumeration Type Documentation

anonymous enum
Enumerator
YYPUSH_MORE 

Definition at line 297 of file oct-parse.h.

Enumerator
ADD_EQ 
SUB_EQ 
MUL_EQ 
DIV_EQ 
LEFTDIV_EQ 
POW_EQ 
EMUL_EQ 
EDIV_EQ 
ELEFTDIV_EQ 
EPOW_EQ 
AND_EQ 
OR_EQ 
LSHIFT_EQ 
RSHIFT_EQ 
LSHIFT 
RSHIFT 
EXPR_AND_AND 
EXPR_OR_OR 
EXPR_AND 
EXPR_OR 
EXPR_NOT 
EXPR_LT 
EXPR_LE 
EXPR_EQ 
EXPR_NE 
EXPR_GE 
EXPR_GT 
LEFTDIV 
EMUL 
EDIV 
ELEFTDIV 
EPLUS 
EMINUS 
HERMITIAN 
TRANSPOSE 
PLUS_PLUS 
MINUS_MINUS 
POW 
EPOW 
NUM 
IMAG_NUM 
STRUCT_ELT 
NAME 
END 
DQ_STRING 
SQ_STRING 
FOR 
PARFOR 
WHILE 
DO 
UNTIL 
IF 
ELSEIF 
ELSE 
SWITCH 
CASE 
OTHERWISE 
BREAK 
CONTINUE 
FUNC_RET 
UNWIND 
CLEANUP 
TRY 
CATCH 
GLOBAL 
PERSISTENT 
FCN_HANDLE 
CLASSDEF 
PROPERTIES 
METHODS 
EVENTS 
ENUMERATION 
METAQUERY 
SUPERCLASSREF 
FQ_IDENT 
GET 
SET 
FCN 
END_OF_INPUT 
LEXICAL_ERROR 
INPUT_FILE 
UNARY 

Definition at line 54 of file oct-parse.h.

Function Documentation

int octave_parse ( octave_base_parser parser)

Definition at line 2984 of file oct-parse.cc.

References YY_NULLPTR, and yypull_parse.

Referenced by octave_parser::run().

void octave_pstate_delete ( octave_pstate ps)

Definition at line 3030 of file oct-parse.cc.

References free(), and YYSTACK_FREE.

octave_pstate* octave_pstate_new ( void  )

Definition at line 3019 of file oct-parse.cc.

References malloc(), YY_NULLPTR, and yypstate.

int octave_pull_parse ( octave_pstate ps,
octave_base_parser parser 
)
int octave_push_parse ( octave_pstate ps,
int  pushed_char,
OCTAVE_STYPE const *  pushed_val,
octave_base_parser parser 
)

Definition at line 3058 of file oct-parse.cc.

References ABORT_PARSE, ADD_EQ, symbol_table::alloc_scope(), AND_EQ, octave_base_parser::append_statement_list(), octave_base_parser::bison_error(), octave_base_parser::classdef_object, octave_base_parser::curr_fcn_depth, DIV_EQ, DQ_STRING, EDIV, EDIV_EQ, ELEFTDIV, ELEFTDIV_EQ, EMUL, EMUL_EQ, octave_base_parser::end_token_ok(), octave_base_parser::endfunction_found, EPOW, EPOW_EQ, EXPR_AND, EXPR_AND_AND, EXPR_EQ, EXPR_GE, EXPR_GT, EXPR_LE, EXPR_LT, EXPR_NE, EXPR_NOT, EXPR_OR, EXPR_OR_OR, octave_base_parser::finish_cell(), octave_base_parser::finish_classdef_external_method(), octave_base_parser::finish_colon_expression(), octave_base_parser::finish_function(), octave_base_parser::finish_if_command(), octave_base_parser::finish_matrix(), octave_base_parser::finish_switch_command(), FOR, octave_base_parser::frob_function(), token::function_end, octave_base_parser::function_scopes, GLOBAL, HERMITIAN, IMAG_NUM, tree_parameter_list::in, LEFTDIV, LEFTDIV_EQ, lexer, LSHIFT, LSHIFT_EQ, octave_value::magic_colon_t, octave_base_parser::make_anon_fcn_handle(), octave_base_parser::make_assign_op(), octave_base_parser::make_binary_op(), octave_base_parser::make_boolean_op(), octave_base_parser::make_break_command(), octave_base_parser::make_classdef(), octave_base_parser::make_classdef_enum_block(), octave_base_parser::make_classdef_events_block(), octave_base_parser::make_classdef_methods_block(), octave_base_parser::make_classdef_properties_block(), octave_base_parser::make_constant(), octave_base_parser::make_continue_command(), octave_base_parser::make_decl_command(), octave_base_parser::make_do_until_command(), octave_base_parser::make_elseif_clause(), octave_base_parser::make_end(), octave_base_parser::make_fcn_handle(), octave_base_parser::make_for_command(), octave_base_parser::make_index_expression(), octave_base_parser::make_indirect_ref(), octave_base_parser::make_meta_class_query(), octave_base_parser::make_postfix_op(), octave_base_parser::make_prefix_op(), octave_base_parser::make_return_command(), octave_base_parser::make_script(), octave_base_parser::make_statement(), octave_base_parser::make_statement_list(), octave_base_parser::make_superclass_ref(), octave_base_parser::make_switch_case(), octave_base_parser::make_try_command(), octave_base_parser::make_unwind_command(), octave_base_parser::make_while_command(), octave_base_parser::max_fcn_depth, MINUS_MINUS, MUL_EQ, NUM, OR_EQ, tree_parameter_list::out, PARFOR, octave_base_parser::parsing_subfunctions, PERSISTENT, PLUS_PLUS, POW, POW_EQ, octave_base_parser::primary_fcn_scope, octave_base_parser::recover_from_parsing_function(), RSHIFT, RSHIFT_EQ, octave_base_parser::set_stmt_print_flag(), SQ_STRING, octave_base_parser::start_classdef_external_method(), octave_base_parser::start_function(), octave_base_parser::start_if_command(), octave_base_parser::stmt_list, SUB_EQ, TRANSPOSE, tree_parameter_list::validate(), octave_base_parser::validate_array_list(), octave_base_parser::validate_matrix_for_assignment(), YY_, YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN, YY_IGNORE_MAYBE_UNINITIALIZED_END, YY_INITIAL_VALUE, YY_REDUCE_PRINT, YY_STACK_PRINT, YY_SYMBOL_PRINT, YYABORT, YYACCEPT, yycheck, yydefact, yydefgoto, yydestruct(), YYDPRINTF, YYEMPTY, YYEOF, yyerror, yyerrstatus, YYFINAL, YYINITDEPTH, YYLAST, yylval, YYMAXDEPTH, yynerrs, YYNTOKENS, yypact, yypact_value_is_default, yypgoto, YYPOPSTACK, YYPUSH_MORE, yyr1, yyr2, YYSIZE_T, yyss, yyalloc::yyss_alloc, yyssa, yyssp, YYSTACK_ALLOC, YYSTACK_BYTES, YYSTACK_FREE, YYSTACK_RELOCATE, yystacksize, yystate, yystos, YYSTYPE, yytable, yytable_value_is_error, YYTERROR, YYTRANSLATE, YYUSE, yyvs, yyalloc::yyvs_alloc, and yyvsa.

Referenced by octave_push_parser::run().