Ruby: parse.h File Reference

Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)

Data Structures | Macros | Typedefs | Enumerations | Functions
parse.h File Reference

Go to the source code of this file.

## Data Structures
union | YYSTYPE
struct | YYLTYPE

## Macros
#define | YYDEBUG 0
#define | YYTOKENTYPE
#define | YYSTYPE_IS_TRIVIAL 1
#define | YYSTYPE_IS_DECLARED 1
#define | YYLTYPE_IS_DECLARED 1
#define | YYLTYPE_IS_TRIVIAL 1

## Typedefs
typedef enum yytokentype | yytoken_kind_t
typedef union YYSTYPE | YYSTYPE
typedef struct YYLTYPE | YYLTYPE

## Enumerations
enum | yytokentype { YYEMPTY = -2 , END_OF_INPUT = 0 , YYerror = 256 , YYUNDEF = 257 , keyword_class = 258 , keyword_module = 259 , keyword_def = 260 , keyword_undef = 261 , keyword_begin = 262 , keyword_rescue = 263 , keyword_ensure = 264 , keyword_end = 265 , keyword_if = 266 , keyword_unless = 267 , keyword_then = 268 , keyword_elsif = 269 , keyword_else = 270 , keyword_case = 271 , keyword_when = 272 , keyword_while = 273 , keyword_until = 274 , keyword_for = 275 , keyword_break = 276 , keyword_next = 277 , keyword_redo = 278 , keyword_retry = 279 , keyword_in = 280 , keyword_do = 281 , keyword_do_cond = 282 , keyword_do_block = 283 , keyword_do_LAMBDA = 284 , keyword_return = 285 , keyword_yield = 286 , keyword_super = 287 , keyword_self = 288 , keyword_nil = 289 , keyword_true = 290 , keyword_false = 291 , keyword_and = 292 , keyword_or = 293 , keyword_not = 294 , modifier_if = 295 , modifier_unless = 296 , modifier_while = 297 , modifier_until = 298 , modifier_rescue = 299 , keyword_alias = 300 , keyword_defined = 301 , keyword_BEGIN = 302 , keyword_END = 303 , keyword__LINE__ = 304 , keyword__FILE__ = 305 , keyword__ENCODING__ = 306 , tIDENTIFIER = 307 , tFID = 308 , tGVAR = 309 , tIVAR = 310 , tCONSTANT = 311 , tCVAR = 312 , tLABEL = 313 , tINTEGER = 314 , tFLOAT = 315 , tRATIONAL = 316 , tIMAGINARY = 317 , tCHAR = 318 , tNTH_REF = 319 , tBACK_REF = 320 , tSTRING_CONTENT = 321 , tREGEXP_END = 322 , tSP = 323 , tUPLUS = 132 , tUMINUS = 133 , tPOW = 134 , tCMP = 135 , tEQ = 140 , tEQQ = 141 , tNEQ = 142 , tGEQ = 139 , tLEQ = 138 , tANDOP = 148 , tOROP = 149 , tMATCH = 143 , tNMATCH = 144 , tDOT2 = 128 , tDOT3 = 129 , tBDOT2 = 130 , tBDOT3 = 131 , tAREF = 145 , tASET = 146 , tLSHFT = 136 , tRSHFT = 137 , tANDDOT = 150 , tCOLON2 = 147 , tCOLON3 = 324 , tOP_ASGN = 325 , tASSOC = 326 , tLPAREN = 327 , tLPAREN_ARG = 328 , tRPAREN = 329 , tLBRACK = 330 , tLBRACE = 331 , tLBRACE_ARG = 332 , tSTAR = 333 , tDSTAR = 334 , tAMPER = 335 , tLAMBDA = 336 , tSYMBEG = 337 , tSTRING_BEG = 338 , tXSTRING_BEG = 339 , tREGEXP_BEG = 340 , tWORDS_BEG = 341 , tQWORDS_BEG = 342 , tSYMBOLS_BEG = 343 , tQSYMBOLS_BEG = 344 , tSTRING_END = 345 , tSTRING_DEND = 346 , tSTRING_DBEG = 347 , tSTRING_DVAR = 348 , tLAMBEG = 349 , tLABEL_END = 350 , tLOWEST = 351 , tUMINUS_NUM = 352 , tLAST_TOKEN = 353 }

## Functions
int | yyparse (struct parser_params *p)

## Macro Definition Documentation

## ◆ YYDEBUG

#define YYDEBUG 0

Definition at line 42 of file parse.h.

## ◆ YYLTYPE_IS_DECLARED

#define YYLTYPE_IS_DECLARED 1

Definition at line 211 of file parse.h.

## ◆ YYLTYPE_IS_TRIVIAL

#define YYLTYPE_IS_TRIVIAL 1

Definition at line 212 of file parse.h.

## ◆ YYSTYPE_IS_DECLARED

#define YYSTYPE_IS_DECLARED 1

Definition at line 198 of file parse.h.

## ◆ YYSTYPE_IS_TRIVIAL

#define YYSTYPE_IS_TRIVIAL 1

Definition at line 197 of file parse.h.

## ◆ YYTOKENTYPE

#define YYTOKENTYPE

Definition at line 50 of file parse.h.

## Typedef Documentation

## ◆ YYLTYPE

typedef struct YYLTYPE YYLTYPE

Definition at line 203 of file parse.h.

## ◆ YYSTYPE

typedef union YYSTYPE YYSTYPE

Definition at line 196 of file parse.h.

## ◆ yytoken_kind_t

typedef enum yytokentype yytoken_kind_t

Definition at line 177 of file parse.h.

## Enumeration Type Documentation

## ◆ yytokentype

enum yytokentype

Enumerator
YYEMPTY |
END_OF_INPUT |
YYerror |
YYUNDEF |
keyword_class |
keyword_module |
keyword_def |
keyword_undef |
keyword_begin |
keyword_rescue |
keyword_ensure |
keyword_end |
keyword_if |
keyword_unless |
keyword_then |
keyword_elsif |
keyword_else |
keyword_case |
keyword_when |
keyword_while |
keyword_until |
keyword_for |
keyword_break |
keyword_next |
keyword_redo |
keyword_retry |
keyword_in |
keyword_do |
keyword_do_cond |
keyword_do_block |
keyword_do_LAMBDA |
keyword_return |
keyword_yield |
keyword_super |
keyword_self |
keyword_nil |
keyword_true |
keyword_false |
keyword_and |
keyword_or |
keyword_not |
modifier_if |
modifier_unless |
modifier_while |
modifier_until |
modifier_rescue |
keyword_alias |
keyword_defined |
keyword_BEGIN |
keyword_END |
keyword__LINE__ |
keyword__FILE__ |
keyword__ENCODING__ |
tIDENTIFIER |
tFID |
tGVAR |
tIVAR |
tCONSTANT |
tCVAR |
tLABEL |
tINTEGER |
tFLOAT |
tRATIONAL |
tIMAGINARY |
tCHAR |
tNTH_REF |
tBACK_REF |
tSTRING_CONTENT |
tREGEXP_END |
tSP |
tUPLUS |
tUMINUS |
tPOW |
tCMP |
tEQ |
tEQQ |
tNEQ |
tGEQ |
tLEQ |
tANDOP |
tOROP |
tMATCH |
tNMATCH |
tDOT2 |
tDOT3 |
tBDOT2 |
tBDOT3 |
tAREF |
tASET |
tLSHFT |
tRSHFT |
tANDDOT |
tCOLON2 |
tCOLON3 |
tOP_ASGN |
tASSOC |
tLPAREN |
tLPAREN_ARG |
tRPAREN |
tLBRACK |
tLBRACE |
tLBRACE_ARG |
tSTAR |
tDSTAR |
tAMPER |
tLAMBDA |
tSYMBEG |
tSTRING_BEG |
tXSTRING_BEG |
tREGEXP_BEG |
tWORDS_BEG |
tQWORDS_BEG |
tSYMBOLS_BEG |
tQSYMBOLS_BEG |
tSTRING_END |
tSTRING_DEND |
tSTRING_DBEG |
tSTRING_DVAR |
tLAMBEG |
tLABEL_END |
tLOWEST |
tUMINUS_NUM |
tLAST_TOKEN |

Definition at line 51 of file parse.h.

## Function Documentation

## ◆ yyparse()

int yyparse | ( | struct parser_params * | p | ) |

Definition at line 6656 of file ripper.c.

References alias, ALLOC_N, AREF, parser_params::ast, token_info::beg, parser_params::brace_nest, parser_params::case_labels, CMDARG_POP, CMDARG_PUSH, rb_code_position_struct::column, parser_params::command_start, compile_error, compile_for_eval, COND_POP, COND_PUSH, parser_params::ctxt, YYSTYPE::ctxt, parser_params::cur_arg, def(), END, END_OF_INPUT, parser_params::eval_tree, parser_params::eval_tree_begin, FALSE, get_id, get_value, parser_params::heredoc_indent, parser_params::heredoc_line_indent, id, YYSTYPE::id, ID2SYM, ID2VAL, idANDOP, idCmp, idCOLON2, idDot3, idEq, idEqq, idGE, idGTGT, idLE, idLTLT, idNeq, idNeqTilde, idOr, idOROP, idPow, idUMinus, idUPlus, ifndef_ripper, in(), lex_context::in_class, lex_context::in_def, lex_context::in_defined, lex_context::in_kwarg, is_local_id, ISSPACE, KWD2EID, parser_params::lex, parser_params::lpar_beg, make_list, parser_params::max_numparam, METHOD_NOT, nd_ainfo, nd_args, nd_body, nd_brace, nd_defn, nd_head, nd_line, nd_lit, nd_mid, nd_next, nd_plen, nd_rval, nd_set_first_loc, nd_set_last_loc, nd_set_line, nd_set_type, nd_state, nd_type, nd_value, NEW_ALIAS, NEW_ARGS_AUX, NEW_BEGIN, NEW_BLOCK_PASS, NEW_BREAK, NEW_CALL, NEW_CASE, NEW_CASE2, NEW_CASE3, NEW_CLASS, NEW_COLON2, NEW_COLON3, NEW_CVAR, NEW_DOT2, NEW_DOT3, NEW_DSTR, NEW_DVAR, NEW_ERRINFO, NEW_EVSTR, NEW_FALSE, NEW_FCALL, NEW_FOR, NEW_FOR_MASGN, NEW_GVAR, NEW_IN, NEW_ITER, NEW_IVAR, NEW_LAMBDA, NEW_LIST, NEW_LIT, NEW_LVAR, NEW_MASGN, NEW_MODULE, NEW_NEXT, new_nil, NEW_NODE, NEW_OPT_ARG, NEW_POSTARG, NEW_POSTEXE, NEW_REDO, NEW_RESBODY, NEW_RESCUE, NEW_RETRY, NEW_RETURN, NEW_SCLASS, NEW_SCOPE, NEW_SPLAT, NEW_STR, NEW_SUPER, NEW_TRUE, NEW_UNDEF, NEW_UNTIL, NEW_VALIAS, NEW_WHEN, NEW_WHILE, NEW_YIELD, NEW_ZSUPER, token_info::next, NO_LEX_CTXT, YYSTYPE::node, NODE_BEGIN, NODE_BLOCK, NODE_DASGN, NODE_DASGN_CURR, NODE_DEFN, NODE_DEFS, NODE_DREGX, NODE_DSTR, NODE_DVAR, NODE_DXSTR, NODE_HASH, NODE_LASGN, NODE_LIST, NODE_LIT, NODE_LVAR, NODE_MASGN, NODE_OR, NODE_SCOPE, NODE_SELF, NODE_SPECIAL_EXCESSIVE_COMMA, NODE_SPECIAL_NO_NAME_REST, NODE_SPECIAL_REQUIRED_KEYWORD, NODE_STR, NODE_XSTR, NODE_YIELD, NODE_ZLIST, token_info::nonspc, num, YYSTYPE::num, ORDINAL_PARAM, parser_params::paren_nest, parser_params::pbeg, PRIsVALUE, parser_params::ptok, Qnil, Qnone, Qnull, Qundef, rb_ary_concat(), rb_ary_new3, rb_ary_new_from_args, rb_ary_push(), rb_assoc_new(), rb_ast_add_local_table(), rb_fstring(), rb_gc_register_mark_object(), rb_hash_clear(), rb_hash_new(), rb_id2str, rb_intern2(), rb_intern_str, rb_obj_freeze(), RB_OBJ_WRITE, RB_OBJ_WRITTEN, rb_strlen_lit, rb_warn0, rb_warn0L_experimental, RB_WARN_CATEGORY_EXPERIMENTAL, rb_warning1, rb_warning_category_enabled_p(), RNODE, RTEST, RUBY_SET_YYLLOC_OF_NONE, SET_LEX_STATE, parser_params::state, STATIC_ID2SYM, STR_NEW0, parser_params::strterm, YYSTYPE::strterm, SYM2ID, tANDDOT, tAREF, tASET, YYSTYPE::tbl, tCMP, tDSTAR, tEQ, tEQQ, tGEQ, tLBRACE_ARG, tLBRACK, tLEQ, tLPAREN, tLPAREN_ARG, tLSHFT, tMATCH, tNEQ, tNMATCH, tok, token_info::token, token_flush, parser_params::token_info, parser_params::tokline, tPOW, tRSHFT, TRUE, tUMINUS, tUPLUS, YYSTYPE::val, value_expr, YYSTYPE::vars, WARN_EOL, WARN_ID, YY_, YY_ACCESSING_SYMBOL, YY_ASSERT, YY_CAST, YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN, YY_IGNORE_MAYBE_UNINITIALIZED_END, YY_IGNORE_USELESS_CAST_BEGIN, YY_IGNORE_USELESS_CAST_END, YY_INITIAL_VALUE, YY_REDUCE_PRINT, YY_STACK_PRINT, YY_SYMBOL_PRINT, YYABORT, YYACCEPT, YYDPRINTF, YYEMPTY, YYENOMEM, yyerrok, yyerror, YYERROR, YYerror, yyerror1, YYFINAL, YYINITDEPTH, YYLAST, YYLLOC_DEFAULT, yylval, YYMAXDEPTH, YYNOMEM, YYNSTATES, YYNTOKENS, yypact_value_is_default, YYPOPSTACK, YYPTRDIFF_T, YYSIZE_T, YYSIZEOF, YYSTACK_ALLOC, YYSTACK_FREE, YYSYMBOL_YYEMPTY, YYSYMBOL_YYEOF, YYSYMBOL_YYerror, yytable_value_is_error, YYTRANSLATE, and YYUNDEF.