GNU Octave  9.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
oct-parse.cc File Reference
#include <cassert>
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <map>
#include <sstream>
#include "Matrix.h"
#include "cmd-edit.h"
#include "cmd-hist.h"
#include "file-ops.h"
#include "file-stat.h"
#include "oct-env.h"
#include "oct-time.h"
#include "quit.h"
#include "Cell.h"
#include "anon-fcn-validator.h"
#include "builtin-defun-decls.h"
#include "defun.h"
#include "dynamic-ld.h"
#include "error.h"
#include "input.h"
#include "interpreter-private.h"
#include "interpreter.h"
#include "lex.h"
#include "load-path.h"
#include "lo-sysdep.h"
#include "oct-hist.h"
#include "oct-map.h"
#include "ov-classdef.h"
#include "ov-fcn-handle.h"
#include "ov-usr-fcn.h"
#include "ov-null-mat.h"
#include "pager.h"
#include "parse.h"
#include "pt-all.h"
#include "pt-eval.h"
#include "symtab.h"
#include "token.h"
#include "unwind-prot.h"
#include "utils.h"
#include "variables.h"
#include "oct-parse.h"
#include <limits.h>

Go to the source code of this file.

Namespaces

 octave
 

Macros

#define lexer   (parser.get_lexer ())
 
#define octave_nerrs   yyps->octave_nerrs
 
#define OCTAVE_YYUSE(...)
 
#define scanner   lexer.m_scanner
 
#define YY_(Msgid)   Msgid
 
#define YY_ACCESSING_SYMBOL(State)   YY_CAST (yysymbol_kind_t, yystos[State])
 Accessing symbol of state STATE. More...
 
#define YY_ASSERT(E)   ((void) (0 && (E)))
 
#define YY_ATTRIBUTE_PURE
 
#define YY_ATTRIBUTE_UNUSED
 
#define YY_CAST(Type, Val)   ((Type) (Val))
 
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
 
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
 
#define YY_IGNORE_USELESS_CAST_BEGIN
 
#define YY_IGNORE_USELESS_CAST_END
 
#define YY_INITIAL_VALUE(Value)   Value
 
#define YY_NULLPTR   ((void*)0)
 
#define YY_REDUCE_PRINT(Rule)
 
#define YY_REINTERPRET_CAST(Type, Val)   ((Type) (Val))
 
#define YY_STACK_PRINT(Bottom, Top)
 
#define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
 
#define YY_USE(E)   ((void) (E))
 
#define YYABORT   goto yyabortlab
 
#define YYACCEPT   goto yyacceptlab
 
#define YYBACKUP(Token, Value)
 
#define YYBISON   30802
 
#define YYBISON_VERSION   "3.8.2"
 
#define yyclearin   (yychar = OCTAVE_EMPTY)
 
#define YYCOPY(Dst, Src, Count)
 
#define YYCOPY_NEEDED   1
 
#define yydebug   octave_debug
 
#define YYDEBUG   1
 
#define YYDPRINTF(Args)   ((void) 0)
 
#define YYERRCODE   OCTAVE_UNDEF
 
#define yyerrok   (yyerrstatus = 0)
 
#define yyerror   octave_error
 
#define YYERROR   goto yyerrorlab
 
#define yyerrstatus   yyps->yyerrstatus
 
#define YYFINAL   110
 
#define YYFREE   free
 
#define YYINITDEPTH   200
 
#define YYLAST   1538
 
#define yylex   octave_lex
 
#define YYMALLOC   malloc
 
#define YYMAXDEPTH   10000
 
#define YYMAXUTOK   333
 
#define yynerrs   octave_nerrs
 
#define YYNNTS   130
 
#define YYNOMEM   goto yyexhaustedlab
 
#define YYNRULES   315
 
#define YYNSTATES   578
 
#define YYNTOKENS   98
 
#define YYPACT_NINF   (-465)
 
#define yypact_value_is_default(Yyn)    ((Yyn) == YYPACT_NINF)
 
#define yyparse   octave_parse
 
#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
 
#define yypstate   octave_pstate
 
#define yypstate_clear   octave_pstate_clear
 
#define yypstate_delete   octave_pstate_delete
 
#define yypstate_new   octave_pstate_new
 
#define YYPTRDIFF_MAXIMUM   LONG_MAX
 
#define YYPTRDIFF_T   long
 
#define YYPULL   1
 
#define yypull_parse   octave_pull_parse
 
#define YYPURE   1
 
#define YYPUSH   1
 
#define yypush_parse   octave_push_parse
 
#define YYRECOVERING()   (!!yyerrstatus)
 
#define YYSIZE_MAXIMUM
 
#define YYSIZE_T   unsigned
 
#define YYSIZEOF(X)   YY_CAST (YYPTRDIFF_T, sizeof (X))
 
#define YYSKELETON_NAME   "yacc.c"
 
#define yyss   yyps->yyss
 
#define yyssa   yyps->yyssa
 
#define yyssp   yyps->yyssp
 
#define YYSTACK_ALLOC   YYMALLOC
 
#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM
 
#define YYSTACK_BYTES(N)
 
#define YYSTACK_FREE   YYFREE
 
#define YYSTACK_GAP_MAXIMUM   (YYSIZEOF (union yyalloc) - 1)
 
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
 
#define yystacksize   yyps->yystacksize
 
#define yystate   yyps->yystate
 
#define YYSTYPE   OCTAVE_STYPE
 
#define YYTABLE_NINF   (-316)
 
#define yytable_value_is_error(Yyn)    0
 
#define YYTRANSLATE(YYX)
 
#define yyvs   yyps->yyvs
 
#define yyvsa   yyps->yyvsa
 
#define yyvsp   yyps->yyvsp
 

Typedefs

typedef int yy_state_fast_t
 
typedef yytype_int16 yy_state_t
 
typedef enum yysymbol_kind_t yysymbol_kind_t
 
typedef short yytype_int16
 
typedef signed char yytype_int8
 
typedef unsigned short yytype_uint16
 
typedef unsigned char yytype_uint8
 

Enumerations

enum  { YYENOMEM = -2 }
 
enum  yysymbol_kind_t {
  YYSYMBOL_YYEMPTY = -2 , YYSYMBOL_YYEOF = 0 , YYSYMBOL_YYerror = 1 , YYSYMBOL_YYUNDEF = 2 ,
  YYSYMBOL_BF = 3 , YYSYMBOL_IT = 4 , YYSYMBOL_SL = 5 , YYSYMBOL_RM = 6 ,
  YYSYMBOL_FONTNAME = 7 , YYSYMBOL_FONTSIZE = 8 , YYSYMBOL_COLOR = 9 , YYSYMBOL_COLOR_RGB = 10 ,
  YYSYMBOL_START = 11 , YYSYMBOL_END = 12 , YYSYMBOL_SUPER = 13 , YYSYMBOL_SUB = 14 ,
  YYSYMBOL_CH = 15 , YYSYMBOL_NUM = 16 , YYSYMBOL_SYM = 17 , YYSYMBOL_SCRIPT = 18 ,
  YYSYMBOL_STR = 19 , YYSYMBOL_YYACCEPT = 20 , YYSYMBOL_simple_string = 21 , YYSYMBOL_symbol_element = 22 ,
  YYSYMBOL_font_modifier_element = 23 , YYSYMBOL_fontsize_element = 24 , YYSYMBOL_fontname_element = 25 , YYSYMBOL_color_element = 26 ,
  YYSYMBOL_string_element = 27 , YYSYMBOL_superscript_element = 28 , YYSYMBOL_subscript_element = 29 , YYSYMBOL_combined_script_element = 30 ,
  YYSYMBOL_string_element_list = 31 , YYSYMBOL_scoped_string_element_list = 32 , YYSYMBOL_string = 33 , YYSYMBOL_YYEMPTY = -2 ,
  YYSYMBOL_YYEOF = 0 , YYSYMBOL_YYerror = 1 , YYSYMBOL_YYUNDEF = 2 , YYSYMBOL_3_ = 3 ,
  YYSYMBOL_4_ = 4 , YYSYMBOL_5_ = 5 , YYSYMBOL_6_ = 6 , YYSYMBOL_7_ = 7 ,
  YYSYMBOL_8_ = 8 , YYSYMBOL_9_ = 9 , YYSYMBOL_10_ = 10 , YYSYMBOL_11_ = 11 ,
  YYSYMBOL_12_ = 12 , YYSYMBOL_13_ = 13 , YYSYMBOL_14_ = 14 , YYSYMBOL_15_ = 15 ,
  YYSYMBOL_16_ = 16 , YYSYMBOL_17_ = 17 , YYSYMBOL_18_ = 18 , YYSYMBOL_19_ = 19 ,
  YYSYMBOL_20_ = 20 , YYSYMBOL_21_n_ = 21 , YYSYMBOL_ADD_EQ = 22 , YYSYMBOL_SUB_EQ = 23 ,
  YYSYMBOL_MUL_EQ = 24 , YYSYMBOL_DIV_EQ = 25 , YYSYMBOL_LEFTDIV_EQ = 26 , YYSYMBOL_POW_EQ = 27 ,
  YYSYMBOL_EMUL_EQ = 28 , YYSYMBOL_EDIV_EQ = 29 , YYSYMBOL_ELEFTDIV_EQ = 30 , YYSYMBOL_EPOW_EQ = 31 ,
  YYSYMBOL_AND_EQ = 32 , YYSYMBOL_OR_EQ = 33 , YYSYMBOL_EXPR_AND_AND = 34 , YYSYMBOL_EXPR_OR_OR = 35 ,
  YYSYMBOL_EXPR_AND = 36 , YYSYMBOL_EXPR_OR = 37 , YYSYMBOL_EXPR_LT = 38 , YYSYMBOL_EXPR_LE = 39 ,
  YYSYMBOL_EXPR_EQ = 40 , YYSYMBOL_EXPR_NE = 41 , YYSYMBOL_EXPR_GE = 42 , YYSYMBOL_EXPR_GT = 43 ,
  YYSYMBOL_LEFTDIV = 44 , YYSYMBOL_EMUL = 45 , YYSYMBOL_EDIV = 46 , YYSYMBOL_ELEFTDIV = 47 ,
  YYSYMBOL_HERMITIAN = 48 , YYSYMBOL_TRANSPOSE = 49 , YYSYMBOL_PLUS_PLUS = 50 , YYSYMBOL_MINUS_MINUS = 51 ,
  YYSYMBOL_POW = 52 , YYSYMBOL_EPOW = 53 , YYSYMBOL_NUMBER = 54 , YYSYMBOL_STRUCT_ELT = 55 ,
  YYSYMBOL_NAME = 56 , YYSYMBOL_END = 57 , YYSYMBOL_DQ_STRING = 58 , YYSYMBOL_SQ_STRING = 59 ,
  YYSYMBOL_FOR = 60 , YYSYMBOL_PARFOR = 61 , YYSYMBOL_WHILE = 62 , YYSYMBOL_DO = 63 ,
  YYSYMBOL_UNTIL = 64 , YYSYMBOL_SPMD = 65 , YYSYMBOL_IF = 66 , YYSYMBOL_ELSEIF = 67 ,
  YYSYMBOL_ELSE = 68 , YYSYMBOL_SWITCH = 69 , YYSYMBOL_CASE = 70 , YYSYMBOL_OTHERWISE = 71 ,
  YYSYMBOL_BREAK = 72 , YYSYMBOL_CONTINUE = 73 , YYSYMBOL_FUNC_RET = 74 , YYSYMBOL_UNWIND = 75 ,
  YYSYMBOL_CLEANUP = 76 , YYSYMBOL_TRY = 77 , YYSYMBOL_CATCH = 78 , YYSYMBOL_GLOBAL = 79 ,
  YYSYMBOL_PERSISTENT = 80 , YYSYMBOL_FCN_HANDLE = 81 , YYSYMBOL_CLASSDEF = 82 , YYSYMBOL_PROPERTIES = 83 ,
  YYSYMBOL_METHODS = 84 , YYSYMBOL_EVENTS = 85 , YYSYMBOL_ENUMERATION = 86 , YYSYMBOL_METAQUERY = 87 ,
  YYSYMBOL_SUPERCLASSREF = 88 , YYSYMBOL_FQ_IDENT = 89 , YYSYMBOL_GET = 90 , YYSYMBOL_SET = 91 ,
  YYSYMBOL_FCN = 92 , YYSYMBOL_ARGUMENTS = 93 , YYSYMBOL_LEXICAL_ERROR = 94 , YYSYMBOL_END_OF_INPUT = 95 ,
  YYSYMBOL_INPUT_FILE = 96 , YYSYMBOL_UNARY = 97 , YYSYMBOL_YYACCEPT = 98 , YYSYMBOL_input = 99 ,
  YYSYMBOL_simple_list = 100 , YYSYMBOL_simple_list1 = 101 , YYSYMBOL_opt_list = 102 , YYSYMBOL_list = 103 ,
  YYSYMBOL_list1 = 104 , YYSYMBOL_opt_fcn_list = 105 , YYSYMBOL_fcn_list = 106 , YYSYMBOL_fcn_list1 = 107 ,
  YYSYMBOL_statement = 108 , YYSYMBOL_word_list_cmd = 109 , YYSYMBOL_word_list = 110 , YYSYMBOL_identifier = 111 ,
  YYSYMBOL_superclass_identifier = 112 , YYSYMBOL_meta_identifier = 113 , YYSYMBOL_string = 114 , YYSYMBOL_constant = 115 ,
  YYSYMBOL_matrix = 116 , YYSYMBOL_matrix_rows = 117 , YYSYMBOL_cell = 118 , YYSYMBOL_cell_rows = 119 ,
  YYSYMBOL_cell_or_matrix_row = 120 , YYSYMBOL_fcn_handle = 121 , YYSYMBOL_anon_fcn_handle = 122 , YYSYMBOL_primary_expr = 123 ,
  YYSYMBOL_magic_colon = 124 , YYSYMBOL_magic_tilde = 125 , YYSYMBOL_arg_list = 126 , YYSYMBOL_indirect_ref_op = 127 ,
  YYSYMBOL_oper_expr = 128 , YYSYMBOL_power_expr = 129 , YYSYMBOL_colon_expr = 130 , YYSYMBOL_simple_expr = 131 ,
  YYSYMBOL_assign_lhs = 132 , YYSYMBOL_assign_expr = 133 , YYSYMBOL_expression = 134 , YYSYMBOL_command = 135 ,
  YYSYMBOL_declaration = 136 , YYSYMBOL_decl_init_list = 137 , YYSYMBOL_decl_elt = 138 , YYSYMBOL_select_command = 139 ,
  YYSYMBOL_if_command = 140 , YYSYMBOL_if_cmd_list = 141 , YYSYMBOL_if_cmd_list1 = 142 , YYSYMBOL_elseif_clause = 143 ,
  YYSYMBOL_else_clause = 144 , YYSYMBOL_switch_command = 145 , YYSYMBOL_case_list = 146 , YYSYMBOL_case_list1 = 147 ,
  YYSYMBOL_switch_case = 148 , YYSYMBOL_default_case = 149 , YYSYMBOL_loop_command = 150 , YYSYMBOL_jump_command = 151 ,
  YYSYMBOL_spmd_command = 152 , YYSYMBOL_except_command = 153 , YYSYMBOL_push_fcn_symtab = 154 , YYSYMBOL_param_list_beg = 155 ,
  YYSYMBOL_param_list_end = 156 , YYSYMBOL_opt_param_list = 157 , YYSYMBOL_param_list = 158 , YYSYMBOL_param_list1 = 159 ,
  YYSYMBOL_param_list2 = 160 , YYSYMBOL_param_list_elt = 161 , YYSYMBOL_return_list = 162 , YYSYMBOL_return_list1 = 163 ,
  YYSYMBOL_parsing_local_fcns = 164 , YYSYMBOL_push_script_symtab = 165 , YYSYMBOL_begin_file = 166 , YYSYMBOL_file = 167 ,
  YYSYMBOL_function_beg = 168 , YYSYMBOL_fcn_name = 169 , YYSYMBOL_function_end = 170 , YYSYMBOL_function = 171 ,
  YYSYMBOL_function_body = 172 , YYSYMBOL_at_first_executable_stmt = 173 , YYSYMBOL_function_body1 = 174 , YYSYMBOL_arguments_block = 175 ,
  YYSYMBOL_arguments_beg = 176 , YYSYMBOL_args_attr_list = 177 , YYSYMBOL_args_validation_list = 178 , YYSYMBOL_arg_name = 179 ,
  YYSYMBOL_arg_validation = 180 , YYSYMBOL_size_spec = 181 , YYSYMBOL_class_name = 182 , YYSYMBOL_validation_fcns = 183 ,
  YYSYMBOL_default_value = 184 , YYSYMBOL_classdef_beg = 185 , YYSYMBOL_classdef = 186 , YYSYMBOL_attr_list = 187 ,
  YYSYMBOL_attr_list1 = 188 , YYSYMBOL_attr = 189 , YYSYMBOL_superclass_list = 190 , YYSYMBOL_superclass_list1 = 191 ,
  YYSYMBOL_superclass = 192 , YYSYMBOL_class_body = 193 , YYSYMBOL_class_body1 = 194 , YYSYMBOL_properties_block = 195 ,
  YYSYMBOL_properties_beg = 196 , YYSYMBOL_property_list = 197 , YYSYMBOL_property_list1 = 198 , YYSYMBOL_class_property = 199 ,
  YYSYMBOL_methods_block = 200 , YYSYMBOL_methods_beg = 201 , YYSYMBOL_method_decl1 = 202 , YYSYMBOL_method_decl = 203 ,
  YYSYMBOL_204_1 = 204 , YYSYMBOL_method = 205 , YYSYMBOL_methods_list = 206 , YYSYMBOL_methods_list1 = 207 ,
  YYSYMBOL_events_block = 208 , YYSYMBOL_events_beg = 209 , YYSYMBOL_events_list = 210 , YYSYMBOL_events_list1 = 211 ,
  YYSYMBOL_class_event = 212 , YYSYMBOL_enum_block = 213 , YYSYMBOL_enumeration_beg = 214 , YYSYMBOL_enum_list = 215 ,
  YYSYMBOL_enum_list1 = 216 , YYSYMBOL_class_enum = 217 , YYSYMBOL_stmt_begin = 218 , YYSYMBOL_anon_fcn_begin = 219 ,
  YYSYMBOL_stash_comment = 220 , YYSYMBOL_parse_error = 221 , YYSYMBOL_sep_no_nl = 222 , YYSYMBOL_opt_sep_no_nl = 223 ,
  YYSYMBOL_opt_nl = 224 , YYSYMBOL_nl = 225 , YYSYMBOL_sep = 226 , YYSYMBOL_opt_sep = 227
}
 

Functions

octave_value_list octave::F__parse_file__ (octave::interpreter &interp, const octave_value_list &args, int)
 
octave_value_list octave::F__parser_debug_flag__ (const octave_value_list &args, int nargout)
 
octave_value_list octave::Fassignin (octave::interpreter &interp, const octave_value_list &args, int)
 
octave_value_list octave::Fautoload (octave::interpreter &interp, const octave_value_list &args, int)
 
octave_value_list octave::Fbuiltin (octave::interpreter &interp, const octave_value_list &args, int nargout)
 
octave_value_list octave::feval (const char *name, const octave_value_list &args, int nargout)
 Evaluate an Octave function (built-in or interpreted) and return the list of result values. More...
 
octave_value_list octave::feval (const octave_value &val, const octave_value_list &args, int nargout)
 
octave_value_list octave::feval (const octave_value_list &args, int nargout)
 
octave_value_list octave::feval (const std::string &name, const octave_value_list &args, int nargout)
 
octave_value_list octave::Feval (octave::interpreter &interp, const octave_value_list &args, int nargout)
 
octave_value_list octave::feval (octave_function *fcn, const octave_value_list &args, int nargout)
 
octave_value_list octave::Fevalc (octave::interpreter &interp, const octave_value_list &args, int nargout)
 
octave_value_list octave::Fevalin (octave::interpreter &interp, const octave_value_list &args, int nargout)
 
octave_value_list octave::Ffeval (octave::interpreter &interp, const octave_value_list &args, int nargout)
 
octave_value_list octave::Fmfilename (octave::interpreter &interp, const octave_value_list &args, int)
 
void free (void *)
 
octave_value_list octave::Fsource (octave::interpreter &interp, const octave_value_list &args, int)
 
std::string octave::get_help_from_file (const std::string &nm, bool &symbol_found)
 
std::string octave::get_help_from_file (const std::string &nm, bool &symbol_found, std::string &full_file)
 
octave_value octave::load_fcn_from_file (const std::string &file_name, const std::string &dir_name, const std::string &dispatch_type, const std::string &package_name, const std::string &fcn_name, bool autoload)
 
void * malloc (unsigned)
 
int octave_lex (OCTAVE_STYPE *, void *)
 The main scanner function which does all the work. More...
 
int octave_parse (octave::base_parser &parser)
 
void octave_pstate_delete (octave_pstate *yyps)
 
octave_pstateoctave_pstate_new (void)
 
int octave_pull_parse (octave_pstate *yyps, octave::base_parser &parser)
 
int octave_push_parse (octave_pstate *yyps, int yypushed_char, OCTAVE_STYPE const *yypushed_val, octave::base_parser &parser)
 
octave_value octave::parse_fcn_file (interpreter &interp, const std::string &full_file, const std::string &file, const std::string &dir_name, const std::string &dispatch_type, const std::string &package_name, bool require_file, bool force_script, bool autoload, bool relative_lookup)
 
void octave::source_file (const std::string &file_name, const std::string &context, bool verbose, bool require_file)
 

Macro Definition Documentation

◆ lexer

#define lexer   (parser.get_lexer ())

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

◆ octave_nerrs

#define octave_nerrs   yyps->octave_nerrs

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

◆ OCTAVE_YYUSE

#define OCTAVE_YYUSE (   ...)

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

◆ scanner

#define scanner   lexer.m_scanner

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

◆ YY_

#define YY_ (   Msgid)    Msgid

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

◆ YY_ACCESSING_SYMBOL

#define YY_ACCESSING_SYMBOL (   State)    YY_CAST (yysymbol_kind_t, yystos[State])

Accessing symbol of state STATE.


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

◆ YY_ASSERT

#define YY_ASSERT (   E)    ((void) (0 && (E)))

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

◆ YY_ATTRIBUTE_PURE

#define YY_ATTRIBUTE_PURE

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

◆ YY_ATTRIBUTE_UNUSED

#define YY_ATTRIBUTE_UNUSED

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

◆ YY_CAST

#define YY_CAST (   Type,
  Val 
)    ((Type) (Val))

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

◆ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

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

◆ YY_IGNORE_MAYBE_UNINITIALIZED_END

#define YY_IGNORE_MAYBE_UNINITIALIZED_END

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

◆ YY_IGNORE_USELESS_CAST_BEGIN

#define YY_IGNORE_USELESS_CAST_BEGIN

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

◆ YY_IGNORE_USELESS_CAST_END

#define YY_IGNORE_USELESS_CAST_END

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

◆ YY_INITIAL_VALUE

#define YY_INITIAL_VALUE (   Value)    Value

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

◆ YY_NULLPTR

#define YY_NULLPTR   ((void*)0)

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

◆ YY_REDUCE_PRINT

#define YY_REDUCE_PRINT (   Rule)

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

◆ YY_REINTERPRET_CAST

#define YY_REINTERPRET_CAST (   Type,
  Val 
)    ((Type) (Val))

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

◆ YY_STACK_PRINT

#define YY_STACK_PRINT (   Bottom,
  Top 
)

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

◆ YY_SYMBOL_PRINT

#define YY_SYMBOL_PRINT (   Title,
  Kind,
  Value,
  Location 
)

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

◆ YY_USE

#define YY_USE (   E)    ((void) (E))

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

◆ YYABORT

#define YYABORT   goto yyabortlab

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

◆ YYACCEPT

#define YYACCEPT   goto yyacceptlab

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

◆ YYBACKUP

#define YYBACKUP (   Token,
  Value 
)
Value:
do \
if (yychar == OCTAVE_EMPTY) \
{ \
yychar = (Token); \
yylval = (Value); \
YYPOPSTACK (yylen); \
yystate = *yyssp; \
goto yybackup; \
} \
else \
{ \
yyerror (parser, YY_("syntax error: cannot back up")); \
YYERROR; \
} \
while (0)
Definition: parse.h:822
#define YY_(Msgid)
Definition: oct-parse.cc:552
#define yyssp
Definition: oct-parse.cc:3063
@ OCTAVE_EMPTY
Definition: oct-parse.h:61

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

◆ YYBISON

#define YYBISON   30802

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

◆ YYBISON_VERSION

#define YYBISON_VERSION   "3.8.2"

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

◆ yyclearin

#define yyclearin   (yychar = OCTAVE_EMPTY)

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

◆ YYCOPY

#define YYCOPY (   Dst,
  Src,
  Count 
)
Value:
do \
{ \
YYPTRDIFF_T yyi; \
for (yyi = 0; yyi < (Count); yyi++) \
(Dst)[yyi] = (Src)[yyi]; \
} \
while (0)

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

◆ YYCOPY_NEEDED

#define YYCOPY_NEEDED   1

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

◆ yydebug

#define yydebug   octave_debug

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

◆ YYDEBUG

#define YYDEBUG   1

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

◆ YYDPRINTF

#define YYDPRINTF (   Args)    ((void) 0)

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

◆ YYERRCODE

#define YYERRCODE   OCTAVE_UNDEF

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

◆ yyerrok

#define yyerrok   (yyerrstatus = 0)

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

◆ yyerror

#define yyerror   octave_error

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

◆ YYERROR

#define YYERROR   goto yyerrorlab

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

◆ yyerrstatus

#define yyerrstatus   yyps->yyerrstatus

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

◆ YYFINAL

#define YYFINAL   110

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

◆ YYFREE

#define YYFREE   free

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

◆ YYINITDEPTH

#define YYINITDEPTH   200

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

◆ YYLAST

#define YYLAST   1538

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

◆ yylex

#define yylex   octave_lex

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

◆ YYMALLOC

#define YYMALLOC   malloc

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

◆ YYMAXDEPTH

#define YYMAXDEPTH   10000

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

◆ YYMAXUTOK

#define YYMAXUTOK   333

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

◆ yynerrs

#define yynerrs   octave_nerrs

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

◆ YYNNTS

#define YYNNTS   130

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

◆ YYNOMEM

#define YYNOMEM   goto yyexhaustedlab

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

◆ YYNRULES

#define YYNRULES   315

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

◆ YYNSTATES

#define YYNSTATES   578

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

◆ YYNTOKENS

#define YYNTOKENS   98

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

◆ YYPACT_NINF

#define YYPACT_NINF   (-465)

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

◆ yypact_value_is_default

#define yypact_value_is_default (   Yyn)     ((Yyn) == YYPACT_NINF)

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

◆ yyparse

#define yyparse   octave_parse

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

◆ YYPOPSTACK

#define YYPOPSTACK (   N)    (yyvsp -= (N), yyssp -= (N))

◆ yypstate

#define yypstate   octave_pstate

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

◆ yypstate_clear

#define yypstate_clear   octave_pstate_clear

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

◆ yypstate_delete

#define yypstate_delete   octave_pstate_delete

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

◆ yypstate_new

#define yypstate_new   octave_pstate_new

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

◆ YYPTRDIFF_MAXIMUM

#define YYPTRDIFF_MAXIMUM   LONG_MAX

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

◆ YYPTRDIFF_T

#define YYPTRDIFF_T   long

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

◆ YYPULL

#define YYPULL   1

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

◆ yypull_parse

#define yypull_parse   octave_pull_parse

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

◆ YYPURE

#define YYPURE   1

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

◆ YYPUSH

#define YYPUSH   1

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

◆ yypush_parse

#define yypush_parse   octave_push_parse

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

◆ YYRECOVERING

#define YYRECOVERING ( )    (!!yyerrstatus)

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

◆ YYSIZE_MAXIMUM

#define YYSIZE_MAXIMUM
Value:
: YY_CAST (YYSIZE_T, -1)))
#define YYPTRDIFF_MAXIMUM
Definition: oct-parse.cc:512
#define YY_CAST(Type, Val)
Definition: oct-parse.cc:174
#define YYSIZE_T
Definition: oct-parse.cc:525
#define YYPTRDIFF_T
Definition: oct-parse.cc:511

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

◆ YYSIZE_T

#define YYSIZE_T   unsigned

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

◆ YYSIZEOF

#define YYSIZEOF (   X)    YY_CAST (YYPTRDIFF_T, sizeof (X))

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

◆ YYSKELETON_NAME

#define YYSKELETON_NAME   "yacc.c"

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

◆ yyss

#define yyss   yyps->yyss

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

◆ yyssa

#define yyssa   yyps->yyssa

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

◆ yyssp

#define yyssp   yyps->yyssp

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

◆ YYSTACK_ALLOC

#define YYSTACK_ALLOC   YYMALLOC

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

◆ YYSTACK_ALLOC_MAXIMUM

#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM

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

◆ YYSTACK_BYTES

#define YYSTACK_BYTES (   N)
Value:
F77_RET_T const F77_INT & N
#define YYSTYPE
Definition: oct-parse.cc:67
#define YYSIZEOF(X)
Definition: oct-parse.cc:535
#define YYSTACK_GAP_MAXIMUM
Definition: oct-parse.cc:675
yytype_int8 yy_state_t

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

◆ YYSTACK_FREE

#define YYSTACK_FREE   YYFREE

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

◆ YYSTACK_GAP_MAXIMUM

#define YYSTACK_GAP_MAXIMUM   (YYSIZEOF (union yyalloc) - 1)

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

◆ YYSTACK_RELOCATE

#define YYSTACK_RELOCATE (   Stack_alloc,
  Stack 
)
Value:
do \
{ \
YYPTRDIFF_T yynewbytes; \
YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / YYSIZEOF (*yyptr); \
} \
while (0)
#define yystacksize
Definition: oct-parse.cc:3067

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

◆ yystacksize

#define yystacksize   yyps->yystacksize

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

◆ yystate

#define yystate   yyps->yystate

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

◆ YYSTYPE

#define YYSTYPE   OCTAVE_STYPE

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

◆ YYTABLE_NINF

#define YYTABLE_NINF   (-316)

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

◆ yytable_value_is_error

#define yytable_value_is_error (   Yyn)     0

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

◆ YYTRANSLATE

#define YYTRANSLATE (   YYX)
Value:
(0 <= (YYX) && (YYX) <= YYMAXUTOK \
? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
@ YYSYMBOL_YYUNDEF
Definition: oct-parse.cc:197
#define YYMAXUTOK
Definition: oct-parse.cc:738
yysymbol_kind_t

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

◆ yyvs

#define yyvs   yyps->yyvs

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

◆ yyvsa

#define yyvsa   yyps->yyvsa

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

◆ yyvsp

#define yyvsp   yyps->yyvsp

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

Typedef Documentation

◆ yy_state_fast_t

typedef int yy_state_fast_t

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

◆ yy_state_t

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

◆ yysymbol_kind_t

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

◆ yytype_int16

typedef short yytype_int16

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

◆ yytype_int8

typedef signed char yytype_int8

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

◆ yytype_uint16

typedef unsigned short yytype_uint16

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

◆ yytype_uint8

typedef unsigned char yytype_uint8

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

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
YYENOMEM 

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

◆ yysymbol_kind_t

Enumerator
YYSYMBOL_YYEMPTY 
YYSYMBOL_YYEOF 
YYSYMBOL_YYerror 
YYSYMBOL_YYUNDEF 
YYSYMBOL_BF 
YYSYMBOL_IT 
YYSYMBOL_SL 
YYSYMBOL_RM 
YYSYMBOL_FONTNAME 
YYSYMBOL_FONTSIZE 
YYSYMBOL_COLOR 
YYSYMBOL_COLOR_RGB 
YYSYMBOL_START 
YYSYMBOL_END 
YYSYMBOL_SUPER 
YYSYMBOL_SUB 
YYSYMBOL_CH 
YYSYMBOL_NUM 
YYSYMBOL_SYM 
YYSYMBOL_SCRIPT 
YYSYMBOL_STR 
YYSYMBOL_YYACCEPT 
YYSYMBOL_simple_string 
YYSYMBOL_symbol_element 
YYSYMBOL_font_modifier_element 
YYSYMBOL_fontsize_element 
YYSYMBOL_fontname_element 
YYSYMBOL_color_element 
YYSYMBOL_string_element 
YYSYMBOL_superscript_element 
YYSYMBOL_subscript_element 
YYSYMBOL_combined_script_element 
YYSYMBOL_string_element_list 
YYSYMBOL_scoped_string_element_list 
YYSYMBOL_string 
YYSYMBOL_YYEMPTY 
YYSYMBOL_YYEOF 
YYSYMBOL_YYerror 
YYSYMBOL_YYUNDEF 
YYSYMBOL_3_ 
YYSYMBOL_4_ 
YYSYMBOL_5_ 
YYSYMBOL_6_ 
YYSYMBOL_7_ 
YYSYMBOL_8_ 
YYSYMBOL_9_ 
YYSYMBOL_10_ 
YYSYMBOL_11_ 
YYSYMBOL_12_ 
YYSYMBOL_13_ 
YYSYMBOL_14_ 
YYSYMBOL_15_ 
YYSYMBOL_16_ 
YYSYMBOL_17_ 
YYSYMBOL_18_ 
YYSYMBOL_19_ 
YYSYMBOL_20_ 
YYSYMBOL_21_n_ 
YYSYMBOL_ADD_EQ 
YYSYMBOL_SUB_EQ 
YYSYMBOL_MUL_EQ 
YYSYMBOL_DIV_EQ 
YYSYMBOL_LEFTDIV_EQ 
YYSYMBOL_POW_EQ 
YYSYMBOL_EMUL_EQ 
YYSYMBOL_EDIV_EQ 
YYSYMBOL_ELEFTDIV_EQ 
YYSYMBOL_EPOW_EQ 
YYSYMBOL_AND_EQ 
YYSYMBOL_OR_EQ 
YYSYMBOL_EXPR_AND_AND 
YYSYMBOL_EXPR_OR_OR 
YYSYMBOL_EXPR_AND 
YYSYMBOL_EXPR_OR 
YYSYMBOL_EXPR_LT 
YYSYMBOL_EXPR_LE 
YYSYMBOL_EXPR_EQ 
YYSYMBOL_EXPR_NE 
YYSYMBOL_EXPR_GE 
YYSYMBOL_EXPR_GT 
YYSYMBOL_LEFTDIV 
YYSYMBOL_EMUL 
YYSYMBOL_EDIV 
YYSYMBOL_ELEFTDIV 
YYSYMBOL_HERMITIAN 
YYSYMBOL_TRANSPOSE 
YYSYMBOL_PLUS_PLUS 
YYSYMBOL_MINUS_MINUS 
YYSYMBOL_POW 
YYSYMBOL_EPOW 
YYSYMBOL_NUMBER 
YYSYMBOL_STRUCT_ELT 
YYSYMBOL_NAME 
YYSYMBOL_END 
YYSYMBOL_DQ_STRING 
YYSYMBOL_SQ_STRING 
YYSYMBOL_FOR 
YYSYMBOL_PARFOR 
YYSYMBOL_WHILE 
YYSYMBOL_DO 
YYSYMBOL_UNTIL 
YYSYMBOL_SPMD 
YYSYMBOL_IF 
YYSYMBOL_ELSEIF 
YYSYMBOL_ELSE 
YYSYMBOL_SWITCH 
YYSYMBOL_CASE 
YYSYMBOL_OTHERWISE 
YYSYMBOL_BREAK 
YYSYMBOL_CONTINUE 
YYSYMBOL_FUNC_RET 
YYSYMBOL_UNWIND 
YYSYMBOL_CLEANUP 
YYSYMBOL_TRY 
YYSYMBOL_CATCH 
YYSYMBOL_GLOBAL 
YYSYMBOL_PERSISTENT 
YYSYMBOL_FCN_HANDLE 
YYSYMBOL_CLASSDEF 
YYSYMBOL_PROPERTIES 
YYSYMBOL_METHODS 
YYSYMBOL_EVENTS 
YYSYMBOL_ENUMERATION 
YYSYMBOL_METAQUERY 
YYSYMBOL_SUPERCLASSREF 
YYSYMBOL_FQ_IDENT 
YYSYMBOL_GET 
YYSYMBOL_SET 
YYSYMBOL_FCN 
YYSYMBOL_ARGUMENTS 
YYSYMBOL_LEXICAL_ERROR 
YYSYMBOL_END_OF_INPUT 
YYSYMBOL_INPUT_FILE 
YYSYMBOL_UNARY 
YYSYMBOL_YYACCEPT 
YYSYMBOL_input 
YYSYMBOL_simple_list 
YYSYMBOL_simple_list1 
YYSYMBOL_opt_list 
YYSYMBOL_list 
YYSYMBOL_list1 
YYSYMBOL_opt_fcn_list 
YYSYMBOL_fcn_list 
YYSYMBOL_fcn_list1 
YYSYMBOL_statement 
YYSYMBOL_word_list_cmd 
YYSYMBOL_word_list 
YYSYMBOL_identifier 
YYSYMBOL_superclass_identifier 
YYSYMBOL_meta_identifier 
YYSYMBOL_string 
YYSYMBOL_constant 
YYSYMBOL_matrix 
YYSYMBOL_matrix_rows 
YYSYMBOL_cell 
YYSYMBOL_cell_rows 
YYSYMBOL_cell_or_matrix_row 
YYSYMBOL_fcn_handle 
YYSYMBOL_anon_fcn_handle 
YYSYMBOL_primary_expr 
YYSYMBOL_magic_colon 
YYSYMBOL_magic_tilde 
YYSYMBOL_arg_list 
YYSYMBOL_indirect_ref_op 
YYSYMBOL_oper_expr 
YYSYMBOL_power_expr 
YYSYMBOL_colon_expr 
YYSYMBOL_simple_expr 
YYSYMBOL_assign_lhs 
YYSYMBOL_assign_expr 
YYSYMBOL_expression 
YYSYMBOL_command 
YYSYMBOL_declaration 
YYSYMBOL_decl_init_list 
YYSYMBOL_decl_elt 
YYSYMBOL_select_command 
YYSYMBOL_if_command 
YYSYMBOL_if_cmd_list 
YYSYMBOL_if_cmd_list1 
YYSYMBOL_elseif_clause 
YYSYMBOL_else_clause 
YYSYMBOL_switch_command 
YYSYMBOL_case_list 
YYSYMBOL_case_list1 
YYSYMBOL_switch_case 
YYSYMBOL_default_case 
YYSYMBOL_loop_command 
YYSYMBOL_jump_command 
YYSYMBOL_spmd_command 
YYSYMBOL_except_command 
YYSYMBOL_push_fcn_symtab 
YYSYMBOL_param_list_beg 
YYSYMBOL_param_list_end 
YYSYMBOL_opt_param_list 
YYSYMBOL_param_list 
YYSYMBOL_param_list1 
YYSYMBOL_param_list2 
YYSYMBOL_param_list_elt 
YYSYMBOL_return_list 
YYSYMBOL_return_list1 
YYSYMBOL_parsing_local_fcns 
YYSYMBOL_push_script_symtab 
YYSYMBOL_begin_file 
YYSYMBOL_file 
YYSYMBOL_function_beg 
YYSYMBOL_fcn_name 
YYSYMBOL_function_end 
YYSYMBOL_function 
YYSYMBOL_function_body 
YYSYMBOL_at_first_executable_stmt 
YYSYMBOL_function_body1 
YYSYMBOL_arguments_block 
YYSYMBOL_arguments_beg 
YYSYMBOL_args_attr_list 
YYSYMBOL_args_validation_list 
YYSYMBOL_arg_name 
YYSYMBOL_arg_validation 
YYSYMBOL_size_spec 
YYSYMBOL_class_name 
YYSYMBOL_validation_fcns 
YYSYMBOL_default_value 
YYSYMBOL_classdef_beg 
YYSYMBOL_classdef 
YYSYMBOL_attr_list 
YYSYMBOL_attr_list1 
YYSYMBOL_attr 
YYSYMBOL_superclass_list 
YYSYMBOL_superclass_list1 
YYSYMBOL_superclass 
YYSYMBOL_class_body 
YYSYMBOL_class_body1 
YYSYMBOL_properties_block 
YYSYMBOL_properties_beg 
YYSYMBOL_property_list 
YYSYMBOL_property_list1 
YYSYMBOL_class_property 
YYSYMBOL_methods_block 
YYSYMBOL_methods_beg 
YYSYMBOL_method_decl1 
YYSYMBOL_method_decl 
YYSYMBOL_204_1 
YYSYMBOL_method 
YYSYMBOL_methods_list 
YYSYMBOL_methods_list1 
YYSYMBOL_events_block 
YYSYMBOL_events_beg 
YYSYMBOL_events_list 
YYSYMBOL_events_list1 
YYSYMBOL_class_event 
YYSYMBOL_enum_block 
YYSYMBOL_enumeration_beg 
YYSYMBOL_enum_list 
YYSYMBOL_enum_list1 
YYSYMBOL_class_enum 
YYSYMBOL_stmt_begin 
YYSYMBOL_anon_fcn_begin 
YYSYMBOL_stash_comment 
YYSYMBOL_parse_error 
YYSYMBOL_sep_no_nl 
YYSYMBOL_opt_sep_no_nl 
YYSYMBOL_opt_nl 
YYSYMBOL_nl 
YYSYMBOL_sep 
YYSYMBOL_opt_sep 

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

Function Documentation

◆ free()

void free ( void *  )

◆ malloc()

void* malloc ( unsigned  )

◆ octave_lex()

int octave_lex ( OCTAVE_STYPE yylval_param,
void *  yyscanner 
)

The main scanner function which does all the work.

Definition at line 1621 of file lex.cc.

References YY_AT_BOL, YY_BUF_SIZE, yy_create_buffer, YY_CURRENT_BUFFER, YY_CURRENT_BUFFER_LVALUE, yy_load_buffer_state, yyensure_buffer_stack, yyguts_t, yyin, yylval, and yyout.

◆ octave_parse()

int octave_parse ( octave::base_parser &  parser)

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

References YY_, yyerror, yypstate, yypstate_delete, yypstate_new, and yypull_parse.

◆ octave_pstate_delete()

void octave_pstate_delete ( octave_pstate yyps)

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

References YYFREE, yyss, yyssa, and YYSTACK_FREE.

◆ octave_pstate_new()

octave_pstate* octave_pstate_new ( void  )

◆ octave_pull_parse()

int octave_pull_parse ( octave_pstate yyps,
octave::base_parser &  parser 
)

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

References scanner, YY_ASSERT, yylex, yylval, YYPUSH_MORE, yypush_parse, and YYSTYPE.

Referenced by parser::run().

◆ octave_push_parse()

int octave_push_parse ( octave_pstate yyps,
int  yypushed_char,
OCTAVE_STYPE const *  yypushed_val,
octave::base_parser &  parser 
)

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

References YY_INITIAL_VALUE, yylval, YYSTYPE, and YYSYMBOL_YYEMPTY.