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

Definition at line 177 of file parse.h.

Enumeration Type Documentation

◆ 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.