Ruby: ext/ripper/ripper.c File Reference

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

Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
ripper.c File Reference
`#include "ruby/internal/config.h"`
`#include <ctype.h>`
`#include <errno.h>`
`#include <stdio.h>`
`#include "internal.h"`
`#include "internal/compile.h"`
`#include "internal/compilers.h"`
`#include "internal/complex.h"`
`#include "internal/error.h"`
`#include "internal/hash.h"`
`#include "internal/imemo.h"`
`#include "internal/io.h"`
`#include "internal/numeric.h"`
`#include "internal/parse.h"`
`#include "internal/rational.h"`
`#include "internal/re.h"`
`#include "internal/symbol.h"`
`#include "internal/thread.h"`
`#include "internal/util.h"`
`#include "internal/variable.h"`
`#include "node.h"`
`#include "probes.h"`
`#include "regenc.h"`
`#include "ruby/encoding.h"`
`#include "ruby/regex.h"`
`#include "ruby/ruby.h"`
`#include "ruby/st.h"`
`#include "ruby/util.h"`
`#include "ruby/ractor.h"`
`#include "symbol.h"`
`#include "parse.h"`
`#include <limits.h>`
`#include <stdint.h>`
`#include <stddef.h>`
`#include "lex.c"`

Go to the source code of this file.

## Data Structures
struct | lex_context
struct | vtable
struct | local_vars
struct | token_info
struct | parser_params
struct | rb_strterm_literal_struct
struct | rb_strterm_heredoc_struct
struct | rb_strterm_struct
struct | yypcontext_t
struct | magic_comment
struct | reg_named_capture_assign_t

## Macros
#define | YYBISON 30802
#define | YYBISON_VERSION "3.8.2"
#define | YYSKELETON_NAME "yacc.c"
#define | YYPURE 1
#define | YYPUSH 0
#define | YYPULL 1
#define | YYDEBUG 1
#define | YYERROR_VERBOSE 1
#define | YYSTACK_USE_ALLOCA 0
#define | YYLTYPE rb_code_location_t
#define | YYLTYPE_IS_DECLARED 1
#define | NO_LEX_CTXT (struct lex_context){0}
#define | AREF(ary, i) RARRAY_AREF(ary, i)
#define | WARN_PAST_SCOPE 0
#define | TAB_WIDTH 8
#define | yydebug (p->debug) /* disable the global variable definition */
#define | YYMALLOC(size) rb_parser_malloc(p, (size))
#define | YYREALLOC(ptr, size) rb_parser_realloc(p, (ptr), (size))
#define | YYCALLOC(nelem, size) rb_parser_calloc(p, (nelem), (size))
#define | YYFREE(ptr) rb_parser_free(p, (ptr))
#define | YYFPRINTF rb_parser_printf
#define | YY_LOCATION_PRINT(File, loc)
#define | YYLLOC_DEFAULT(Current, Rhs, N)
#define | RUBY_SET_YYLLOC_FROM_STRTERM_HEREDOC(Current) rb_parser_set_location_from_strterm_heredoc(p, &p->lex.strterm->u.heredoc, &(Current))
#define | RUBY_SET_YYLLOC_OF_NONE(Current) rb_parser_set_location_of_none(p, &(Current))
#define | RUBY_SET_YYLLOC(Current) rb_parser_set_location(p, &(Current))
#define | RUBY_INIT_YYLLOC()
#define | DEF_EXPR(n) EXPR_##n = (1 << EXPR_##n##_bit)
#define | IS_lex_state_for(x, ls) ((x) & (ls))
#define | IS_lex_state_all_for(x, ls) (((x) & (ls)) == (ls))
#define | IS_lex_state(ls) IS_lex_state_for(p->lex.state, (ls))
#define | IS_lex_state_all(ls) IS_lex_state_all_for(p->lex.state, (ls))
#define | SET_LEX_STATE(ls)
#define | SHOW_BITSTACK(stack, name) (p->debug ? rb_parser_show_bitstack(p, stack, name, __LINE__) : (void)0)
#define | BITSTACK_PUSH(stack, n) (((p->stack) = ((p->stack)<<1)|((n)&1)), SHOW_BITSTACK(p->stack, #stack"(push)"))
#define | BITSTACK_POP(stack) (((p->stack) = (p->stack) >> 1), SHOW_BITSTACK(p->stack, #stack"(pop)"))
#define | BITSTACK_SET_P(stack) (SHOW_BITSTACK(p->stack, #stack), (p->stack)&1)
#define | BITSTACK_SET(stack, n) ((p->stack)=(n), SHOW_BITSTACK(p->stack, #stack"(set)"))
#define | COND_PUSH(n) BITSTACK_PUSH(cond_stack, (n))
#define | COND_POP() BITSTACK_POP(cond_stack)
#define | COND_P() BITSTACK_SET_P(cond_stack)
#define | COND_SET(n) BITSTACK_SET(cond_stack, (n))
#define | CMDARG_PUSH(n) BITSTACK_PUSH(cmdarg_stack, (n))
#define | CMDARG_POP() BITSTACK_POP(cmdarg_stack)
#define | CMDARG_P() BITSTACK_SET_P(cmdarg_stack)
#define | CMDARG_SET(n) BITSTACK_SET(cmdarg_stack, (n))
#define | NUMPARAM_ID_P(id) numparam_id_p(id)
#define | NUMPARAM_ID_TO_IDX(id) (unsigned int)(((id) >> ID_SCOPE_SHIFT) - tNUMPARAM_1 + 1)
#define | NUMPARAM_IDX_TO_ID(idx) TOKEN2LOCALID((tNUMPARAM_1 + (idx) - 1))
#define | DVARS_INHERIT ((void*)1)
#define | DVARS_TOPSCOPE NULL
#define | DVARS_TERMINAL_P(tbl) ((tbl) == DVARS_INHERIT || (tbl) == DVARS_TOPSCOPE)
#define | intern_cstr(n, l, en) rb_intern3(n,l,en)
#define | STR_NEW(ptr, len) rb_enc_str_new((ptr),(len),p->enc)
#define | STR_NEW0() rb_enc_str_new(0,0,p->enc)
#define | STR_NEW2(ptr) rb_enc_str_new((ptr),strlen(ptr),p->enc)
#define | STR_NEW3(ptr, len, e, func) parser_str_new((ptr),(len),(e),(func),p->enc)
#define | TOK_INTERN() intern_cstr(tok(p), toklen(p), p->enc)
#define | yyerror0(msg) parser_yyerror(p, NULL, (msg))
#define | yyerror1(loc, msg) parser_yyerror(p, (loc), (msg))
#define | yyerror(yylloc, p, msg) parser_yyerror(p, yylloc, msg)
#define | token_flush(ptr) ((ptr)->lex.ptok = (ptr)->lex.pcur)
#define | compile_for_eval (p->parent_iseq != 0)
#define | token_column ((int)(p->lex.ptok - p->lex.pbeg))
#define | CALL_Q_P(q) ((q) == TOKEN2VAL(tANDDOT))
#define | NODE_CALL_Q(q) (CALL_Q_P(q) ? NODE_QCALL : NODE_CALL)
#define | NEW_QCALL(q, r, m, a, loc) NEW_NODE(NODE_CALL_Q(q),r,m,a,loc)
#define | lambda_beginning_p() (p->lex.lpar_beg == p->lex.paren_nest)
#define | rb_node_newnode(type, a1, a2, a3, loc) node_newnode(p, (type), (a1), (a2), (a3), (loc))
#define | yyparse ruby_yyparse
#define | new_nil(loc) NEW_NIL(loc)
#define | value_expr(node) value_expr_gen(p, (node))
#define | make_list(list, loc) ((list) ? (nd_set_loc(list, loc), list) : NEW_ZLIST(loc))
#define | get_id(id) (id)
#define | get_value(val) (val)
#define | get_num(num) (num)
#define | dyna_var(p, id) local_var(p, id)
#define | METHOD_NOT '!'
#define | idFWD_REST '*'
#define | idFWD_KWREST 0
#define | idFWD_BLOCK '&'
#define | RE_OPTION_ONCE (1<<16)
#define | RE_OPTION_ENCODING_SHIFT 8
#define | RE_OPTION_ENCODING(e) (((e)&0xff)<<RE_OPTION_ENCODING_SHIFT)
#define | RE_OPTION_ENCODING_IDX(o) (((o)>>RE_OPTION_ENCODING_SHIFT)&0xff)
#define | RE_OPTION_ENCODING_NONE(o) ((o)&RE_OPTION_ARG_ENCODING_NONE)
#define | RE_OPTION_MASK 0xff
#define | RE_OPTION_ARG_ENCODING_NONE 32
#define | HERETERM_LENGTH_BITS ((SIZEOF_VALUE - 1) * CHAR_BIT - 1)
#define | HERETERM_LENGTH_MAX UINT_MAX
#define | STRTERM_HEREDOC IMEMO_FL_USER0
#define | yytnamerr(yyres, yystr) (YYSIZE_T)rb_yytnamerr(p, yyres, yystr)
#define | TOKEN2ID(tok)
#define | ID2VAL(id) (id)
#define | TOKEN2VAL(t) ID2VAL(t)
#define | KWD2EID(t, v) keyword_##t
#define | Qnone 0
#define | Qnull 0
#define | ifndef_ripper(x) (x)
#define | rb_warn0(fmt) WARN_CALL(WARN_ARGS(fmt, 1))
#define | rb_warn1(fmt, a) WARN_CALL(WARN_ARGS(fmt, 2), (a))
#define | rb_warn2(fmt, a, b) WARN_CALL(WARN_ARGS(fmt, 3), (a), (b))
#define | rb_warn3(fmt, a, b, c) WARN_CALL(WARN_ARGS(fmt, 4), (a), (b), (c))
#define | rb_warn4(fmt, a, b, c, d) WARN_CALL(WARN_ARGS(fmt, 5), (a), (b), (c), (d))
#define | rb_warning0(fmt) WARNING_CALL(WARNING_ARGS(fmt, 1))
#define | rb_warning1(fmt, a) WARNING_CALL(WARNING_ARGS(fmt, 2), (a))
#define | rb_warning2(fmt, a, b) WARNING_CALL(WARNING_ARGS(fmt, 3), (a), (b))
#define | rb_warning3(fmt, a, b, c) WARNING_CALL(WARNING_ARGS(fmt, 4), (a), (b), (c))
#define | rb_warning4(fmt, a, b, c, d) WARNING_CALL(WARNING_ARGS(fmt, 5), (a), (b), (c), (d))
#define | rb_warn0L(l, fmt) WARN_CALL(WARN_ARGS_L(l, fmt, 1))
#define | rb_warn1L(l, fmt, a) WARN_CALL(WARN_ARGS_L(l, fmt, 2), (a))
#define | rb_warn2L(l, fmt, a, b) WARN_CALL(WARN_ARGS_L(l, fmt, 3), (a), (b))
#define | rb_warn3L(l, fmt, a, b, c) WARN_CALL(WARN_ARGS_L(l, fmt, 4), (a), (b), (c))
#define | rb_warn4L(l, fmt, a, b, c, d) WARN_CALL(WARN_ARGS_L(l, fmt, 5), (a), (b), (c), (d))
#define | rb_warning0L(l, fmt) WARNING_CALL(WARNING_ARGS_L(l, fmt, 1))
#define | rb_warning1L(l, fmt, a) WARNING_CALL(WARNING_ARGS_L(l, fmt, 2), (a))
#define | rb_warning2L(l, fmt, a, b) WARNING_CALL(WARNING_ARGS_L(l, fmt, 3), (a), (b))
#define | rb_warning3L(l, fmt, a, b, c) WARNING_CALL(WARNING_ARGS_L(l, fmt, 4), (a), (b), (c))
#define | rb_warning4L(l, fmt, a, b, c, d) WARNING_CALL(WARNING_ARGS_L(l, fmt, 5), (a), (b), (c), (d))
#define | WARN_S_L(s, l) s
#define | WARN_S(s) s
#define | WARN_I(i) i
#define | WARN_ID(i) rb_id2name(i)
#define | WARN_IVAL(i) NUM2INT(i)
#define | PRIsWARN PRIsVALUE
#define | WARN_ARGS(fmt, n) WARN_ARGS_L(p->ruby_sourceline,fmt,n)
#define | WARN_ARGS_L(l, fmt, n) p->ruby_sourcefile, (l), (fmt)
#define | WARN_CALL rb_compile_warn
#define | rb_warn0L_experimental(l, fmt) rb_category_compile_warn(RB_WARN_CATEGORY_EXPERIMENTAL, WARN_ARGS_L(l, fmt, 1))
#define | WARNING_ARGS(fmt, n) WARN_ARGS(fmt,n)
#define | WARNING_ARGS_L(l, fmt, n) WARN_ARGS_L(l,fmt,n)
#define | WARNING_CALL rb_compile_warning
#define | compile_error parser_compile_error
#define | WARN_EOL(tok)
#define | YY_CAST(Type, Val) static_cast<Type> (Val)
#define | YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
#define | YY_NULLPTR nullptr
#define | YY_STDINT_H
#define | YYPTRDIFF_T long
#define | YYPTRDIFF_MAXIMUM LONG_MAX
#define | YYSIZE_T size_t
#define | YYSIZE_MAXIMUM
#define | YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
#define | YY_(Msgid) Msgid
#define | YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
#define | YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
#define | YY_USE(E) ((void) (E))
#define | YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
#define | YY_IGNORE_MAYBE_UNINITIALIZED_END _Pragma ("GCC diagnostic pop")
#define | YY_INITIAL_VALUE(Value) /* Nothing. */
#define | YY_IGNORE_USELESS_CAST_BEGIN
#define | YY_IGNORE_USELESS_CAST_END _Pragma ("GCC diagnostic pop")
#define | YY_ASSERT(E) ((void) (0 && (E)))
#define | YYSTACK_ALLOC YYMALLOC
#define | YYSTACK_FREE YYFREE
#define | YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
#define | YYFINAL 3
#define | YYLAST 14332
#define | YYNTOKENS 154
#define | YYNNTS 270
#define | YYNRULES 773
#define | YYNSTATES 1294
#define | YYMAXUTOK 353
#define | YYTRANSLATE(YYX)
#define | YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
| Accessing symbol of state STATE. More...
#define | YYPACT_NINF (-1080)
#define | yypact_value_is_default(Yyn) ((Yyn) == YYPACT_NINF)
#define | YYTABLE_NINF (-774)
#define | yytable_value_is_error(Yyn) ((Yyn) == YYTABLE_NINF)
#define | yyerrok (yyerrstatus = 0)
#define | yyclearin (yychar = YYEMPTY)
#define | YYACCEPT goto yyacceptlab
#define | YYABORT goto yyabortlab
#define | YYERROR goto yyerrorlab
#define | YYNOMEM goto yyexhaustedlab
#define | YYRECOVERING() (!!yyerrstatus)
#define | YYBACKUP(Token, Value)
#define | YYERRCODE YYUNDEF
#define | YYRHSLOC(Rhs, K) ((Rhs)[K])
#define | YYDPRINTF(Args) ((void) 0)
#define | YY_SYMBOL_PRINT(Title, Kind, Value, Location)
#define | YY_STACK_PRINT(Bottom, Top)
#define | YY_REDUCE_PRINT(Rule)
#define | YYINITDEPTH 200
#define | YYMAXDEPTH 10000
#define | YYCASE_(N, S)
#define | YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
#define | yylval (*p->lval)
#define | set_yylval_node(x)
#define | set_yylval_str(x)
#define | set_yylval_literal(x)
#define | set_yylval_num(x) (yylval.num = (x))
#define | set_yylval_id(x) (yylval.id = (x))
#define | set_yylval_name(x) (yylval.id = (x))
#define | yylval_id() (yylval.id)
#define | set_yylval_noname() set_yylval_id(keyword_nil)
#define | literal_flush(p, ptr) ((p)->lex.ptok = (ptr))
#define | dispatch_scan_event(p, t) ((void)0)
#define | dispatch_delayed_token(p, t) ((void)0)
#define | has_delayed_token(p) (0)
#define | CSI_BEGIN "\033["
#define | CSI_SGR "m"
#define | vtable_alloc(prev) vtable_alloc_gen(p, __LINE__, prev)
#define | vtable_free(tbl) vtable_free_gen(p, __LINE__, #tbl, tbl)
#define | vtable_add(tbl, id) vtable_add_gen(p, __LINE__, #tbl, tbl, id)
#define | vtable_pop(tbl, n) vtable_pop_gen(p, __LINE__, #tbl, tbl, n)
#define | RUBY_DTRACE_PARSE_HOOK(name)
#define | STR_FUNC_ESCAPE 0x01
#define | STR_FUNC_EXPAND 0x02
#define | STR_FUNC_REGEXP 0x04
#define | STR_FUNC_QWORDS 0x08
#define | STR_FUNC_SYMBOL 0x10
#define | STR_FUNC_INDENT 0x20
#define | STR_FUNC_LABEL 0x40
#define | STR_FUNC_LIST 0x4000
#define | STR_FUNC_TERM 0x8000
#define | lex_goto_eol(p) ((p)->lex.pcur = (p)->lex.pend)
#define | lex_eol_p(p) ((p)->lex.pcur >= (p)->lex.pend)
#define | lex_eol_n_p(p, n) ((p)->lex.pcur+(n) >= (p)->lex.pend)
#define | peek(p, c) peek_n(p, (c), 0)
#define | peek_n(p, c, n) (!lex_eol_n_p(p, n) && (c) == (unsigned char)(p)->lex.pcur[n])
#define | peekc(p) peekc_n(p, 0)
#define | peekc_n(p, n) (lex_eol_n_p(p, n) ? -1 : (unsigned char)(p)->lex.pcur[n])
#define | add_delayed_token(p, tok, end) ((void)(tok), (void)(end))
#define | was_bol(p) ((p)->lex.pcur == (p)->lex.pbeg + 1)
#define | tokfix(p) ((p)->tokenbuf[(p)->tokidx]='\0')
#define | tok(p) (p)->tokenbuf
#define | toklen(p) (p)->tokidx
#define | tokcopy(p, n) memcpy(tokspace(p, n), (p)->lex.pcur - (n), (n))
#define | WARN_SPACE_CHAR(c, prefix) rb_warn1("invalid character syntax; use "prefix"\\%c", WARN_I(c2))
#define | ESCAPE_CONTROL 1
#define | ESCAPE_META 2
#define | mixed_error(enc1, enc2) (void)(erred || (parser_mixed_error(p, enc1, enc2), erred = true))
#define | mixed_escape(beg, enc1, enc2) (void)(erred || (parser_mixed_escape(p, beg, enc1, enc2), erred = true))
#define | NEW_STRTERM(func, term, paren) new_strterm((VALUE)(func), (VALUE)(paren), (VALUE)(term), 0)
#define | flush_string_content(p, enc) ((void)(enc))
#define | BIT(c, idx) (((c) / 32 - 1 == idx) ? (1U << ((c) % 32)) : 0)
#define | SPECIAL_PUNCT(idx)
#define | IS_ARG() IS_lex_state(EXPR_ARG_ANY)
#define | IS_END() IS_lex_state(EXPR_END_ANY)
#define | IS_BEG() (IS_lex_state(EXPR_BEG_ANY) || IS_lex_state_all(EXPR_ARG|EXPR_LABELED))
#define | IS_SPCARG(c) (IS_ARG() && space_seen && !ISSPACE(c))
#define | IS_LABEL_POSSIBLE()
#define | IS_LABEL_SUFFIX(n) (peek_n(p, ':',(n)) && !peek_n(p, ':', (n)+1))
#define | IS_AFTER_OPERATOR() IS_lex_state(EXPR_FNAME | EXPR_DOT)
#define | unterminated_literal(mesg) yyerror0(mesg)
#define | NUM_SUFFIX_R (1<<0)
#define | NUM_SUFFIX_I (1<<1)
#define | NUM_SUFFIX_ALL 3
#define | dispatch_heredoc_end(p) ((void)0)
#define | ERR(mesg) yyerror0(mesg)
#define | str_copy(_s, _p, _n)
#define | ambiguous_operator(tok, op, syn)
#define | warn_balanced(tok, op, syn)
#define | LVAR_USED ((ID)1 << (sizeof(ID) * CHAR_BIT - 1))
#define | nd_once_body(node) (nd_type(node) == NODE_ONCE ? (node)->nd_body : node)
#define | SHAREABLE_BARE_EXPRESSION 1
#define | shareable_literal_constant_next(n) shareable_literal_constant(p, shareable, dest, (n), &(n)->nd_loc, level+1)
#define | subnodes(n1, n2)
#define | SWITCH_BY_COND_TYPE(t, w, arg)
#define | HEAPCNT(n, size) ((n) * (size) / sizeof(YYSTYPE))
#define | NEWHEAP() rb_imemo_tmpbuf_parser_heap(0, p->heap, 0)
#define | ADD2HEAP(new, cnt, ptr)

## Typedefs
typedef VALUE | stack_type
typedef struct token_info | token_info
typedef struct rb_strterm_struct | rb_strterm_t
typedef struct rb_strterm_heredoc_struct | rb_strterm_heredoc_t
typedef struct rb_strterm_literal_struct | rb_strterm_literal_t
typedef enum yysymbol_kind_t | yysymbol_kind_t
typedef int_least8_t | yytype_int8
typedef int_least16_t | yytype_int16
typedef uint_least8_t | yytype_uint8
typedef uint_least16_t | yytype_uint16
typedef yytype_int16 | yy_state_t
typedef int | yy_state_fast_t
typedef long(* | rb_magic_comment_length_t) (struct parser_params *p, const char *name, long len)
typedef void(* | rb_magic_comment_setter_t) (struct parser_params *p, const char *name, const char *val)

## Enumerations
enum | shareability { shareable_none , shareable_literal , shareable_copy , shareable_everything , shareable_none , shareable_literal , shareable_copy , shareable_everything }
enum | lex_state_bits { EXPR_BEG_bit , EXPR_END_bit , EXPR_ENDARG_bit , EXPR_ENDFN_bit , EXPR_ARG_bit , EXPR_CMDARG_bit , EXPR_MID_bit , EXPR_FNAME_bit , EXPR_DOT_bit , EXPR_CLASS_bit , EXPR_LABEL_bit , EXPR_LABELED_bit , EXPR_FITEM_bit , EXPR_MAX_STATE , EXPR_BEG_bit , EXPR_END_bit , EXPR_ENDARG_bit , EXPR_ENDFN_bit , EXPR_ARG_bit , EXPR_CMDARG_bit , EXPR_MID_bit , EXPR_FNAME_bit , EXPR_DOT_bit , EXPR_CLASS_bit , EXPR_LABEL_bit , EXPR_LABELED_bit , EXPR_FITEM_bit , EXPR_MAX_STATE }
enum | lex_state_e { DEF_EXPR =(BEG) , DEF_EXPR =(BEG) , DEF_EXPR =(BEG) , DEF_EXPR =(BEG) , DEF_EXPR =(BEG) , DEF_EXPR =(BEG) , DEF_EXPR =(BEG) , DEF_EXPR =(BEG) , DEF_EXPR =(BEG) , DEF_EXPR =(BEG) , DEF_EXPR =(BEG) , DEF_EXPR =(BEG) , DEF_EXPR =(BEG) , DEF_EXPR =(BEG) , EXPR_VALUE = EXPR_BEG , EXPR_BEG_ANY = (EXPR_BEG | EXPR_MID | EXPR_CLASS) , EXPR_ARG_ANY = (EXPR_ARG | EXPR_CMDARG) , EXPR_END_ANY = (EXPR_END | EXPR_ENDARG | EXPR_ENDFN) , EXPR_NONE = 0 , DEF_EXPR =(BEG) , DEF_EXPR =(BEG) , DEF_EXPR =(BEG) , DEF_EXPR =(BEG) , DEF_EXPR =(BEG) , DEF_EXPR =(BEG) , DEF_EXPR =(BEG) , DEF_EXPR =(BEG) , DEF_EXPR =(BEG) , DEF_EXPR =(BEG) , DEF_EXPR =(BEG) , DEF_EXPR =(BEG) , DEF_EXPR =(BEG) , DEF_EXPR =(BEG) , EXPR_VALUE = EXPR_BEG , EXPR_BEG_ANY = (EXPR_BEG | EXPR_MID | EXPR_CLASS) , EXPR_ARG_ANY = (EXPR_ARG | EXPR_CMDARG) , EXPR_END_ANY = (EXPR_END | EXPR_ENDARG | EXPR_ENDFN) , EXPR_NONE = 0 }
enum | { ORDINAL_PARAM = -1 , NO_PARAM = 0 , NUMPARAM_MAX = 9 }
enum | yysymbol_kind_t { YYSYMBOL_YYEMPTY = -2 , YYSYMBOL_YYEOF = 0 , YYSYMBOL_YYerror = 1 , YYSYMBOL_YYUNDEF = 2 , YYSYMBOL_keyword_class = 3 , YYSYMBOL_keyword_module = 4 , YYSYMBOL_keyword_def = 5 , YYSYMBOL_keyword_undef = 6 , YYSYMBOL_keyword_begin = 7 , YYSYMBOL_keyword_rescue = 8 , YYSYMBOL_keyword_ensure = 9 , YYSYMBOL_keyword_end = 10 , YYSYMBOL_keyword_if = 11 , YYSYMBOL_keyword_unless = 12 , YYSYMBOL_keyword_then = 13 , YYSYMBOL_keyword_elsif = 14 , YYSYMBOL_keyword_else = 15 , YYSYMBOL_keyword_case = 16 , YYSYMBOL_keyword_when = 17 , YYSYMBOL_keyword_while = 18 , YYSYMBOL_keyword_until = 19 , YYSYMBOL_keyword_for = 20 , YYSYMBOL_keyword_break = 21 , YYSYMBOL_keyword_next = 22 , YYSYMBOL_keyword_redo = 23 , YYSYMBOL_keyword_retry = 24 , YYSYMBOL_keyword_in = 25 , YYSYMBOL_keyword_do = 26 , YYSYMBOL_keyword_do_cond = 27 , YYSYMBOL_keyword_do_block = 28 , YYSYMBOL_keyword_do_LAMBDA = 29 , YYSYMBOL_keyword_return = 30 , YYSYMBOL_keyword_yield = 31 , YYSYMBOL_keyword_super = 32 , YYSYMBOL_keyword_self = 33 , YYSYMBOL_keyword_nil = 34 , YYSYMBOL_keyword_true = 35 , YYSYMBOL_keyword_false = 36 , YYSYMBOL_keyword_and = 37 , YYSYMBOL_keyword_or = 38 , YYSYMBOL_keyword_not = 39 , YYSYMBOL_modifier_if = 40 , YYSYMBOL_modifier_unless = 41 , YYSYMBOL_modifier_while = 42 , YYSYMBOL_modifier_until = 43 , YYSYMBOL_modifier_rescue = 44 , YYSYMBOL_keyword_alias = 45 , YYSYMBOL_keyword_defined = 46 , YYSYMBOL_keyword_BEGIN = 47 , YYSYMBOL_keyword_END = 48 , YYSYMBOL_keyword__LINE__ = 49 , YYSYMBOL_keyword__FILE__ = 50 , YYSYMBOL_keyword__ENCODING__ = 51 , YYSYMBOL_tIDENTIFIER = 52 , YYSYMBOL_tFID = 53 , YYSYMBOL_tGVAR = 54 , YYSYMBOL_tIVAR = 55 , YYSYMBOL_tCONSTANT = 56 , YYSYMBOL_tCVAR = 57 , YYSYMBOL_tLABEL = 58 , YYSYMBOL_tINTEGER = 59 , YYSYMBOL_tFLOAT = 60 , YYSYMBOL_tRATIONAL = 61 , YYSYMBOL_tIMAGINARY = 62 , YYSYMBOL_tCHAR = 63 , YYSYMBOL_tNTH_REF = 64 , YYSYMBOL_tBACK_REF = 65 , YYSYMBOL_tSTRING_CONTENT = 66 , YYSYMBOL_tREGEXP_END = 67 , YYSYMBOL_68_ = 68 , YYSYMBOL_69_backslash_ = 69 , YYSYMBOL_tSP = 70 , YYSYMBOL_71_escaped_horizontal_tab_ = 71 , YYSYMBOL_72_escaped_form_feed_ = 72 , YYSYMBOL_73_escaped_carriage_return_ = 73 , YYSYMBOL_74_escaped_vertical_tab_ = 74 , YYSYMBOL_tUPLUS = 75 , YYSYMBOL_tUMINUS = 76 , YYSYMBOL_tPOW = 77 , YYSYMBOL_tCMP = 78 , YYSYMBOL_tEQ = 79 , YYSYMBOL_tEQQ = 80 , YYSYMBOL_tNEQ = 81 , YYSYMBOL_tGEQ = 82 , YYSYMBOL_tLEQ = 83 , YYSYMBOL_tANDOP = 84 , YYSYMBOL_tOROP = 85 , YYSYMBOL_tMATCH = 86 , YYSYMBOL_tNMATCH = 87 , YYSYMBOL_tDOT2 = 88 , YYSYMBOL_tDOT3 = 89 , YYSYMBOL_tBDOT2 = 90 , YYSYMBOL_tBDOT3 = 91 , YYSYMBOL_tAREF = 92 , YYSYMBOL_tASET = 93 , YYSYMBOL_tLSHFT = 94 , YYSYMBOL_tRSHFT = 95 , YYSYMBOL_tANDDOT = 96 , YYSYMBOL_tCOLON2 = 97 , YYSYMBOL_tCOLON3 = 98 , YYSYMBOL_tOP_ASGN = 99 , YYSYMBOL_tASSOC = 100 , YYSYMBOL_tLPAREN = 101 , YYSYMBOL_tLPAREN_ARG = 102 , YYSYMBOL_tRPAREN = 103 , YYSYMBOL_tLBRACK = 104 , YYSYMBOL_tLBRACE = 105 , YYSYMBOL_tLBRACE_ARG = 106 , YYSYMBOL_tSTAR = 107 , YYSYMBOL_tDSTAR = 108 , YYSYMBOL_tAMPER = 109 , YYSYMBOL_tLAMBDA = 110 , YYSYMBOL_tSYMBEG = 111 , YYSYMBOL_tSTRING_BEG = 112 , YYSYMBOL_tXSTRING_BEG = 113 , YYSYMBOL_tREGEXP_BEG = 114 , YYSYMBOL_tWORDS_BEG = 115 , YYSYMBOL_tQWORDS_BEG = 116 , YYSYMBOL_tSYMBOLS_BEG = 117 , YYSYMBOL_tQSYMBOLS_BEG = 118 , YYSYMBOL_tSTRING_END = 119 , YYSYMBOL_tSTRING_DEND = 120 , YYSYMBOL_tSTRING_DBEG = 121 , YYSYMBOL_tSTRING_DVAR = 122 , YYSYMBOL_tLAMBEG = 123 , YYSYMBOL_tLABEL_END = 124 , YYSYMBOL_tLOWEST = 125 , YYSYMBOL_126_ = 126 , YYSYMBOL_127_ = 127 , YYSYMBOL_128_ = 128 , YYSYMBOL_129_ = 129 , YYSYMBOL_130_ = 130 , YYSYMBOL_131_ = 131 , YYSYMBOL_132_ = 132 , YYSYMBOL_133_ = 133 , YYSYMBOL_134_ = 134 , YYSYMBOL_135_ = 135 , YYSYMBOL_136_ = 136 , YYSYMBOL_137_ = 137 , YYSYMBOL_138_ = 138 , YYSYMBOL_tUMINUS_NUM = 139 , YYSYMBOL_140_ = 140 , YYSYMBOL_141_ = 141 , YYSYMBOL_tLAST_TOKEN = 142 , YYSYMBOL_143_ = 143 , YYSYMBOL_144_ = 144 , YYSYMBOL_145_ = 145 , YYSYMBOL_146_ = 146 , YYSYMBOL_147_ = 147 , YYSYMBOL_148_ = 148 , YYSYMBOL_149_ = 149 , YYSYMBOL_150_ = 150 , YYSYMBOL_151_ = 151 , YYSYMBOL_152_ = 152 , YYSYMBOL_153_n_ = 153 , YYSYMBOL_YYACCEPT = 154 , YYSYMBOL_program = 155 , YYSYMBOL_156_1 = 156 , YYSYMBOL_top_compstmt = 157 , YYSYMBOL_top_stmts = 158 , YYSYMBOL_top_stmt = 159 , YYSYMBOL_begin_block = 160 , YYSYMBOL_bodystmt = 161 , YYSYMBOL_162_2 = 162 , YYSYMBOL_compstmt = 163 , YYSYMBOL_stmts = 164 , YYSYMBOL_stmt_or_begin = 165 , YYSYMBOL_166_3 = 166 , YYSYMBOL_stmt = 167 , YYSYMBOL_168_4 = 168 , YYSYMBOL_command_asgn = 169 , YYSYMBOL_command_rhs = 170 , YYSYMBOL_expr = 171 , YYSYMBOL_172_5 = 172 , YYSYMBOL_173_6 = 173 , YYSYMBOL_174_7 = 174 , YYSYMBOL_175_8 = 175 , YYSYMBOL_176_9 = 176 , YYSYMBOL_177_10 = 177 , YYSYMBOL_def_name = 178 , YYSYMBOL_defn_head = 179 , YYSYMBOL_defs_head = 180 , YYSYMBOL_181_11 = 181 , YYSYMBOL_expr_value = 182 , YYSYMBOL_expr_value_do = 183 , YYSYMBOL_184_12 = 184 , YYSYMBOL_185_13 = 185 , YYSYMBOL_command_call = 186 , YYSYMBOL_block_command = 187 , YYSYMBOL_cmd_brace_block = 188 , YYSYMBOL_fcall = 189 , YYSYMBOL_command = 190 , YYSYMBOL_mlhs = 191 , YYSYMBOL_mlhs_inner = 192 , YYSYMBOL_mlhs_basic = 193 , YYSYMBOL_mlhs_item = 194 , YYSYMBOL_mlhs_head = 195 , YYSYMBOL_mlhs_post = 196 , YYSYMBOL_mlhs_node = 197 , YYSYMBOL_lhs = 198 , YYSYMBOL_cname = 199 , YYSYMBOL_cpath = 200 , YYSYMBOL_fname = 201 , YYSYMBOL_fitem = 202 , YYSYMBOL_undef_list = 203 , YYSYMBOL_204_14 = 204 , YYSYMBOL_op = 205 , YYSYMBOL_reswords = 206 , YYSYMBOL_arg = 207 , YYSYMBOL_208_15 = 208 , YYSYMBOL_relop = 209 , YYSYMBOL_rel_expr = 210 , YYSYMBOL_lex_ctxt = 211 , YYSYMBOL_arg_value = 212 , YYSYMBOL_aref_args = 213 , YYSYMBOL_arg_rhs = 214 , YYSYMBOL_paren_args = 215 , YYSYMBOL_opt_paren_args = 216 , YYSYMBOL_opt_call_args = 217 , YYSYMBOL_call_args = 218 , YYSYMBOL_command_args = 219 , YYSYMBOL_220_16 = 220 , YYSYMBOL_block_arg = 221 , YYSYMBOL_opt_block_arg = 222 , YYSYMBOL_args = 223 , YYSYMBOL_mrhs_arg = 224 , YYSYMBOL_mrhs = 225 , YYSYMBOL_primary = 226 , YYSYMBOL_227_17 = 227 , YYSYMBOL_228_18 = 228 , YYSYMBOL_229_19 = 229 , YYSYMBOL_230_20 = 230 , YYSYMBOL_231_21 = 231 , YYSYMBOL_232_22 = 232 , YYSYMBOL_233_23 = 233 , YYSYMBOL_234_24 = 234 , YYSYMBOL_235_25 = 235 , YYSYMBOL_primary_value = 236 , YYSYMBOL_k_begin = 237 , YYSYMBOL_k_if = 238 , YYSYMBOL_k_unless = 239 , YYSYMBOL_k_while = 240 , YYSYMBOL_k_until = 241 , YYSYMBOL_k_case = 242 , YYSYMBOL_k_for = 243 , YYSYMBOL_k_class = 244 , YYSYMBOL_k_module = 245 , YYSYMBOL_k_def = 246 , YYSYMBOL_k_do = 247 , YYSYMBOL_k_do_block = 248 , YYSYMBOL_k_rescue = 249 , YYSYMBOL_k_ensure = 250 , YYSYMBOL_k_when = 251 , YYSYMBOL_k_else = 252 , YYSYMBOL_k_elsif = 253 , YYSYMBOL_k_end = 254 , YYSYMBOL_k_return = 255 , YYSYMBOL_then = 256 , YYSYMBOL_do = 257 , YYSYMBOL_if_tail = 258 , YYSYMBOL_opt_else = 259 , YYSYMBOL_for_var = 260 , YYSYMBOL_f_marg = 261 , YYSYMBOL_f_marg_list = 262 , YYSYMBOL_f_margs = 263 , YYSYMBOL_f_rest_marg = 264 , YYSYMBOL_f_any_kwrest = 265 , YYSYMBOL_block_args_tail = 266 , YYSYMBOL_opt_block_args_tail = 267 , YYSYMBOL_excessed_comma = 268 , YYSYMBOL_block_param = 269 , YYSYMBOL_opt_block_param = 270 , YYSYMBOL_block_param_def = 271 , YYSYMBOL_opt_bv_decl = 272 , YYSYMBOL_bv_decls = 273 , YYSYMBOL_bvar = 274 , YYSYMBOL_lambda = 275 , YYSYMBOL_276_26 = 276 , YYSYMBOL_277_27 = 277 , YYSYMBOL_278_28 = 278 , YYSYMBOL_279_29 = 279 , YYSYMBOL_f_larglist = 280 , YYSYMBOL_lambda_body = 281 , YYSYMBOL_do_block = 282 , YYSYMBOL_block_call = 283 , YYSYMBOL_method_call = 284 , YYSYMBOL_brace_block = 285 , YYSYMBOL_brace_body = 286 , YYSYMBOL_287_30 = 287 , YYSYMBOL_288_31 = 288 , YYSYMBOL_289_32 = 289 , YYSYMBOL_do_body = 290 , YYSYMBOL_291_33 = 291 , YYSYMBOL_292_34 = 292 , YYSYMBOL_293_35 = 293 , YYSYMBOL_case_args = 294 , YYSYMBOL_case_body = 295 , YYSYMBOL_cases = 296 , YYSYMBOL_p_case_body = 297 , YYSYMBOL_298_36 = 298 , YYSYMBOL_299_37 = 299 , YYSYMBOL_300_38 = 300 , YYSYMBOL_p_cases = 301 , YYSYMBOL_p_top_expr = 302 , YYSYMBOL_p_top_expr_body = 303 , YYSYMBOL_p_expr = 304 , YYSYMBOL_p_as = 305 , YYSYMBOL_p_alt = 306 , YYSYMBOL_p_lparen = 307 , YYSYMBOL_p_lbracket = 308 , YYSYMBOL_p_expr_basic = 309 , YYSYMBOL_310_39 = 310 , YYSYMBOL_311_40 = 311 , YYSYMBOL_p_args = 312 , YYSYMBOL_p_args_head = 313 , YYSYMBOL_p_args_tail = 314 , YYSYMBOL_p_find = 315 , YYSYMBOL_p_rest = 316 , YYSYMBOL_p_args_post = 317 , YYSYMBOL_p_arg = 318 , YYSYMBOL_p_kwargs = 319 , YYSYMBOL_p_kwarg = 320 , YYSYMBOL_p_kw = 321 , YYSYMBOL_p_kw_label = 322 , YYSYMBOL_p_kwrest = 323 , YYSYMBOL_p_kwnorest = 324 , YYSYMBOL_p_any_kwrest = 325 , YYSYMBOL_p_value = 326 , YYSYMBOL_p_primitive = 327 , YYSYMBOL_p_variable = 328 , YYSYMBOL_p_var_ref = 329 , YYSYMBOL_p_const = 330 , YYSYMBOL_opt_rescue = 331 , YYSYMBOL_exc_list = 332 , YYSYMBOL_exc_var = 333 , YYSYMBOL_opt_ensure = 334 , YYSYMBOL_literal = 335 , YYSYMBOL_strings = 336 , YYSYMBOL_string = 337 , YYSYMBOL_string1 = 338 , YYSYMBOL_xstring = 339 , YYSYMBOL_regexp = 340 , YYSYMBOL_words = 341 , YYSYMBOL_word_list = 342 , YYSYMBOL_word = 343 , YYSYMBOL_symbols = 344 , YYSYMBOL_symbol_list = 345 , YYSYMBOL_qwords = 346 , YYSYMBOL_qsymbols = 347 , YYSYMBOL_qword_list = 348 , YYSYMBOL_qsym_list = 349 , YYSYMBOL_string_contents = 350 , YYSYMBOL_xstring_contents = 351 , YYSYMBOL_regexp_contents = 352 , YYSYMBOL_string_content = 353 , YYSYMBOL_354_41 = 354 , YYSYMBOL_355_42 = 355 , YYSYMBOL_356_43 = 356 , YYSYMBOL_357_44 = 357 , YYSYMBOL_358_45 = 358 , YYSYMBOL_359_46 = 359 , YYSYMBOL_string_dvar = 360 , YYSYMBOL_symbol = 361 , YYSYMBOL_ssym = 362 , YYSYMBOL_sym = 363 , YYSYMBOL_dsym = 364 , YYSYMBOL_numeric = 365 , YYSYMBOL_simple_numeric = 366 , YYSYMBOL_user_variable = 367 , YYSYMBOL_keyword_variable = 368 , YYSYMBOL_var_ref = 369 , YYSYMBOL_var_lhs = 370 , YYSYMBOL_backref = 371 , YYSYMBOL_superclass = 372 , YYSYMBOL_373_47 = 373 , YYSYMBOL_f_opt_paren_args = 374 , YYSYMBOL_f_paren_args = 375 , YYSYMBOL_f_arglist = 376 , YYSYMBOL_377_48 = 377 , YYSYMBOL_args_tail = 378 , YYSYMBOL_opt_args_tail = 379 , YYSYMBOL_f_args = 380 , YYSYMBOL_args_forward = 381 , YYSYMBOL_f_bad_arg = 382 , YYSYMBOL_f_norm_arg = 383 , YYSYMBOL_f_arg_asgn = 384 , YYSYMBOL_f_arg_item = 385 , YYSYMBOL_f_arg = 386 , YYSYMBOL_f_label = 387 , YYSYMBOL_f_kw = 388 , YYSYMBOL_f_block_kw = 389 , YYSYMBOL_f_block_kwarg = 390 , YYSYMBOL_f_kwarg = 391 , YYSYMBOL_kwrest_mark = 392 , YYSYMBOL_f_no_kwarg = 393 , YYSYMBOL_f_kwrest = 394 , YYSYMBOL_f_opt = 395 , YYSYMBOL_f_block_opt = 396 , YYSYMBOL_f_block_optarg = 397 , YYSYMBOL_f_optarg = 398 , YYSYMBOL_restarg_mark = 399 , YYSYMBOL_f_rest_arg = 400 , YYSYMBOL_blkarg_mark = 401 , YYSYMBOL_f_block_arg = 402 , YYSYMBOL_opt_f_block_arg = 403 , YYSYMBOL_singleton = 404 , YYSYMBOL_405_49 = 405 , YYSYMBOL_assoc_list = 406 , YYSYMBOL_assocs = 407 , YYSYMBOL_assoc = 408 , YYSYMBOL_operation = 409 , YYSYMBOL_operation2 = 410 , YYSYMBOL_operation3 = 411 , YYSYMBOL_dot_or_colon = 412 , YYSYMBOL_call_op = 413 , YYSYMBOL_call_op2 = 414 , YYSYMBOL_opt_terms = 415 , YYSYMBOL_opt_nl = 416 , YYSYMBOL_rparen = 417 , YYSYMBOL_rbracket = 418 , YYSYMBOL_rbrace = 419 , YYSYMBOL_trailer = 420 , YYSYMBOL_term = 421 , YYSYMBOL_terms = 422 , YYSYMBOL_none = 423 , YYSYMBOL_YYEMPTY = -2 , YYSYMBOL_YYEOF = 0 , YYSYMBOL_YYerror = 1 , YYSYMBOL_YYUNDEF = 2 , YYSYMBOL_keyword_class = 3 , YYSYMBOL_keyword_module = 4 , YYSYMBOL_keyword_def = 5 , YYSYMBOL_keyword_undef = 6 , YYSYMBOL_keyword_begin = 7 , YYSYMBOL_keyword_rescue = 8 , YYSYMBOL_keyword_ensure = 9 , YYSYMBOL_keyword_end = 10 , YYSYMBOL_keyword_if = 11 , YYSYMBOL_keyword_unless = 12 , YYSYMBOL_keyword_then = 13 , YYSYMBOL_keyword_elsif = 14 , YYSYMBOL_keyword_else = 15 , YYSYMBOL_keyword_case = 16 , YYSYMBOL_keyword_when = 17 , YYSYMBOL_keyword_while = 18 , YYSYMBOL_keyword_until = 19 , YYSYMBOL_keyword_for = 20 , YYSYMBOL_keyword_break = 21 , YYSYMBOL_keyword_next = 22 , YYSYMBOL_keyword_redo = 23 , YYSYMBOL_keyword_retry = 24 , YYSYMBOL_keyword_in = 25 , YYSYMBOL_keyword_do = 26 , YYSYMBOL_keyword_do_cond = 27 , YYSYMBOL_keyword_do_block = 28 , YYSYMBOL_keyword_do_LAMBDA = 29 , YYSYMBOL_keyword_return = 30 , YYSYMBOL_keyword_yield = 31 , YYSYMBOL_keyword_super = 32 , YYSYMBOL_keyword_self = 33 , YYSYMBOL_keyword_nil = 34 , YYSYMBOL_keyword_true = 35 , YYSYMBOL_keyword_false = 36 , YYSYMBOL_keyword_and = 37 , YYSYMBOL_keyword_or = 38 , YYSYMBOL_keyword_not = 39 , YYSYMBOL_modifier_if = 40 , YYSYMBOL_modifier_unless = 41 , YYSYMBOL_modifier_while = 42 , YYSYMBOL_modifier_until = 43 , YYSYMBOL_modifier_rescue = 44 , YYSYMBOL_keyword_alias = 45 , YYSYMBOL_keyword_defined = 46 , YYSYMBOL_keyword_BEGIN = 47 , YYSYMBOL_keyword_END = 48 , YYSYMBOL_keyword__LINE__ = 49 , YYSYMBOL_keyword__FILE__ = 50 , YYSYMBOL_keyword__ENCODING__ = 51 , YYSYMBOL_tIDENTIFIER = 52 , YYSYMBOL_tFID = 53 , YYSYMBOL_tGVAR = 54 , YYSYMBOL_tIVAR = 55 , YYSYMBOL_tCONSTANT = 56 , YYSYMBOL_tCVAR = 57 , YYSYMBOL_tLABEL = 58 , YYSYMBOL_tINTEGER = 59 , YYSYMBOL_tFLOAT = 60 , YYSYMBOL_tRATIONAL = 61 , YYSYMBOL_tIMAGINARY = 62 , YYSYMBOL_tCHAR = 63 , YYSYMBOL_tNTH_REF = 64 , YYSYMBOL_tBACK_REF = 65 , YYSYMBOL_tSTRING_CONTENT = 66 , YYSYMBOL_tREGEXP_END = 67 , YYSYMBOL_68_ = 68 , YYSYMBOL_69_backslash_ = 69 , YYSYMBOL_tSP = 70 , YYSYMBOL_71_escaped_horizontal_tab_ = 71 , YYSYMBOL_72_escaped_form_feed_ = 72 , YYSYMBOL_73_escaped_carriage_return_ = 73 , YYSYMBOL_74_escaped_vertical_tab_ = 74 , YYSYMBOL_tUPLUS = 75 , YYSYMBOL_tUMINUS = 76 , YYSYMBOL_tPOW = 77 , YYSYMBOL_tCMP = 78 , YYSYMBOL_tEQ = 79 , YYSYMBOL_tEQQ = 80 , YYSYMBOL_tNEQ = 81 , YYSYMBOL_tGEQ = 82 , YYSYMBOL_tLEQ = 83 , YYSYMBOL_tANDOP = 84 , YYSYMBOL_tOROP = 85 , YYSYMBOL_tMATCH = 86 , YYSYMBOL_tNMATCH = 87 , YYSYMBOL_tDOT2 = 88 , YYSYMBOL_tDOT3 = 89 , YYSYMBOL_tBDOT2 = 90 , YYSYMBOL_tBDOT3 = 91 , YYSYMBOL_tAREF = 92 , YYSYMBOL_tASET = 93 , YYSYMBOL_tLSHFT = 94 , YYSYMBOL_tRSHFT = 95 , YYSYMBOL_tANDDOT = 96 , YYSYMBOL_tCOLON2 = 97 , YYSYMBOL_tCOLON3 = 98 , YYSYMBOL_tOP_ASGN = 99 , YYSYMBOL_tASSOC = 100 , YYSYMBOL_tLPAREN = 101 , YYSYMBOL_tLPAREN_ARG = 102 , YYSYMBOL_tRPAREN = 103 , YYSYMBOL_tLBRACK = 104 , YYSYMBOL_tLBRACE = 105 , YYSYMBOL_tLBRACE_ARG = 106 , YYSYMBOL_tSTAR = 107 , YYSYMBOL_tDSTAR = 108 , YYSYMBOL_tAMPER = 109 , YYSYMBOL_tLAMBDA = 110 , YYSYMBOL_tSYMBEG = 111 , YYSYMBOL_tSTRING_BEG = 112 , YYSYMBOL_tXSTRING_BEG = 113 , YYSYMBOL_tREGEXP_BEG = 114 , YYSYMBOL_tWORDS_BEG = 115 , YYSYMBOL_tQWORDS_BEG = 116 , YYSYMBOL_tSYMBOLS_BEG = 117 , YYSYMBOL_tQSYMBOLS_BEG = 118 , YYSYMBOL_tSTRING_END = 119 , YYSYMBOL_tSTRING_DEND = 120 , YYSYMBOL_tSTRING_DBEG = 121 , YYSYMBOL_tSTRING_DVAR = 122 , YYSYMBOL_tLAMBEG = 123 , YYSYMBOL_tLABEL_END = 124 , YYSYMBOL_tLOWEST = 125 , YYSYMBOL_126_ = 126 , YYSYMBOL_127_ = 127 , YYSYMBOL_128_ = 128 , YYSYMBOL_129_ = 129 , YYSYMBOL_130_ = 130 , YYSYMBOL_131_ = 131 , YYSYMBOL_132_ = 132 , YYSYMBOL_133_ = 133 , YYSYMBOL_134_ = 134 , YYSYMBOL_135_ = 135 , YYSYMBOL_136_ = 136 , YYSYMBOL_137_ = 137 , YYSYMBOL_138_ = 138 , YYSYMBOL_tUMINUS_NUM = 139 , YYSYMBOL_140_ = 140 , YYSYMBOL_141_ = 141 , YYSYMBOL_tLAST_TOKEN = 142 , YYSYMBOL_143_ = 143 , YYSYMBOL_144_ = 144 , YYSYMBOL_145_ = 145 , YYSYMBOL_146_ = 146 , YYSYMBOL_147_ = 147 , YYSYMBOL_148_ = 148 , YYSYMBOL_149_ = 149 , YYSYMBOL_150_ = 150 , YYSYMBOL_151_ = 151 , YYSYMBOL_152_ = 152 , YYSYMBOL_153_n_ = 153 , YYSYMBOL_YYACCEPT = 154 , YYSYMBOL_program = 155 , YYSYMBOL_156_1 = 156 , YYSYMBOL_top_compstmt = 157 , YYSYMBOL_top_stmts = 158 , YYSYMBOL_top_stmt = 159 , YYSYMBOL_begin_block = 160 , YYSYMBOL_bodystmt = 161 , YYSYMBOL_162_2 = 162 , YYSYMBOL_compstmt = 163 , YYSYMBOL_stmts = 164 , YYSYMBOL_stmt_or_begin = 165 , YYSYMBOL_166_3 = 166 , YYSYMBOL_stmt = 167 , YYSYMBOL_168_4 = 168 , YYSYMBOL_command_asgn = 169 , YYSYMBOL_command_rhs = 170 , YYSYMBOL_expr = 171 , YYSYMBOL_172_5 = 172 , YYSYMBOL_173_6 = 173 , YYSYMBOL_174_7 = 174 , YYSYMBOL_175_8 = 175 , YYSYMBOL_176_9 = 176 , YYSYMBOL_177_10 = 177 , YYSYMBOL_def_name = 178 , YYSYMBOL_defn_head = 179 , YYSYMBOL_defs_head = 180 , YYSYMBOL_181_11 = 181 , YYSYMBOL_expr_value = 182 , YYSYMBOL_expr_value_do = 183 , YYSYMBOL_184_12 = 184 , YYSYMBOL_185_13 = 185 , YYSYMBOL_command_call = 186 , YYSYMBOL_block_command = 187 , YYSYMBOL_cmd_brace_block = 188 , YYSYMBOL_fcall = 189 , YYSYMBOL_command = 190 , YYSYMBOL_mlhs = 191 , YYSYMBOL_mlhs_inner = 192 , YYSYMBOL_mlhs_basic = 193 , YYSYMBOL_mlhs_item = 194 , YYSYMBOL_mlhs_head = 195 , YYSYMBOL_mlhs_post = 196 , YYSYMBOL_mlhs_node = 197 , YYSYMBOL_lhs = 198 , YYSYMBOL_cname = 199 , YYSYMBOL_cpath = 200 , YYSYMBOL_fname = 201 , YYSYMBOL_fitem = 202 , YYSYMBOL_undef_list = 203 , YYSYMBOL_204_14 = 204 , YYSYMBOL_op = 205 , YYSYMBOL_reswords = 206 , YYSYMBOL_arg = 207 , YYSYMBOL_208_15 = 208 , YYSYMBOL_relop = 209 , YYSYMBOL_rel_expr = 210 , YYSYMBOL_lex_ctxt = 211 , YYSYMBOL_arg_value = 212 , YYSYMBOL_aref_args = 213 , YYSYMBOL_arg_rhs = 214 , YYSYMBOL_paren_args = 215 , YYSYMBOL_opt_paren_args = 216 , YYSYMBOL_opt_call_args = 217 , YYSYMBOL_call_args = 218 , YYSYMBOL_command_args = 219 , YYSYMBOL_220_16 = 220 , YYSYMBOL_block_arg = 221 , YYSYMBOL_opt_block_arg = 222 , YYSYMBOL_args = 223 , YYSYMBOL_mrhs_arg = 224 , YYSYMBOL_mrhs = 225 , YYSYMBOL_primary = 226 , YYSYMBOL_227_17 = 227 , YYSYMBOL_228_18 = 228 , YYSYMBOL_229_19 = 229 , YYSYMBOL_230_20 = 230 , YYSYMBOL_231_21 = 231 , YYSYMBOL_232_22 = 232 , YYSYMBOL_233_23 = 233 , YYSYMBOL_234_24 = 234 , YYSYMBOL_235_25 = 235 , YYSYMBOL_primary_value = 236 , YYSYMBOL_k_begin = 237 , YYSYMBOL_k_if = 238 , YYSYMBOL_k_unless = 239 , YYSYMBOL_k_while = 240 , YYSYMBOL_k_until = 241 , YYSYMBOL_k_case = 242 , YYSYMBOL_k_for = 243 , YYSYMBOL_k_class = 244 , YYSYMBOL_k_module = 245 , YYSYMBOL_k_def = 246 , YYSYMBOL_k_do = 247 , YYSYMBOL_k_do_block = 248 , YYSYMBOL_k_rescue = 249 , YYSYMBOL_k_ensure = 250 , YYSYMBOL_k_when = 251 , YYSYMBOL_k_else = 252 , YYSYMBOL_k_elsif = 253 , YYSYMBOL_k_end = 254 , YYSYMBOL_k_return = 255 , YYSYMBOL_then = 256 , YYSYMBOL_do = 257 , YYSYMBOL_if_tail = 258 , YYSYMBOL_opt_else = 259 , YYSYMBOL_for_var = 260 , YYSYMBOL_f_marg = 261 , YYSYMBOL_f_marg_list = 262 , YYSYMBOL_f_margs = 263 , YYSYMBOL_f_rest_marg = 264 , YYSYMBOL_f_any_kwrest = 265 , YYSYMBOL_block_args_tail = 266 , YYSYMBOL_opt_block_args_tail = 267 , YYSYMBOL_excessed_comma = 268 , YYSYMBOL_block_param = 269 , YYSYMBOL_opt_block_param = 270 , YYSYMBOL_block_param_def = 271 , YYSYMBOL_opt_bv_decl = 272 , YYSYMBOL_bv_decls = 273 , YYSYMBOL_bvar = 274 , YYSYMBOL_lambda = 275 , YYSYMBOL_276_26 = 276 , YYSYMBOL_277_27 = 277 , YYSYMBOL_278_28 = 278 , YYSYMBOL_279_29 = 279 , YYSYMBOL_f_larglist = 280 , YYSYMBOL_lambda_body = 281 , YYSYMBOL_do_block = 282 , YYSYMBOL_block_call = 283 , YYSYMBOL_method_call = 284 , YYSYMBOL_brace_block = 285 , YYSYMBOL_brace_body = 286 , YYSYMBOL_287_30 = 287 , YYSYMBOL_288_31 = 288 , YYSYMBOL_289_32 = 289 , YYSYMBOL_do_body = 290 , YYSYMBOL_291_33 = 291 , YYSYMBOL_292_34 = 292 , YYSYMBOL_293_35 = 293 , YYSYMBOL_case_args = 294 , YYSYMBOL_case_body = 295 , YYSYMBOL_cases = 296 , YYSYMBOL_p_case_body = 297 , YYSYMBOL_298_36 = 298 , YYSYMBOL_299_37 = 299 , YYSYMBOL_300_38 = 300 , YYSYMBOL_p_cases = 301 , YYSYMBOL_p_top_expr = 302 , YYSYMBOL_p_top_expr_body = 303 , YYSYMBOL_p_expr = 304 , YYSYMBOL_p_as = 305 , YYSYMBOL_p_alt = 306 , YYSYMBOL_p_lparen = 307 , YYSYMBOL_p_lbracket = 308 , YYSYMBOL_p_expr_basic = 309 , YYSYMBOL_310_39 = 310 , YYSYMBOL_311_40 = 311 , YYSYMBOL_p_args = 312 , YYSYMBOL_p_args_head = 313 , YYSYMBOL_p_args_tail = 314 , YYSYMBOL_p_find = 315 , YYSYMBOL_p_rest = 316 , YYSYMBOL_p_args_post = 317 , YYSYMBOL_p_arg = 318 , YYSYMBOL_p_kwargs = 319 , YYSYMBOL_p_kwarg = 320 , YYSYMBOL_p_kw = 321 , YYSYMBOL_p_kw_label = 322 , YYSYMBOL_p_kwrest = 323 , YYSYMBOL_p_kwnorest = 324 , YYSYMBOL_p_any_kwrest = 325 , YYSYMBOL_p_value = 326 , YYSYMBOL_p_primitive = 327 , YYSYMBOL_p_variable = 328 , YYSYMBOL_p_var_ref = 329 , YYSYMBOL_p_const = 330 , YYSYMBOL_opt_rescue = 331 , YYSYMBOL_exc_list = 332 , YYSYMBOL_exc_var = 333 , YYSYMBOL_opt_ensure = 334 , YYSYMBOL_literal = 335 , YYSYMBOL_strings = 336 , YYSYMBOL_string = 337 , YYSYMBOL_string1 = 338 , YYSYMBOL_xstring = 339 , YYSYMBOL_regexp = 340 , YYSYMBOL_words = 341 , YYSYMBOL_word_list = 342 , YYSYMBOL_word = 343 , YYSYMBOL_symbols = 344 , YYSYMBOL_symbol_list = 345 , YYSYMBOL_qwords = 346 , YYSYMBOL_qsymbols = 347 , YYSYMBOL_qword_list = 348 , YYSYMBOL_qsym_list = 349 , YYSYMBOL_string_contents = 350 , YYSYMBOL_xstring_contents = 351 , YYSYMBOL_regexp_contents = 352 , YYSYMBOL_string_content = 353 , YYSYMBOL_354_41 = 354 , YYSYMBOL_355_42 = 355 , YYSYMBOL_356_43 = 356 , YYSYMBOL_357_44 = 357 , YYSYMBOL_358_45 = 358 , YYSYMBOL_359_46 = 359 , YYSYMBOL_string_dvar = 360 , YYSYMBOL_symbol = 361 , YYSYMBOL_ssym = 362 , YYSYMBOL_sym = 363 , YYSYMBOL_dsym = 364 , YYSYMBOL_numeric = 365 , YYSYMBOL_simple_numeric = 366 , YYSYMBOL_user_variable = 367 , YYSYMBOL_keyword_variable = 368 , YYSYMBOL_var_ref = 369 , YYSYMBOL_var_lhs = 370 , YYSYMBOL_backref = 371 , YYSYMBOL_superclass = 372 , YYSYMBOL_373_47 = 373 , YYSYMBOL_f_opt_paren_args = 374 , YYSYMBOL_f_paren_args = 375 , YYSYMBOL_f_arglist = 376 , YYSYMBOL_377_48 = 377 , YYSYMBOL_args_tail = 378 , YYSYMBOL_opt_args_tail = 379 , YYSYMBOL_f_args = 380 , YYSYMBOL_args_forward = 381 , YYSYMBOL_f_bad_arg = 382 , YYSYMBOL_f_norm_arg = 383 , YYSYMBOL_f_arg_asgn = 384 , YYSYMBOL_f_arg_item = 385 , YYSYMBOL_f_arg = 386 , YYSYMBOL_f_label = 387 , YYSYMBOL_f_kw = 388 , YYSYMBOL_f_block_kw = 389 , YYSYMBOL_f_block_kwarg = 390 , YYSYMBOL_f_kwarg = 391 , YYSYMBOL_kwrest_mark = 392 , YYSYMBOL_f_no_kwarg = 393 , YYSYMBOL_f_kwrest = 394 , YYSYMBOL_f_opt = 395 , YYSYMBOL_f_block_opt = 396 , YYSYMBOL_f_block_optarg = 397 , YYSYMBOL_f_optarg = 398 , YYSYMBOL_restarg_mark = 399 , YYSYMBOL_f_rest_arg = 400 , YYSYMBOL_blkarg_mark = 401 , YYSYMBOL_f_block_arg = 402 , YYSYMBOL_opt_f_block_arg = 403 , YYSYMBOL_singleton = 404 , YYSYMBOL_405_49 = 405 , YYSYMBOL_assoc_list = 406 , YYSYMBOL_assocs = 407 , YYSYMBOL_assoc = 408 , YYSYMBOL_operation = 409 , YYSYMBOL_operation2 = 410 , YYSYMBOL_operation3 = 411 , YYSYMBOL_dot_or_colon = 412 , YYSYMBOL_call_op = 413 , YYSYMBOL_call_op2 = 414 , YYSYMBOL_opt_terms = 415 , YYSYMBOL_opt_nl = 416 , YYSYMBOL_rparen = 417 , YYSYMBOL_rbracket = 418 , YYSYMBOL_rbrace = 419 , YYSYMBOL_trailer = 420 , YYSYMBOL_term = 421 , YYSYMBOL_terms = 422 , YYSYMBOL_none = 423 }
enum | { YYENOMEM = -2 }
enum | string_type { str_label = STR_FUNC_LABEL , str_squote = (0) , str_dquote = (STR_FUNC_EXPAND) , str_xquote = (STR_FUNC_EXPAND) , str_regexp = (STR_FUNC_REGEXP|STR_FUNC_ESCAPE|STR_FUNC_EXPAND) , str_sword = (STR_FUNC_QWORDS|STR_FUNC_LIST) , str_dword = (STR_FUNC_QWORDS|STR_FUNC_EXPAND|STR_FUNC_LIST) , str_ssym = (STR_FUNC_SYMBOL) , str_dsym = (STR_FUNC_SYMBOL|STR_FUNC_EXPAND) , str_label = STR_FUNC_LABEL , str_squote = (0) , str_dquote = (STR_FUNC_EXPAND) , str_xquote = (STR_FUNC_EXPAND) , str_regexp = (STR_FUNC_REGEXP|STR_FUNC_ESCAPE|STR_FUNC_EXPAND) , str_sword = (STR_FUNC_QWORDS|STR_FUNC_LIST) , str_dword = (STR_FUNC_QWORDS|STR_FUNC_EXPAND|STR_FUNC_LIST) , str_ssym = (STR_FUNC_SYMBOL) , str_dsym = (STR_FUNC_SYMBOL|STR_FUNC_EXPAND) }
enum | cond_type { COND_IN_OP , COND_IN_COND , COND_IN_FF , COND_IN_OP , COND_IN_COND , COND_IN_FF }

## Functions
VALUE | rb_parser_reg_compile (struct parser_params *p, VALUE str, int options)
int | rb_reg_fragment_setenc (struct parser_params *, VALUE, int)
enum lex_state_e | rb_parser_trace_lex_state (struct parser_params *, enum lex_state_e, enum lex_state_e, int)
VALUE | rb_parser_lex_state_name (enum lex_state_e state)
void | rb_parser_show_bitstack (struct parser_params *, stack_type, const char *, int)
void | rb_parser_fatal (struct parser_params *p, const char *fmt,...)
YYLTYPE * | rb_parser_set_location_from_strterm_heredoc (struct parser_params *p, rb_strterm_heredoc_t *here, YYLTYPE *yylloc)
YYLTYPE * | rb_parser_set_location_of_none (struct parser_params *p, YYLTYPE *yylloc)
YYLTYPE * | rb_parser_set_location (struct parser_params *p, YYLTYPE *yylloc)
| STATIC_ASSERT (rb_strterm_heredoc_t, sizeof(rb_strterm_heredoc_t)<=4 *SIZEOF_VALUE)
void | rb_strterm_mark (VALUE obj)
size_t | rb_yytnamerr (struct parser_params *p, char *yyres, const char *yystr)
int | yyparse (struct parser_params *p)
rb_ast_t * | rb_parser_compile_string (VALUE vparser, const char *f, VALUE s, int line)
rb_ast_t * | rb_parser_compile_string_path (VALUE vparser, VALUE f, VALUE s, int line)
VALUE | rb_io_gets_internal (VALUE io)
rb_ast_t * | rb_parser_compile_file_path (VALUE vparser, VALUE fname, VALUE file, int start)
rb_ast_t * | rb_parser_compile_generic (VALUE vparser, VALUE(*lex_gets)(VALUE, int), VALUE fname, VALUE input, int start)
void | rb_parser_set_options (VALUE vparser, int print, int loop, int chomp, int split)
void | rb_init_parse (void)
const struct kwtable * | rb_reserved_word (const char *str, unsigned int len)
VALUE | rb_parser_new (void)
VALUE | rb_parser_set_context (VALUE vparser, const struct rb_iseq_struct *base, int main)
VALUE | rb_parser_end_seen_p (VALUE vparser)
VALUE | rb_parser_encoding (VALUE vparser)
VALUE | rb_parser_set_yydebug (VALUE self, VALUE flag)
VALUE | rb_parser_get_debug_output (VALUE self)
VALUE | rb_parser_set_debug_output (VALUE self, VALUE output)
void * | rb_parser_malloc (struct parser_params *p, size_t size)
void * | rb_parser_calloc (struct parser_params *p, size_t nelem, size_t size)
void * | rb_parser_realloc (struct parser_params *p, void *ptr, size_t size)
void | rb_parser_free (struct parser_params *p, void *ptr)
void | rb_parser_printf (struct parser_params *p, const char *fmt,...)

## Variables
const unsigned int | ruby_global_name_punct_bits [(0x7e - 0x20+31)/32]
VALUE | rb_mRubyVMFrozenCore

## Macro Definition Documentation

## ◆ ADD2HEAP

#define ADD2HEAP | ( |  | new,
|  |  | cnt,
|  |  | ptr
| ) |  |

Value:
((p->heap = (new))->ptr = (ptr), \
(new)->cnt = (cnt), (ptr))
ptr
struct RIMemo * ptr
Definition: debug.c:88
cnt
rb_atomic_t cnt[RUBY_NSIG]
Definition: signal.c:508

Definition at line 20931 of file ripper.c.

## ◆ add_delayed_token

#define add_delayed_token | ( |  | p,
|  |  | tok,
|  |  | end
| ) |  | ((void)(tok), (void)(end))

Definition at line 14127 of file ripper.c.

## ◆ ambiguous_operator

#define ambiguous_operator | ( |  | tok,
|  |  | op,
|  |  | syn
| ) |  |

Value:
( \
rb_warning0("`"op"' after local variable or literal is interpreted as binary operator"), \
rb_warning0("even though it seems like "syn""))

Definition at line 16017 of file ripper.c.

## ◆ AREF

#define AREF | ( |  | ary,
|  |  | i
| ) |  | RARRAY_AREF(ary, i)

Definition at line 136 of file ripper.c.

## ◆ BIT

#define BIT | ( |  | c,
|  |  | idx
| ) |  | (((c) / 32 - 1 == idx) ? (1U << ((c) % 32)) : 0)

Definition at line 14904 of file ripper.c.

## ◆ BITSTACK_POP

#define BITSTACK_POP | ( |  | stack | ) | (((p->stack) = (p->stack) >> 1), SHOW_BITSTACK(p->stack, #stack"(pop)"))

Definition at line 236 of file ripper.c.

## ◆ BITSTACK_PUSH

#define BITSTACK_PUSH | ( |  | stack,
|  |  | n
| ) |  | (((p->stack) = ((p->stack)<<1)|((n)&1)), SHOW_BITSTACK(p->stack, #stack"(push)"))

Definition at line 235 of file ripper.c.

## ◆ BITSTACK_SET

#define BITSTACK_SET | ( |  | stack,
|  |  | n
| ) |  | ((p->stack)=(n), SHOW_BITSTACK(p->stack, #stack"(set)"))

Definition at line 238 of file ripper.c.

## ◆ BITSTACK_SET_P

#define BITSTACK_SET_P | ( |  | stack | ) | (SHOW_BITSTACK(p->stack, #stack), (p->stack)&1)

Definition at line 237 of file ripper.c.

## ◆ CALL_Q_P

#define CALL_Q_P | ( |  | q | ) | ((q) == TOKEN2VAL(tANDDOT))

Definition at line 477 of file ripper.c.

## ◆ CMDARG_P

#define CMDARG_P | ( |  | ) | BITSTACK_SET_P(cmdarg_stack)

Definition at line 251 of file ripper.c.

## ◆ CMDARG_POP

#define CMDARG_POP | ( |  | ) | BITSTACK_POP(cmdarg_stack)

Definition at line 250 of file ripper.c.

## ◆ CMDARG_PUSH

#define CMDARG_PUSH | ( |  | n | ) | BITSTACK_PUSH(cmdarg_stack, (n))

Definition at line 249 of file ripper.c.

## ◆ CMDARG_SET

#define CMDARG_SET | ( |  | n | ) | BITSTACK_SET(cmdarg_stack, (n))

Definition at line 252 of file ripper.c.

## ◆ compile_error

#define compile_error parser_compile_error

Definition at line 1131 of file ripper.c.

## ◆ compile_for_eval

#define compile_for_eval (p->parent_iseq != 0)

Definition at line 472 of file ripper.c.

## ◆ COND_P

#define COND_P | ( |  | ) | BITSTACK_SET_P(cond_stack)

Definition at line 244 of file ripper.c.

## ◆ COND_POP

#define COND_POP | ( |  | ) | BITSTACK_POP(cond_stack)

Definition at line 243 of file ripper.c.

## ◆ COND_PUSH

#define COND_PUSH | ( |  | n | ) | BITSTACK_PUSH(cond_stack, (n))

Definition at line 242 of file ripper.c.

## ◆ COND_SET

#define COND_SET | ( |  | n | ) | BITSTACK_SET(cond_stack, (n))

Definition at line 245 of file ripper.c.

## ◆ CSI_BEGIN

#define CSI_BEGIN "\033["

## ◆ CSI_SGR

#define CSI_SGR "m"

## ◆ DEF_EXPR

#define DEF_EXPR | ( |  | n | ) | EXPR_##n = (1 << EXPR_##n##_bit)

Definition at line 199 of file ripper.c.

## ◆ dispatch_delayed_token

#define dispatch_delayed_token | ( |  | p,
|  |  | t
| ) |  | ((void)0)

Definition at line 13389 of file ripper.c.

## ◆ dispatch_heredoc_end

#define dispatch_heredoc_end | ( |  | p | ) | ((void)0)

Definition at line 15388 of file ripper.c.

## ◆ dispatch_scan_event

#define dispatch_scan_event | ( |  | p,
|  |  | t
| ) |  | ((void)0)

Definition at line 13388 of file ripper.c.

## ◆ DVARS_INHERIT

#define DVARS_INHERIT ((void*)1)

Definition at line 294 of file ripper.c.

## ◆ DVARS_TERMINAL_P

#define DVARS_TERMINAL_P | ( |  | tbl | ) | ((tbl) == DVARS_INHERIT || (tbl) == DVARS_TOPSCOPE)

Definition at line 296 of file ripper.c.

## ◆ DVARS_TOPSCOPE

#define DVARS_TOPSCOPE NULL

Definition at line 295 of file ripper.c.

## ◆ dyna_var

#define dyna_var | ( |  | p,
|  |  | id
| ) |  | local_var(p, id)

Definition at line 740 of file ripper.c.

## ◆ ERR

#define ERR | ( |  | mesg | ) | yyerror0(mesg)

## ◆ ESCAPE_CONTROL

#define ESCAPE_CONTROL 1

Definition at line 14414 of file ripper.c.

## ◆ ESCAPE_META

#define ESCAPE_META 2

Definition at line 14415 of file ripper.c.

## ◆ flush_string_content

#define flush_string_content | ( |  | p,
|  |  | enc
| ) |  | ((void)(enc))

Definition at line 14897 of file ripper.c.

## ◆ get_id

#define get_id | ( |  | id | ) | (id)

Definition at line 641 of file ripper.c.

## ◆ get_num

#define get_num | ( |  | num | ) | (num)

Definition at line 643 of file ripper.c.

## ◆ get_value

#define get_value | ( |  | val | ) | (val)

Definition at line 642 of file ripper.c.

## ◆ has_delayed_token

#define has_delayed_token | ( |  | p | ) | (0)

Definition at line 13390 of file ripper.c.

## ◆ HEAPCNT

#define HEAPCNT | ( |  | n,
|  |  | size
| ) |  | ((n) * (size) / sizeof(YYSTYPE))

Definition at line 20927 of file ripper.c.

## ◆ HERETERM_LENGTH_BITS

#define HERETERM_LENGTH_BITS ((SIZEOF_VALUE - 1) * CHAR_BIT - 1)

Definition at line 792 of file ripper.c.

## ◆ HERETERM_LENGTH_MAX

#define HERETERM_LENGTH_MAX UINT_MAX

Definition at line 803 of file ripper.c.

## ◆ ID2VAL

#define ID2VAL | ( |  | id | ) | (id)

Definition at line 1010 of file ripper.c.

## ◆ idFWD_BLOCK

#define idFWD_BLOCK '&'

Definition at line 762 of file ripper.c.

## ◆ idFWD_KWREST

#define idFWD_KWREST 0

Definition at line 760 of file ripper.c.

## ◆ idFWD_REST

#define idFWD_REST '*'

Definition at line 756 of file ripper.c.

## ◆ ifndef_ripper

#define ifndef_ripper | ( |  | x | ) | (x)

Definition at line 1063 of file ripper.c.

## ◆ intern_cstr

#define intern_cstr | ( |  | n,
|  |  | l,
|  |  | en
| ) |  | rb_intern3(n,l,en)

Definition at line 419 of file ripper.c.

## ◆ IS_AFTER_OPERATOR

#define IS_AFTER_OPERATOR | ( |  | ) | IS_lex_state(EXPR_FNAME | EXPR_DOT)

Definition at line 14965 of file ripper.c.

## ◆ IS_ARG

#define IS_ARG | ( |  | ) | IS_lex_state(EXPR_ARG_ANY)

Definition at line 14957 of file ripper.c.

## ◆ IS_BEG

#define IS_BEG | ( |  | ) | (IS_lex_state(EXPR_BEG_ANY) || IS_lex_state_all(EXPR_ARG|EXPR_LABELED))

Definition at line 14959 of file ripper.c.

## ◆ IS_END

#define IS_END | ( |  | ) | IS_lex_state(EXPR_END_ANY)

Definition at line 14958 of file ripper.c.

## ◆ IS_LABEL_POSSIBLE

#define IS_LABEL_POSSIBLE | ( |  | ) |

Value:
(\
(IS_lex_state(EXPR_LABEL|EXPR_ENDFN) && !cmd_state) || \
IS_ARG())
IS_lex_state
#define IS_lex_state(ls)
Definition: ripper.c:221
IS_ARG
#define IS_ARG()
Definition: ripper.c:14957

Definition at line 14961 of file ripper.c.

## ◆ IS_LABEL_SUFFIX

#define IS_LABEL_SUFFIX | ( |  | n | ) | (peek_n(p, ':',(n)) && !peek_n(p, ':', (n)+1))

Definition at line 14964 of file ripper.c.

## ◆ IS_lex_state

#define IS_lex_state | ( |  | ls | ) | IS_lex_state_for(p->lex.state, (ls))

Definition at line 221 of file ripper.c.

## ◆ IS_lex_state_all

#define IS_lex_state_all | ( |  | ls | ) | IS_lex_state_all_for(p->lex.state, (ls))

Definition at line 222 of file ripper.c.

## ◆ IS_lex_state_all_for

#define IS_lex_state_all_for | ( |  | x,
|  |  | ls
| ) |  | (((x) & (ls)) == (ls))

Definition at line 220 of file ripper.c.

## ◆ IS_lex_state_for

#define IS_lex_state_for | ( |  | x,
|  |  | ls
| ) |  | ((x) & (ls))

Definition at line 219 of file ripper.c.

## ◆ IS_SPCARG

#define IS_SPCARG | ( |  | c | ) | (IS_ARG() && space_seen && !ISSPACE(c))

Definition at line 14960 of file ripper.c.

## ◆ KWD2EID

#define KWD2EID | ( |  | t,
|  |  | v
| ) |  | keyword_##t

Definition at line 1012 of file ripper.c.

## ◆ lambda_beginning_p

#define lambda_beginning_p | ( |  | ) | (p->lex.lpar_beg == p->lex.paren_nest)

Definition at line 481 of file ripper.c.

## ◆ lex_eol_n_p

#define lex_eol_n_p | ( |  | p,
|  |  | n
| ) |  | ((p)->lex.pcur+(n) >= (p)->lex.pend)

Definition at line 14105 of file ripper.c.

## ◆ lex_eol_p

#define lex_eol_p | ( |  | p | ) | ((p)->lex.pcur >= (p)->lex.pend)

Definition at line 14104 of file ripper.c.

## ◆ lex_goto_eol

#define lex_goto_eol | ( |  | p | ) | ((p)->lex.pcur = (p)->lex.pend)

Definition at line 14103 of file ripper.c.

## ◆ literal_flush

#define literal_flush | ( |  | p,
|  |  | ptr
| ) |  | ((p)->lex.ptok = (ptr))

Definition at line 13387 of file ripper.c.

## ◆ LVAR_USED

#define LVAR_USED ((ID)1 << (sizeof(ID) * CHAR_BIT - 1))

Definition at line 17509 of file ripper.c.

## ◆ make_list

#define make_list | ( |  | list,
|  |  | loc
| ) |  | ((list) ? (nd_set_loc(list, loc), list) : NEW_ZLIST(loc))

Definition at line 621 of file ripper.c.

## ◆ METHOD_NOT

#define METHOD_NOT '!'

Definition at line 753 of file ripper.c.

## ◆ mixed_error

#define mixed_error | ( |  | enc1,
|  |  | enc2
| ) |  | (void)(erred || (parser_mixed_error(p, enc1, enc2), erred = true))

## ◆ mixed_escape

#define mixed_escape | ( |  | beg,
|  |  | enc1,
|  |  | enc2
| ) |  | (void)(erred || (parser_mixed_escape(p, beg, enc1, enc2), erred = true))

## ◆ nd_once_body

#define nd_once_body | ( |  | node | ) | (nd_type(node) == NODE_ONCE ? (node)->nd_body : node)

Definition at line 17870 of file ripper.c.

## ◆ new_nil

#define new_nil | ( |  | loc | ) | NEW_NIL(loc)

Definition at line 537 of file ripper.c.

## ◆ NEW_QCALL

#define NEW_QCALL | ( |  | q,
|  |  | r,
|  |  | m,
|  |  | a,
|  |  | loc
| ) |  | NEW_NODE(NODE_CALL_Q(q),r,m,a,loc)

Definition at line 479 of file ripper.c.

## ◆ NEW_STRTERM

#define NEW_STRTERM | ( |  | func,
|  |  | term,
|  |  | paren
| ) |  | new_strterm((VALUE)(func), (VALUE)(paren), (VALUE)(term), 0)

Definition at line 14872 of file ripper.c.

## ◆ NEWHEAP

#define NEWHEAP | ( |  | ) | rb_imemo_tmpbuf_parser_heap(0, p->heap, 0)

Definition at line 20930 of file ripper.c.

## ◆ NO_LEX_CTXT

#define NO_LEX_CTXT (struct lex_context){0}

Definition at line 134 of file ripper.c.

## ◆ NODE_CALL_Q

#define NODE_CALL_Q | ( |  | q | ) | (CALL_Q_P(q) ? NODE_QCALL : NODE_CALL)

Definition at line 478 of file ripper.c.

## ◆ NUM_SUFFIX_ALL

#define NUM_SUFFIX_ALL 3

Definition at line 15318 of file ripper.c.

## ◆ NUM_SUFFIX_I

#define NUM_SUFFIX_I (1<<1)

Definition at line 15317 of file ripper.c.

## ◆ NUM_SUFFIX_R

#define NUM_SUFFIX_R (1<<0)

Definition at line 15316 of file ripper.c.

## ◆ NUMPARAM_ID_P

#define NUMPARAM_ID_P | ( |  | id | ) | numparam_id_p(id)

Definition at line 282 of file ripper.c.

## ◆ NUMPARAM_ID_TO_IDX

#define NUMPARAM_ID_TO_IDX | ( |  | id | ) | (unsigned int)(((id) >> ID_SCOPE_SHIFT) - tNUMPARAM_1 + 1)

Definition at line 283 of file ripper.c.

## ◆ NUMPARAM_IDX_TO_ID

#define NUMPARAM_IDX_TO_ID | ( |  | idx | ) | TOKEN2LOCALID((tNUMPARAM_1 + (idx) - 1))

Definition at line 284 of file ripper.c.

## ◆ peek

#define peek | ( |  | p,
|  |  | c
| ) |  | peek_n(p, (c), 0)

Definition at line 14106 of file ripper.c.

## ◆ peek_n

#define peek_n | ( |  | p,
|  |  | c,
|  |  | n
| ) |  | (!lex_eol_n_p(p, n) && (c) == (unsigned char)(p)->lex.pcur[n])

Definition at line 14107 of file ripper.c.

## ◆ peekc

#define peekc | ( |  | p | ) | peekc_n(p, 0)

Definition at line 14108 of file ripper.c.

## ◆ peekc_n

#define peekc_n | ( |  | p,
|  |  | n
| ) |  | (lex_eol_n_p(p, n) ? -1 : (unsigned char)(p)->lex.pcur[n])

Definition at line 14109 of file ripper.c.

## ◆ PRIsWARN

#define PRIsWARN PRIsVALUE

Definition at line 1122 of file ripper.c.

## ◆ Qnone

#define Qnone 0

Definition at line 1061 of file ripper.c.

## ◆ Qnull

#define Qnull 0

Definition at line 1062 of file ripper.c.

## ◆ rb_node_newnode

#define rb_node_newnode | ( |  | type,
|  |  | a1,
|  |  | a2,
|  |  | a3,
|  |  | loc
| ) |  | node_newnode(p, (type), (a1), (a2), (a3), (loc))

Definition at line 509 of file ripper.c.

## ◆ rb_warn0

#define rb_warn0 | ( |  | fmt | ) | WARN_CALL(WARN_ARGS(fmt, 1))

Definition at line 1070 of file ripper.c.

## ◆ rb_warn0L

#define rb_warn0L | ( |  | l,
|  |  | fmt
| ) |  | WARN_CALL(WARN_ARGS_L(l, fmt, 1))

Definition at line 1080 of file ripper.c.

## ◆ rb_warn0L_experimental

#define rb_warn0L_experimental | ( |  | l,
|  |  | fmt
| ) |  | rb_category_compile_warn(RB_WARN_CATEGORY_EXPERIMENTAL, WARN_ARGS_L(l, fmt, 1))

Definition at line 1126 of file ripper.c.

## ◆ rb_warn1

#define rb_warn1 | ( |  | fmt,
|  |  | a
| ) |  | WARN_CALL(WARN_ARGS(fmt, 2), (a))

Definition at line 1071 of file ripper.c.

## ◆ rb_warn1L

#define rb_warn1L | ( |  | l,
|  |  | fmt,
|  |  | a
| ) |  | WARN_CALL(WARN_ARGS_L(l, fmt, 2), (a))

Definition at line 1081 of file ripper.c.

## ◆ rb_warn2

#define rb_warn2 | ( |  | fmt,
|  |  | a,
|  |  | b
| ) |  | WARN_CALL(WARN_ARGS(fmt, 3), (a), (b))

Definition at line 1072 of file ripper.c.

## ◆ rb_warn2L

#define rb_warn2L | ( |  | l,
|  |  | fmt,
|  |  | a,
|  |  | b
| ) |  | WARN_CALL(WARN_ARGS_L(l, fmt, 3), (a), (b))

Definition at line 1082 of file ripper.c.

## ◆ rb_warn3

#define rb_warn3 | ( |  | fmt,
|  |  | a,
|  |  | b,
|  |  | c
| ) |  | WARN_CALL(WARN_ARGS(fmt, 4), (a), (b), (c))

Definition at line 1073 of file ripper.c.

## ◆ rb_warn3L

#define rb_warn3L | ( |  | l,
|  |  | fmt,
|  |  | a,
|  |  | b,
|  |  | c
| ) |  | WARN_CALL(WARN_ARGS_L(l, fmt, 4), (a), (b), (c))

Definition at line 1083 of file ripper.c.

## ◆ rb_warn4

#define rb_warn4 | ( |  | fmt,
|  |  | a,
|  |  | b,
|  |  | c,
|  |  | d
| ) |  | WARN_CALL(WARN_ARGS(fmt, 5), (a), (b), (c), (d))

Definition at line 1074 of file ripper.c.

## ◆ rb_warn4L

#define rb_warn4L | ( |  | l,
|  |  | fmt,
|  |  | a,
|  |  | b,
|  |  | c,
|  |  | d
| ) |  | WARN_CALL(WARN_ARGS_L(l, fmt, 5), (a), (b), (c), (d))

Definition at line 1084 of file ripper.c.

## ◆ rb_warning0

#define rb_warning0 | ( |  | fmt | ) | WARNING_CALL(WARNING_ARGS(fmt, 1))

Definition at line 1075 of file ripper.c.

## ◆ rb_warning0L

#define rb_warning0L | ( |  | l,
|  |  | fmt
| ) |  | WARNING_CALL(WARNING_ARGS_L(l, fmt, 1))

Definition at line 1085 of file ripper.c.

## ◆ rb_warning1

#define rb_warning1 | ( |  | fmt,
|  |  | a
| ) |  | WARNING_CALL(WARNING_ARGS(fmt, 2), (a))

Definition at line 1076 of file ripper.c.

## ◆ rb_warning1L

#define rb_warning1L | ( |  | l,
|  |  | fmt,
|  |  | a
| ) |  | WARNING_CALL(WARNING_ARGS_L(l, fmt, 2), (a))

Definition at line 1086 of file ripper.c.

## ◆ rb_warning2

#define rb_warning2 | ( |  | fmt,
|  |  | a,
|  |  | b
| ) |  | WARNING_CALL(WARNING_ARGS(fmt, 3), (a), (b))

Definition at line 1077 of file ripper.c.

## ◆ rb_warning2L

#define rb_warning2L | ( |  | l,
|  |  | fmt,
|  |  | a,
|  |  | b
| ) |  | WARNING_CALL(WARNING_ARGS_L(l, fmt, 3), (a), (b))

Definition at line 1087 of file ripper.c.

## ◆ rb_warning3

#define rb_warning3 | ( |  | fmt,
|  |  | a,
|  |  | b,
|  |  | c
| ) |  | WARNING_CALL(WARNING_ARGS(fmt, 4), (a), (b), (c))

Definition at line 1078 of file ripper.c.

## ◆ rb_warning3L

#define rb_warning3L | ( |  | l,
|  |  | fmt,
|  |  | a,
|  |  | b,
|  |  | c
| ) |  | WARNING_CALL(WARNING_ARGS_L(l, fmt, 4), (a), (b), (c))

Definition at line 1088 of file ripper.c.

## ◆ rb_warning4

#define rb_warning4 | ( |  | fmt,
|  |  | a,
|  |  | b,
|  |  | c,
|  |  | d
| ) |  | WARNING_CALL(WARNING_ARGS(fmt, 5), (a), (b), (c), (d))

Definition at line 1079 of file ripper.c.

## ◆ rb_warning4L

#define rb_warning4L | ( |  | l,
|  |  | fmt,
|  |  | a,
|  |  | b,
|  |  | c,
|  |  | d
| ) |  | WARNING_CALL(WARNING_ARGS_L(l, fmt, 5), (a), (b), (c), (d))

Definition at line 1089 of file ripper.c.

## ◆ RE_OPTION_ARG_ENCODING_NONE

#define RE_OPTION_ARG_ENCODING_NONE 32

Definition at line 770 of file ripper.c.

## ◆ RE_OPTION_ENCODING

#define RE_OPTION_ENCODING | ( |  | e | ) | (((e)&0xff)<<RE_OPTION_ENCODING_SHIFT)

Definition at line 766 of file ripper.c.

## ◆ RE_OPTION_ENCODING_IDX

#define RE_OPTION_ENCODING_IDX | ( |  | o | ) | (((o)>>RE_OPTION_ENCODING_SHIFT)&0xff)

Definition at line 767 of file ripper.c.

## ◆ RE_OPTION_ENCODING_NONE

#define RE_OPTION_ENCODING_NONE | ( |  | o | ) | ((o)&RE_OPTION_ARG_ENCODING_NONE)

Definition at line 768 of file ripper.c.

## ◆ RE_OPTION_ENCODING_SHIFT

#define RE_OPTION_ENCODING_SHIFT 8

Definition at line 765 of file ripper.c.

## ◆ RE_OPTION_MASK

#define RE_OPTION_MASK 0xff

Definition at line 769 of file ripper.c.

## ◆ RE_OPTION_ONCE

#define RE_OPTION_ONCE (1<<16)

Definition at line 764 of file ripper.c.

## ◆ RUBY_DTRACE_PARSE_HOOK

#define RUBY_DTRACE_PARSE_HOOK | ( |  | name | ) |

Value:
if (RUBY_DTRACE_PARSE_##name##_ENABLED()) { \
RUBY_DTRACE_PARSE_##name(p->ruby_sourcefile, p->ruby_sourceline); \
}
name
const char * name
Definition: nkf.c:208

## ◆ RUBY_INIT_YYLLOC

#define RUBY_INIT_YYLLOC | ( |  | ) |

Value:
{ \
{p->ruby_sourceline, (int)(p->lex.ptok - p->lex.pbeg)}, \
{p->ruby_sourceline, (int)(p->lex.pcur - p->lex.pbeg)}, \
}
int
typedef int(ZCALLBACK *close_file_func) OF((voidpf opaque

Definition at line 175 of file ripper.c.

## ◆ RUBY_SET_YYLLOC

#define RUBY_SET_YYLLOC | ( |  | Current | ) | rb_parser_set_location(p, &(Current))

Definition at line 173 of file ripper.c.

## ◆ RUBY_SET_YYLLOC_FROM_STRTERM_HEREDOC

#define RUBY_SET_YYLLOC_FROM_STRTERM_HEREDOC | ( |  | Current | ) | rb_parser_set_location_from_strterm_heredoc(p, &p->lex.strterm->u.heredoc, &(Current))

Definition at line 169 of file ripper.c.

## ◆ RUBY_SET_YYLLOC_OF_NONE

#define RUBY_SET_YYLLOC_OF_NONE | ( |  | Current | ) | rb_parser_set_location_of_none(p, &(Current))

Definition at line 171 of file ripper.c.

## ◆ SET_LEX_STATE

#define SET_LEX_STATE | ( |  | ls | ) |

Value:
(p->lex.state = \
(p->debug ? \
rb_parser_trace_lex_state(p, p->lex.state, (ls), __LINE__) : \
(enum lex_state_e)(ls)))
lex_state_e
lex_state_e
Definition: ripper.c:198

Definition at line 224 of file ripper.c.

## ◆ set_yylval_id

#define set_yylval_id | ( |  | x | ) | (yylval.id = (x))

Definition at line 13365 of file ripper.c.

## ◆ set_yylval_literal

#define set_yylval_literal | ( |  | x | ) |

Value:
do { \
set_yylval_node(NEW_LIT(x, &_cur_loc)); \
RB_OBJ_WRITTEN(p->ast, Qnil, x); \
} while(0)
NEW_LIT
#define NEW_LIT(l, loc)
Definition: node.h:344
Qnil
#define Qnil
Definition: special_consts.h:51

Definition at line 13359 of file ripper.c.

## ◆ set_yylval_name

#define set_yylval_name | ( |  | x | ) | (yylval.id = (x))

Definition at line 13366 of file ripper.c.

## ◆ set_yylval_node

#define set_yylval_node | ( |  | x | ) |

Value:
{ \
YYLTYPE _cur_loc; \
rb_parser_set_location(p, &_cur_loc); \
yylval.node = (x); \
}
yylval
#define yylval
Definition: ripper.c:13340
YYLTYPE
Definition: parse.h:205

Definition at line 13349 of file ripper.c.

## ◆ set_yylval_noname

#define set_yylval_noname | ( |  | ) | set_yylval_id(keyword_nil)

Definition at line 13384 of file ripper.c.

## ◆ set_yylval_num

#define set_yylval_num | ( |  | x | ) | (yylval.num = (x))

Definition at line 13364 of file ripper.c.

## ◆ set_yylval_str

#define set_yylval_str | ( |  | x | ) |

Value:
do { \
set_yylval_node(NEW_STR(x, &_cur_loc)); \
RB_OBJ_WRITTEN(p->ast, Qnil, x); \
} while(0)
NEW_STR
#define NEW_STR(s, loc)
Definition: node.h:345

Definition at line 13354 of file ripper.c.

## ◆ SHAREABLE_BARE_EXPRESSION

#define SHAREABLE_BARE_EXPRESSION 1

Definition at line 18820 of file ripper.c.

## ◆ shareable_literal_constant_next

#define shareable_literal_constant_next | ( |  | n | ) | shareable_literal_constant(p, shareable, dest, (n), &(n)->nd_loc, level+1)

## ◆ SHOW_BITSTACK

#define SHOW_BITSTACK | ( |  | stack,
|  |  | name
| ) |  | (p->debug ? rb_parser_show_bitstack(p, stack, name, __LINE__) : (void)0)

Definition at line 234 of file ripper.c.

## ◆ SPECIAL_PUNCT

#define SPECIAL_PUNCT | ( |  | idx | ) |

Value:
( \
BIT('~', idx) | BIT('*', idx) | BIT('$', idx) | BIT('?', idx) | \
BIT('!', idx) | BIT('@', idx) | BIT('/', idx) | BIT('\\', idx) | \
BIT(';', idx) | BIT(',', idx) | BIT('.', idx) | BIT('=', idx) | \
BIT(':', idx) | BIT('<', idx) | BIT('>', idx) | BIT('\"', idx) | \
BIT('&', idx) | BIT('`', idx) | BIT('\'', idx) | BIT('+', idx) | \
BIT('0', idx))
BIT
#define BIT(c, idx)
Definition: ripper.c:14904

Definition at line 14905 of file ripper.c.

## ◆ str_copy

#define str_copy | ( |  | _s,
|  |  | _p,
|  |  | _n
| ) |  |

Value:
((_s) \
? (void)(rb_str_resize((_s), (_n)), \
MEMCPY(RSTRING_PTR(_s), (_p), char, (_n)), (_s)) \
: (void)((_s) = STR_NEW((_p), (_n))))
RSTRING_PTR
#define RSTRING_PTR(string)
Definition: fbuffer.h:19
rb_str_resize
VALUE rb_str_resize(VALUE, long)
Definition: string.c:2859
STR_NEW
#define STR_NEW(ptr, len)
Definition: ripper.c:421

## ◆ STR_FUNC_ESCAPE

#define STR_FUNC_ESCAPE 0x01

Definition at line 14064 of file ripper.c.

## ◆ STR_FUNC_EXPAND

#define STR_FUNC_EXPAND 0x02

Definition at line 14065 of file ripper.c.

## ◆ STR_FUNC_INDENT

#define STR_FUNC_INDENT 0x20

Definition at line 14069 of file ripper.c.

## ◆ STR_FUNC_LABEL

#define STR_FUNC_LABEL 0x40

Definition at line 14070 of file ripper.c.

## ◆ STR_FUNC_LIST

#define STR_FUNC_LIST 0x4000

Definition at line 14071 of file ripper.c.

## ◆ STR_FUNC_QWORDS

#define STR_FUNC_QWORDS 0x08

Definition at line 14067 of file ripper.c.

## ◆ STR_FUNC_REGEXP

#define STR_FUNC_REGEXP 0x04

Definition at line 14066 of file ripper.c.

## ◆ STR_FUNC_SYMBOL

#define STR_FUNC_SYMBOL 0x10

Definition at line 14068 of file ripper.c.

## ◆ STR_FUNC_TERM

#define STR_FUNC_TERM 0x8000

Definition at line 14072 of file ripper.c.

## ◆ STR_NEW

#define STR_NEW | ( |  | ptr,
|  |  | len
| ) |  | rb_enc_str_new((ptr),(len),p->enc)

Definition at line 421 of file ripper.c.

## ◆ STR_NEW0

#define STR_NEW0 | ( |  | ) | rb_enc_str_new(0,0,p->enc)

Definition at line 422 of file ripper.c.

## ◆ STR_NEW2

#define STR_NEW2 | ( |  | ptr | ) | rb_enc_str_new((ptr),strlen(ptr),p->enc)

Definition at line 423 of file ripper.c.

## ◆ STR_NEW3

#define STR_NEW3 | ( |  | ptr,
|  |  | len,
|  |  | e,
|  |  | func
| ) |  | parser_str_new((ptr),(len),(e),(func),p->enc)

Definition at line 424 of file ripper.c.

## ◆ STRTERM_HEREDOC

#define STRTERM_HEREDOC IMEMO_FL_USER0

Definition at line 816 of file ripper.c.

## ◆ subnodes

#define subnodes | ( |  | n1,
|  |  | n2
| ) |  |

Value:
((!node->n1) ? (node->n2 ? (body = &node->n2, 1) : 0) : \
(!node->n2) ? (body = &node->n1, 1) : \
(reduce_nodes(p, &node->n1), body = &node->n2, 1))

## ◆ SWITCH_BY_COND_TYPE

#define SWITCH_BY_COND_TYPE | ( |  | t,
|  |  | w,
|  |  | arg
| ) |  |

Value:
switch (t) { \
case COND_IN_OP: break; \
case COND_IN_COND: rb_##w##0(arg "literal in condition"); break; \
case COND_IN_FF: rb_##w##0(arg "literal in flip-flop"); break; \
}
COND_IN_COND
@ COND_IN_COND
Definition: ripper.c:19327
COND_IN_OP
@ COND_IN_OP
Definition: ripper.c:19326
COND_IN_FF
@ COND_IN_FF
Definition: ripper.c:19328
t
#define t
Definition: symbol.c:253

Definition at line 19331 of file ripper.c.

## ◆ TAB_WIDTH

#define TAB_WIDTH 8

Definition at line 142 of file ripper.c.

## ◆ tok

#define tok | ( |  | p | ) | (p)->tokenbuf

Definition at line 14208 of file ripper.c.

## ◆ TOK_INTERN

#define TOK_INTERN | ( |  | ) | intern_cstr(tok(p), toklen(p), p->enc)

Definition at line 425 of file ripper.c.

## ◆ tokcopy

#define tokcopy | ( |  | p,
|  |  | n
| ) |  | memcpy(tokspace(p, n), (p)->lex.pcur - (n), (n))

Definition at line 14278 of file ripper.c.

## ◆ TOKEN2ID

#define TOKEN2ID | ( |  | tok | ) |

Value:
( \
tTOKEN_LOCAL_BEGIN<(tok)&&(tok)<tTOKEN_LOCAL_END ? TOKEN2LOCALID(tok) : \
tTOKEN_INSTANCE_BEGIN<(tok)&&(tok)<tTOKEN_INSTANCE_END ? TOKEN2INSTANCEID(tok) : \
tTOKEN_GLOBAL_BEGIN<(tok)&&(tok)<tTOKEN_GLOBAL_END ? TOKEN2GLOBALID(tok) : \
tTOKEN_CONST_BEGIN<(tok)&&(tok)<tTOKEN_CONST_END ? TOKEN2CONSTID(tok) : \
tTOKEN_CLASS_BEGIN<(tok)&&(tok)<tTOKEN_CLASS_END ? TOKEN2CLASSID(tok) : \
tTOKEN_ATTRSET_BEGIN<(tok)&&(tok)<tTOKEN_ATTRSET_END ? TOKEN2ATTRSETID(tok) : \
((tok) / ((tok)<tPRESERVED_ID_END && ((tok)>=128 || rb_ispunct(tok)))))
TOKEN2CLASSID
#define TOKEN2CLASSID(tok)
Definition: id.h:75
tTOKEN_CONST_BEGIN
@ tTOKEN_CONST_BEGIN
Definition: id.h:205
tTOKEN_CLASS_END
@ tTOKEN_CLASS_END
Definition: id.h:208
tTOKEN_GLOBAL_BEGIN
@ tTOKEN_GLOBAL_BEGIN
Definition: id.h:200
tTOKEN_LOCAL_END
@ tTOKEN_LOCAL_END
Definition: id.h:197
tTOKEN_ATTRSET_BEGIN
@ tTOKEN_ATTRSET_BEGIN
Definition: id.h:209
tPRESERVED_ID_END
@ tPRESERVED_ID_END
Definition: id.h:130
tTOKEN_LOCAL_BEGIN
@ tTOKEN_LOCAL_BEGIN
Definition: id.h:131
tTOKEN_ATTRSET_END
@ tTOKEN_ATTRSET_END
Definition: id.h:210
tTOKEN_CLASS_BEGIN
@ tTOKEN_CLASS_BEGIN
Definition: id.h:207
tTOKEN_INSTANCE_BEGIN
@ tTOKEN_INSTANCE_BEGIN
Definition: id.h:198
tTOKEN_CONST_END
@ tTOKEN_CONST_END
Definition: id.h:206
tTOKEN_INSTANCE_END
@ tTOKEN_INSTANCE_END
Definition: id.h:199
tTOKEN_GLOBAL_END
@ tTOKEN_GLOBAL_END
Definition: id.h:204
TOKEN2CONSTID
#define TOKEN2CONSTID(tok)
Definition: id.h:74
TOKEN2LOCALID
#define TOKEN2LOCALID(tok)
Definition: id.h:71
TOKEN2INSTANCEID
#define TOKEN2INSTANCEID(tok)
Definition: id.h:72
TOKEN2ATTRSETID
#define TOKEN2ATTRSETID(tok)
Definition: id.h:76
TOKEN2GLOBALID
#define TOKEN2GLOBALID(tok)
Definition: id.h:73
tok
#define tok(p)
Definition: ripper.c:14208

Definition at line 841 of file ripper.c.

## ◆ TOKEN2VAL

#define TOKEN2VAL | ( |  | t | ) | ID2VAL(t)

Definition at line 1011 of file ripper.c.

## ◆ token_column

#define token_column ((int)(p->lex.ptok - p->lex.pbeg))

Definition at line 475 of file ripper.c.

## ◆ token_flush

#define token_flush | ( |  | ptr | ) | ((ptr)->lex.ptok = (ptr)->lex.pcur)

Definition at line 461 of file ripper.c.

## ◆ tokfix

#define tokfix | ( |  | p | ) | ((p)->tokenbuf[(p)->tokidx]='\0')

Definition at line 14207 of file ripper.c.

## ◆ toklen

#define toklen | ( |  | p | ) | (p)->tokidx

Definition at line 14209 of file ripper.c.

## ◆ unterminated_literal

#define unterminated_literal | ( |  | mesg | ) | yyerror0(mesg)

## ◆ value_expr

#define value_expr | ( |  | node | ) | value_expr_gen(p, (node))

Definition at line 550 of file ripper.c.

## ◆ vtable_add

#define vtable_add | ( |  | tbl,
|  |  | id
| ) |  | vtable_add_gen(p, __LINE__, #tbl, tbl, id)

Definition at line 13795 of file ripper.c.

## ◆ vtable_alloc

#define vtable_alloc | ( |  | prev | ) | vtable_alloc_gen(p, __LINE__, prev)

Definition at line 13755 of file ripper.c.

## ◆ vtable_free

#define vtable_free | ( |  | tbl | ) | vtable_free_gen(p, __LINE__, #tbl, tbl)

Definition at line 13773 of file ripper.c.

## ◆ vtable_pop

#define vtable_pop | ( |  | tbl,
|  |  | n
| ) |  | vtable_pop_gen(p, __LINE__, #tbl, tbl, n)

Definition at line 13812 of file ripper.c.

## ◆ WARN_ARGS

#define WARN_ARGS | ( |  | fmt,
|  |  | n
| ) |  | WARN_ARGS_L(p->ruby_sourceline,fmt,n)

Definition at line 1123 of file ripper.c.

## ◆ WARN_ARGS_L

#define WARN_ARGS_L | ( |  | l,
|  |  | fmt,
|  |  | n
| ) |  | p->ruby_sourcefile, (l), (fmt)

Definition at line 1124 of file ripper.c.

## ◆ warn_balanced

#define warn_balanced | ( |  | tok,
|  |  | op,
|  |  | syn
| ) |  |

Value:
((void) \
(!IS_lex_state_for(last_state, EXPR_CLASS|EXPR_DOT|EXPR_FNAME|EXPR_ENDFN) && \
space_seen && !ISSPACE(c) && \
(ambiguous_operator(tok, op, syn), 0)), \
(enum yytokentype)(tok))
ISSPACE
#define ISSPACE
Definition: ctype.h:38
yytokentype
yytokentype
Definition: parse.h:52
IS_lex_state_for
#define IS_lex_state_for(x, ls)
Definition: ripper.c:219
ambiguous_operator
#define ambiguous_operator(tok, op, syn)
Definition: ripper.c:16017

Definition at line 16024 of file ripper.c.

## ◆ WARN_CALL

#define WARN_CALL rb_compile_warn

Definition at line 1125 of file ripper.c.

## ◆ WARN_EOL

#define WARN_EOL | ( |  | tok | ) |

Value:
(looking_at_eol_p(p) ? \
(void)rb_warning0("`" tok "' at the end of line without an expression") : \
(void)0)
rb_warning0
#define rb_warning0(fmt)
Definition: ripper.c:1075

Definition at line 1134 of file ripper.c.

## ◆ WARN_I

#define WARN_I | ( |  | i | ) | i

Definition at line 1119 of file ripper.c.

## ◆ WARN_ID

#define WARN_ID | ( |  | i | ) | rb_id2name(i)

Definition at line 1120 of file ripper.c.

## ◆ WARN_IVAL

#define WARN_IVAL | ( |  | i | ) | NUM2INT(i)

Definition at line 1121 of file ripper.c.

## ◆ WARN_PAST_SCOPE

#define WARN_PAST_SCOPE 0

Definition at line 139 of file ripper.c.

## ◆ WARN_S

#define WARN_S | ( |  | s | ) | s

Definition at line 1118 of file ripper.c.

## ◆ WARN_S_L

#define WARN_S_L | ( |  | s,
|  |  | l
| ) |  | s

Definition at line 1117 of file ripper.c.

## ◆ WARN_SPACE_CHAR

#define WARN_SPACE_CHAR | ( |  | c,
|  |  | prefix
| ) |  | rb_warn1("invalid character syntax; use "prefix"\\%c", WARN_I(c2))

Definition at line 14307 of file ripper.c.

## ◆ WARNING_ARGS

#define WARNING_ARGS | ( |  | fmt,
|  |  | n
| ) |  | WARN_ARGS(fmt,n)

Definition at line 1127 of file ripper.c.

## ◆ WARNING_ARGS_L

#define WARNING_ARGS_L | ( |  | l,
|  |  | fmt,
|  |  | n
| ) |  | WARN_ARGS_L(l,fmt,n)

Definition at line 1128 of file ripper.c.

## ◆ WARNING_CALL

#define WARNING_CALL rb_compile_warning

Definition at line 1129 of file ripper.c.

## ◆ was_bol

#define was_bol | ( |  | p | ) | ((p)->lex.pcur == (p)->lex.pbeg + 1)

Definition at line 14205 of file ripper.c.

## ◆ YY_

#define YY_ | ( |  | Msgid | ) | Msgid

Definition at line 1907 of file ripper.c.

## ◆ YY_ACCESSING_SYMBOL

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

Accessing symbol of state STATE.

Definition at line 2258 of file ripper.c.

## ◆ YY_ASSERT

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

Definition at line 1973 of file ripper.c.

## ◆ YY_ATTRIBUTE_PURE

#define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))

Definition at line 1914 of file ripper.c.

## ◆ YY_ATTRIBUTE_UNUSED

#define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))

Definition at line 1922 of file ripper.c.

## ◆ YY_CAST

#define YY_CAST | ( |  | Type,
|  |  | Val
| ) |  | static_cast<Type> (Val)

Definition at line 1144 of file ripper.c.

## ◆ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

Value:
_Pragma ("GCC diagnostic push") \
_Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
_Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")

Definition at line 1942 of file ripper.c.

## ◆ YY_IGNORE_MAYBE_UNINITIALIZED_END

#define YY_IGNORE_MAYBE_UNINITIALIZED_END _Pragma ("GCC diagnostic pop")

Definition at line 1947 of file ripper.c.

## ◆ YY_IGNORE_USELESS_CAST_BEGIN

#define YY_IGNORE_USELESS_CAST_BEGIN

Value:
_Pragma ("GCC diagnostic push") \
_Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")

Definition at line 1961 of file ripper.c.

## ◆ YY_IGNORE_USELESS_CAST_END

#define YY_IGNORE_USELESS_CAST_END _Pragma ("GCC diagnostic pop")

Definition at line 1964 of file ripper.c.

## ◆ YY_INITIAL_VALUE

#define YY_INITIAL_VALUE | ( |  | Value | ) | /* Nothing. */

Definition at line 1957 of file ripper.c.

## ◆ YY_LOCATION_PRINT

#define YY_LOCATION_PRINT | ( |  | File,
|  |  | loc
| ) |  |

Value:
rb_parser_printf(p, "%d.%d-%d.%d", \
(loc).beg_pos.lineno, (loc).beg_pos.column,\
(loc).end_pos.lineno, (loc).end_pos.column)
rb_parser_printf
void rb_parser_printf(struct parser_params *p, const char *fmt,...)
Definition: ripper.c:20992

Definition at line 151 of file ripper.c.

## ◆ YY_NULLPTR

#define YY_NULLPTR nullptr

Definition at line 1154 of file ripper.c.

## ◆ YY_REDUCE_PRINT

#define YY_REDUCE_PRINT | ( |  | Rule | ) |

Definition at line 6333 of file ripper.c.

## ◆ YY_REINTERPRET_CAST

#define YY_REINTERPRET_CAST | ( |  | Type,
|  |  | Val
| ) |  | reinterpret_cast<Type> (Val)

Definition at line 1145 of file ripper.c.

## ◆ YY_STACK_PRINT

#define YY_STACK_PRINT | ( |  | Bottom,
|  |  | Top
| ) |  |

Definition at line 6332 of file ripper.c.

## ◆ YY_STDINT_H

#define YY_STDINT_H

Definition at line 1796 of file ripper.c.

## ◆ YY_SYMBOL_PRINT

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

Definition at line 6331 of file ripper.c.

## ◆ YY_USE

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

Definition at line 1930 of file ripper.c.

## ◆ YYABORT

#define YYABORT goto yyabortlab

Definition at line 5894 of file ripper.c.

## ◆ YYACCEPT

#define YYACCEPT goto yyacceptlab

Definition at line 5893 of file ripper.c.

## ◆ YYBACKUP

#define YYBACKUP | ( |  | Token,
|  |  | Value
| ) |  |

Value:
do \
if (yychar == YYEMPTY) \
{ \
yychar = (Token); \
yylval = (Value); \
YYPOPSTACK (yylen); \
yystate = *yyssp; \
goto yybackup; \
} \
else \
{ \
yyerror (&yylloc, p, YY_("syntax error: cannot back up")); \
YYERROR; \
} \
while (0)
YYEMPTY
@ YYEMPTY
Definition: parse.h:53
YY_
#define YY_(Msgid)
Definition: ripper.c:1907
YYERROR
#define YYERROR
Definition: ripper.c:5895

Definition at line 5901 of file ripper.c.

## ◆ YYBISON

#define YYBISON 30802

Definition at line 49 of file ripper.c.

## ◆ YYBISON_VERSION

#define YYBISON_VERSION "3.8.2"

Definition at line 52 of file ripper.c.

## ◆ YYCALLOC

#define YYCALLOC | ( |  | nelem,
|  |  | size
| ) |  | rb_parser_calloc(p, (nelem), (size))

Definition at line 148 of file ripper.c.

## ◆ YYCASE_

#define YYCASE_ | ( |  | N,
|  |  | S
| ) |  |

Value:
case N: \
yyformat = S; \
break
N
#define N
Definition: crc32.c:57
S
#define S(s)

## ◆ yyclearin

#define yyclearin (yychar = YYEMPTY)

Definition at line 5891 of file ripper.c.

## ◆ YYDEBUG

#define YYDEBUG 1

Definition at line 76 of file ripper.c.

## ◆ yydebug

#define yydebug (p->debug) /* disable the global variable definition */

Definition at line 144 of file ripper.c.

## ◆ YYDPRINTF

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

Definition at line 6330 of file ripper.c.

## ◆ YYERRCODE

#define YYERRCODE YYUNDEF

Definition at line 5920 of file ripper.c.

## ◆ yyerrok

#define yyerrok (yyerrstatus = 0)

Definition at line 5890 of file ripper.c.

## ◆ yyerror

#define yyerror | ( |  | yylloc,
|  |  | p,
|  |  | msg
| ) |  | parser_yyerror(p, yylloc, msg)

Definition at line 460 of file ripper.c.

## ◆ YYERROR

#define YYERROR goto yyerrorlab

Definition at line 5895 of file ripper.c.

## ◆ yyerror0

#define yyerror0 | ( |  | msg | ) | parser_yyerror(p, NULL, (msg))

Definition at line 458 of file ripper.c.

## ◆ yyerror1

#define yyerror1 | ( |  | loc,
|  |  | msg
| ) |  | parser_yyerror(p, (loc), (msg))

Definition at line 459 of file ripper.c.

## ◆ YYERROR_VERBOSE

#define YYERROR_VERBOSE 1

Definition at line 77 of file ripper.c.

## ◆ YYFINAL

#define YYFINAL 3

Definition at line 2106 of file ripper.c.

## ◆ YYFPRINTF

#define YYFPRINTF rb_parser_printf

Definition at line 150 of file ripper.c.

## ◆ YYFREE

#define YYFREE | ( |  | ptr | ) | rb_parser_free(p, (ptr))

Definition at line 149 of file ripper.c.

## ◆ YYINITDEPTH

#define YYINITDEPTH 200

Definition at line 6339 of file ripper.c.

## ◆ YYLAST

#define YYLAST 14332

Definition at line 2108 of file ripper.c.

## ◆ YYLLOC_DEFAULT

#define YYLLOC_DEFAULT | ( |  | Current,
|  |  | Rhs,
|  |  | N
| ) |  |

Value:
do \
if (N) \
{ \
(Current).beg_pos = YYRHSLOC(Rhs, 1).beg_pos; \
(Current).end_pos = YYRHSLOC(Rhs, N).end_pos; \
} \
else \
{ \
(Current).beg_pos = YYRHSLOC(Rhs, 0).end_pos; \
(Current).end_pos = YYRHSLOC(Rhs, 0).end_pos; \
} \
while (0)
YYRHSLOC
#define YYRHSLOC(Rhs, K)
Definition: ripper.c:5946

Definition at line 155 of file ripper.c.

## ◆ YYLTYPE

#define YYLTYPE rb_code_location_t

Definition at line 79 of file ripper.c.

## ◆ YYLTYPE_IS_DECLARED

#define YYLTYPE_IS_DECLARED 1

Definition at line 80 of file ripper.c.

## ◆ yylval

#define yylval (*p->lval)

Definition at line 13340 of file ripper.c.

## ◆ yylval_id

#define yylval_id | ( |  | ) | (yylval.id)

Definition at line 13367 of file ripper.c.

## ◆ YYMALLOC

#define YYMALLOC | ( |  | size | ) | rb_parser_malloc(p, (size))

Definition at line 146 of file ripper.c.

## ◆ YYMAXDEPTH

#define YYMAXDEPTH 10000

Definition at line 6350 of file ripper.c.

## ◆ YYMAXUTOK

#define YYMAXUTOK 353

Definition at line 2120 of file ripper.c.

## ◆ YYNNTS

#define YYNNTS 270

Definition at line 2113 of file ripper.c.

## ◆ YYNOMEM

#define YYNOMEM goto yyexhaustedlab

Definition at line 5896 of file ripper.c.

## ◆ YYNRULES

#define YYNRULES 773

Definition at line 2115 of file ripper.c.

## ◆ YYNSTATES

#define YYNSTATES 1294

Definition at line 2117 of file ripper.c.

## ◆ YYNTOKENS

#define YYNTOKENS 154

Definition at line 2111 of file ripper.c.

## ◆ YYPACT_NINF

#define YYPACT_NINF (-1080)

Definition at line 2359 of file ripper.c.

## ◆ yypact_value_is_default

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

Definition at line 2361 of file ripper.c.

## ◆ yyparse

#define yyparse ruby_yyparse

Definition at line 533 of file ripper.c.

## ◆ YYPOPSTACK

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

## ◆ YYPTRDIFF_MAXIMUM

#define YYPTRDIFF_MAXIMUM LONG_MAX

Definition at line 1867 of file ripper.c.

## ◆ YYPTRDIFF_T

#define YYPTRDIFF_T long

Definition at line 1866 of file ripper.c.

## ◆ YYPULL

#define YYPULL 1

Definition at line 64 of file ripper.c.

## ◆ YYPURE

#define YYPURE 1

Definition at line 58 of file ripper.c.

## ◆ YYPUSH

#define YYPUSH 0

Definition at line 61 of file ripper.c.

## ◆ YYREALLOC

#define YYREALLOC | ( |  | ptr,
|  |  | size
| ) |  | rb_parser_realloc(p, (ptr), (size))

Definition at line 147 of file ripper.c.

## ◆ YYRECOVERING

#define YYRECOVERING | ( |  | ) | (!!yyerrstatus)

Definition at line 5899 of file ripper.c.

## ◆ YYRHSLOC

#define YYRHSLOC | ( |  | Rhs,
|  |  | K
| ) |  | ((Rhs)[K])

Definition at line 5946 of file ripper.c.

## ◆ YYSIZE_MAXIMUM

#define YYSIZE_MAXIMUM

Value:
YY_CAST (YYPTRDIFF_T, \
(YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
? YYPTRDIFF_MAXIMUM \
: YY_CAST (YYSIZE_T, -1)))
YYPTRDIFF_MAXIMUM
#define YYPTRDIFF_MAXIMUM
Definition: ripper.c:1867
YY_CAST
#define YY_CAST(Type, Val)
Definition: ripper.c:1144
YYSIZE_T
#define YYSIZE_T
Definition: ripper.c:1878
YYPTRDIFF_T
#define YYPTRDIFF_T
Definition: ripper.c:1866

Definition at line 1884 of file ripper.c.

## ◆ YYSIZE_T

#define YYSIZE_T size_t

Definition at line 1878 of file ripper.c.

## ◆ YYSIZEOF

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

Definition at line 1890 of file ripper.c.

## ◆ YYSKELETON_NAME

#define YYSKELETON_NAME "yacc.c"

Definition at line 55 of file ripper.c.

## ◆ YYSTACK_ALLOC

#define YYSTACK_ALLOC YYMALLOC

Definition at line 2014 of file ripper.c.

## ◆ YYSTACK_ALLOC_MAXIMUM

#define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM

Definition at line 2017 of file ripper.c.

## ◆ YYSTACK_FREE

#define YYSTACK_FREE YYFREE

Definition at line 2015 of file ripper.c.

## ◆ YYSTACK_USE_ALLOCA

#define YYSTACK_USE_ALLOCA 0

Definition at line 78 of file ripper.c.

## ◆ YYTABLE_NINF

#define YYTABLE_NINF (-774)

Definition at line 2364 of file ripper.c.

## ◆ yytable_value_is_error

#define yytable_value_is_error | ( |  | Yyn | ) | ((Yyn) == YYTABLE_NINF)

Definition at line 2366 of file ripper.c.

## ◆ yytnamerr

#define yytnamerr | ( |  | yyres,
|  |  | yystr
| ) |  | (YYSIZE_T)rb_yytnamerr(p, yyres, yystr)

Definition at line 838 of file ripper.c.

## ◆ YYTRANSLATE

#define YYTRANSLATE | ( |  | YYX | ) |

Value:
(0 <= (YYX) && (YYX) <= YYMAXUTOK \
? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
: YYSYMBOL_YYUNDEF)
yysymbol_kind_t
yysymbol_kind_t
Definition: ripper.c:1352
YYSYMBOL_YYUNDEF
@ YYSYMBOL_YYUNDEF
Definition: ripper.c:1356
YYMAXUTOK
#define YYMAXUTOK
Definition: ripper.c:2120

Definition at line 2125 of file ripper.c.

## Typedef Documentation

## ◆ rb_magic_comment_length_t

typedef long(* rb_magic_comment_length_t) (struct parser_params *p, const char *name, long len)

Definition at line 15682 of file ripper.c.

## ◆ rb_magic_comment_setter_t

typedef void(* rb_magic_comment_setter_t) (struct parser_params *p, const char *name, const char *val)

Definition at line 15683 of file ripper.c.

## ◆ rb_strterm_heredoc_t

typedef struct rb_strterm_heredoc_struct rb_strterm_heredoc_t

Definition at line 699 of file ripper.c.

## ◆ rb_strterm_literal_t

typedef struct rb_strterm_literal_struct rb_strterm_literal_t

## ◆ rb_strterm_t

typedef struct rb_strterm_struct rb_strterm_t

Definition at line 306 of file ripper.c.

## ◆ stack_type

typedef VALUE stack_type

Definition at line 230 of file ripper.c.

## ◆ token_info

typedef struct token_info token_info

## ◆ yy_state_fast_t

typedef int yy_state_fast_t

Definition at line 1897 of file ripper.c.

## ◆ yy_state_t

typedef yytype_int16 yy_state_t

Definition at line 1894 of file ripper.c.

## ◆ yysymbol_kind_t

typedef enum yysymbol_kind_t yysymbol_kind_t

Definition at line 1779 of file ripper.c.

## ◆ yytype_int16

typedef int_least16_t yytype_int16

Definition at line 1816 of file ripper.c.

## ◆ yytype_int8

typedef int_least8_t yytype_int8

Definition at line 1808 of file ripper.c.

## ◆ yytype_uint16

typedef uint_least16_t yytype_uint16

Definition at line 1848 of file ripper.c.

## ◆ yytype_uint8

typedef uint_least8_t yytype_uint8

Definition at line 1837 of file ripper.c.

## Enumeration Type Documentation

## ◆ anonymous enum

anonymous enum

Enumerator
ORDINAL_PARAM |
NO_PARAM |
NUMPARAM_MAX |

Definition at line 276 of file ripper.c.

## ◆ anonymous enum

anonymous enum

Enumerator
YYENOMEM |

Definition at line 5888 of file ripper.c.

## ◆ cond_type

enum cond_type

Enumerator
COND_IN_OP |
COND_IN_COND |
COND_IN_FF |
COND_IN_OP |
COND_IN_COND |
COND_IN_FF |

Definition at line 19325 of file ripper.c.

## ◆ lex_state_bits

enum lex_state_bits

Enumerator
EXPR_BEG_bit |
EXPR_END_bit |
EXPR_ENDARG_bit |
EXPR_ENDFN_bit |
EXPR_ARG_bit |
EXPR_CMDARG_bit |
EXPR_MID_bit |
EXPR_FNAME_bit |
EXPR_DOT_bit |
EXPR_CLASS_bit |
EXPR_LABEL_bit |
EXPR_LABELED_bit |
EXPR_FITEM_bit |
EXPR_MAX_STATE |
EXPR_BEG_bit |
EXPR_END_bit |
EXPR_ENDARG_bit |
EXPR_ENDFN_bit |
EXPR_ARG_bit |
EXPR_CMDARG_bit |
EXPR_MID_bit |
EXPR_FNAME_bit |
EXPR_DOT_bit |
EXPR_CLASS_bit |
EXPR_LABEL_bit |
EXPR_LABELED_bit |
EXPR_FITEM_bit |
EXPR_MAX_STATE |

Definition at line 181 of file ripper.c.

## ◆ lex_state_e

enum lex_state_e

Enumerator
DEF_EXPR |
DEF_EXPR |
DEF_EXPR |
DEF_EXPR |
DEF_EXPR |
DEF_EXPR |
DEF_EXPR |
DEF_EXPR |
DEF_EXPR |
DEF_EXPR |
DEF_EXPR |
DEF_EXPR |
DEF_EXPR |
DEF_EXPR |
EXPR_VALUE |
EXPR_BEG_ANY |
EXPR_ARG_ANY |
EXPR_END_ANY |
EXPR_NONE |
DEF_EXPR |
DEF_EXPR |
DEF_EXPR |
DEF_EXPR |
DEF_EXPR |
DEF_EXPR |
DEF_EXPR |
DEF_EXPR |
DEF_EXPR |
DEF_EXPR |
DEF_EXPR |
DEF_EXPR |
DEF_EXPR |
DEF_EXPR |
EXPR_VALUE |
EXPR_BEG_ANY |
EXPR_ARG_ANY |
EXPR_END_ANY |
EXPR_NONE |

Definition at line 198 of file ripper.c.

## ◆ shareability

enum shareability

Enumerator
shareable_none |
shareable_literal |
shareable_copy |
shareable_everything |
shareable_none |
shareable_literal |
shareable_copy |
shareable_everything |

Definition at line 117 of file ripper.c.

## ◆ string_type

enum string_type

Enumerator
str_label |
str_squote |
str_dquote |
str_xquote |
str_regexp |
str_sword |
str_dword |
str_ssym |
str_dsym |
str_label |
str_squote |
str_dquote |
str_xquote |
str_regexp |
str_sword |
str_dword |
str_ssym |
str_dsym |

Definition at line 14074 of file ripper.c.

## ◆ yysymbol_kind_t

enum yysymbol_kind_t

Enumerator
YYSYMBOL_YYEMPTY |
YYSYMBOL_YYEOF |
YYSYMBOL_YYerror |
YYSYMBOL_YYUNDEF |
YYSYMBOL_keyword_class |
YYSYMBOL_keyword_module |
YYSYMBOL_keyword_def |
YYSYMBOL_keyword_undef |
YYSYMBOL_keyword_begin |
YYSYMBOL_keyword_rescue |
YYSYMBOL_keyword_ensure |
YYSYMBOL_keyword_end |
YYSYMBOL_keyword_if |
YYSYMBOL_keyword_unless |
YYSYMBOL_keyword_then |
YYSYMBOL_keyword_elsif |
YYSYMBOL_keyword_else |
YYSYMBOL_keyword_case |
YYSYMBOL_keyword_when |
YYSYMBOL_keyword_while |
YYSYMBOL_keyword_until |
YYSYMBOL_keyword_for |
YYSYMBOL_keyword_break |
YYSYMBOL_keyword_next |
YYSYMBOL_keyword_redo |
YYSYMBOL_keyword_retry |
YYSYMBOL_keyword_in |
YYSYMBOL_keyword_do |
YYSYMBOL_keyword_do_cond |
YYSYMBOL_keyword_do_block |
YYSYMBOL_keyword_do_LAMBDA |
YYSYMBOL_keyword_return |
YYSYMBOL_keyword_yield |
YYSYMBOL_keyword_super |
YYSYMBOL_keyword_self |
YYSYMBOL_keyword_nil |
YYSYMBOL_keyword_true |
YYSYMBOL_keyword_false |
YYSYMBOL_keyword_and |
YYSYMBOL_keyword_or |
YYSYMBOL_keyword_not |
YYSYMBOL_modifier_if |
YYSYMBOL_modifier_unless |
YYSYMBOL_modifier_while |
YYSYMBOL_modifier_until |
YYSYMBOL_modifier_rescue |
YYSYMBOL_keyword_alias |
YYSYMBOL_keyword_defined |
YYSYMBOL_keyword_BEGIN |
YYSYMBOL_keyword_END |
YYSYMBOL_keyword__LINE__ |
YYSYMBOL_keyword__FILE__ |
YYSYMBOL_keyword__ENCODING__ |
YYSYMBOL_tIDENTIFIER |
YYSYMBOL_tFID |
YYSYMBOL_tGVAR |
YYSYMBOL_tIVAR |
YYSYMBOL_tCONSTANT |
YYSYMBOL_tCVAR |
YYSYMBOL_tLABEL |
YYSYMBOL_tINTEGER |
YYSYMBOL_tFLOAT |
YYSYMBOL_tRATIONAL |
YYSYMBOL_tIMAGINARY |
YYSYMBOL_tCHAR |
YYSYMBOL_tNTH_REF |
YYSYMBOL_tBACK_REF |
YYSYMBOL_tSTRING_CONTENT |
YYSYMBOL_tREGEXP_END |
YYSYMBOL_68_ |
YYSYMBOL_69_backslash_ |
YYSYMBOL_tSP |
YYSYMBOL_71_escaped_horizontal_tab_ |
YYSYMBOL_72_escaped_form_feed_ |
YYSYMBOL_73_escaped_carriage_return_ |
YYSYMBOL_74_escaped_vertical_tab_ |
YYSYMBOL_tUPLUS |
YYSYMBOL_tUMINUS |
YYSYMBOL_tPOW |
YYSYMBOL_tCMP |
YYSYMBOL_tEQ |
YYSYMBOL_tEQQ |
YYSYMBOL_tNEQ |
YYSYMBOL_tGEQ |
YYSYMBOL_tLEQ |
YYSYMBOL_tANDOP |
YYSYMBOL_tOROP |
YYSYMBOL_tMATCH |
YYSYMBOL_tNMATCH |
YYSYMBOL_tDOT2 |
YYSYMBOL_tDOT3 |
YYSYMBOL_tBDOT2 |
YYSYMBOL_tBDOT3 |
YYSYMBOL_tAREF |
YYSYMBOL_tASET |
YYSYMBOL_tLSHFT |
YYSYMBOL_tRSHFT |
YYSYMBOL_tANDDOT |
YYSYMBOL_tCOLON2 |
YYSYMBOL_tCOLON3 |
YYSYMBOL_tOP_ASGN |
YYSYMBOL_tASSOC |
YYSYMBOL_tLPAREN |
YYSYMBOL_tLPAREN_ARG |
YYSYMBOL_tRPAREN |
YYSYMBOL_tLBRACK |
YYSYMBOL_tLBRACE |
YYSYMBOL_tLBRACE_ARG |
YYSYMBOL_tSTAR |
YYSYMBOL_tDSTAR |
YYSYMBOL_tAMPER |
YYSYMBOL_tLAMBDA |
YYSYMBOL_tSYMBEG |
YYSYMBOL_tSTRING_BEG |
YYSYMBOL_tXSTRING_BEG |
YYSYMBOL_tREGEXP_BEG |
YYSYMBOL_tWORDS_BEG |
YYSYMBOL_tQWORDS_BEG |
YYSYMBOL_tSYMBOLS_BEG |
YYSYMBOL_tQSYMBOLS_BEG |
YYSYMBOL_tSTRING_END |
YYSYMBOL_tSTRING_DEND |
YYSYMBOL_tSTRING_DBEG |
YYSYMBOL_tSTRING_DVAR |
YYSYMBOL_tLAMBEG |
YYSYMBOL_tLABEL_END |
YYSYMBOL_tLOWEST |
YYSYMBOL_126_ |
YYSYMBOL_127_ |
YYSYMBOL_128_ |
YYSYMBOL_129_ |
YYSYMBOL_130_ |
YYSYMBOL_131_ |
YYSYMBOL_132_ |
YYSYMBOL_133_ |
YYSYMBOL_134_ |
YYSYMBOL_135_ |
YYSYMBOL_136_ |
YYSYMBOL_137_ |
YYSYMBOL_138_ |
YYSYMBOL_tUMINUS_NUM |
YYSYMBOL_140_ |
YYSYMBOL_141_ |
YYSYMBOL_tLAST_TOKEN |
YYSYMBOL_143_ |
YYSYMBOL_144_ |
YYSYMBOL_145_ |
YYSYMBOL_146_ |
YYSYMBOL_147_ |
YYSYMBOL_148_ |
YYSYMBOL_149_ |
YYSYMBOL_150_ |
YYSYMBOL_151_ |
YYSYMBOL_152_ |
YYSYMBOL_153_n_ |
YYSYMBOL_YYACCEPT |
YYSYMBOL_program |
YYSYMBOL_156_1 |
YYSYMBOL_top_compstmt |
YYSYMBOL_top_stmts |
YYSYMBOL_top_stmt |
YYSYMBOL_begin_block |
YYSYMBOL_bodystmt |
YYSYMBOL_162_2 |
YYSYMBOL_compstmt |
YYSYMBOL_stmts |
YYSYMBOL_stmt_or_begin |
YYSYMBOL_166_3 |
YYSYMBOL_stmt |
YYSYMBOL_168_4 |
YYSYMBOL_command_asgn |
YYSYMBOL_command_rhs |
YYSYMBOL_expr |
YYSYMBOL_172_5 |
YYSYMBOL_173_6 |
YYSYMBOL_174_7 |
YYSYMBOL_175_8 |
YYSYMBOL_176_9 |
YYSYMBOL_177_10 |
YYSYMBOL_def_name |
YYSYMBOL_defn_head |
YYSYMBOL_defs_head |
YYSYMBOL_181_11 |
YYSYMBOL_expr_value |
YYSYMBOL_expr_value_do |
YYSYMBOL_184_12 |
YYSYMBOL_185_13 |
YYSYMBOL_command_call |
YYSYMBOL_block_command |
YYSYMBOL_cmd_brace_block |
YYSYMBOL_fcall |
YYSYMBOL_command |
YYSYMBOL_mlhs |
YYSYMBOL_mlhs_inner |
YYSYMBOL_mlhs_basic |
YYSYMBOL_mlhs_item |
YYSYMBOL_mlhs_head |
YYSYMBOL_mlhs_post |
YYSYMBOL_mlhs_node |
YYSYMBOL_lhs |
YYSYMBOL_cname |
YYSYMBOL_cpath |
YYSYMBOL_fname |
YYSYMBOL_fitem |
YYSYMBOL_undef_list |
YYSYMBOL_204_14 |
YYSYMBOL_op |
YYSYMBOL_reswords |
YYSYMBOL_arg |
YYSYMBOL_208_15 |
YYSYMBOL_relop |
YYSYMBOL_rel_expr |
YYSYMBOL_lex_ctxt |
YYSYMBOL_arg_value |
YYSYMBOL_aref_args |
YYSYMBOL_arg_rhs |
YYSYMBOL_paren_args |
YYSYMBOL_opt_paren_args |
YYSYMBOL_opt_call_args |
YYSYMBOL_call_args |
YYSYMBOL_command_args |
YYSYMBOL_220_16 |
YYSYMBOL_block_arg |
YYSYMBOL_opt_block_arg |
YYSYMBOL_args |
YYSYMBOL_mrhs_arg |
YYSYMBOL_mrhs |
YYSYMBOL_primary |
YYSYMBOL_227_17 |
YYSYMBOL_228_18 |
YYSYMBOL_229_19 |
YYSYMBOL_230_20 |
YYSYMBOL_231_21 |
YYSYMBOL_232_22 |
YYSYMBOL_233_23 |
YYSYMBOL_234_24 |
YYSYMBOL_235_25 |
YYSYMBOL_primary_value |
YYSYMBOL_k_begin |
YYSYMBOL_k_if |
YYSYMBOL_k_unless |
YYSYMBOL_k_while |
YYSYMBOL_k_until |
YYSYMBOL_k_case |
YYSYMBOL_k_for |
YYSYMBOL_k_class |
YYSYMBOL_k_module |
YYSYMBOL_k_def |
YYSYMBOL_k_do |
YYSYMBOL_k_do_block |
YYSYMBOL_k_rescue |
YYSYMBOL_k_ensure |
YYSYMBOL_k_when |
YYSYMBOL_k_else |
YYSYMBOL_k_elsif |
YYSYMBOL_k_end |
YYSYMBOL_k_return |
YYSYMBOL_then |
YYSYMBOL_do |
YYSYMBOL_if_tail |
YYSYMBOL_opt_else |
YYSYMBOL_for_var |
YYSYMBOL_f_marg |
YYSYMBOL_f_marg_list |
YYSYMBOL_f_margs |
YYSYMBOL_f_rest_marg |
YYSYMBOL_f_any_kwrest |
YYSYMBOL_block_args_tail |
YYSYMBOL_opt_block_args_tail |
YYSYMBOL_excessed_comma |
YYSYMBOL_block_param |
YYSYMBOL_opt_block_param |
YYSYMBOL_block_param_def |
YYSYMBOL_opt_bv_decl |
YYSYMBOL_bv_decls |
YYSYMBOL_bvar |
YYSYMBOL_lambda |
YYSYMBOL_276_26 |
YYSYMBOL_277_27 |
YYSYMBOL_278_28 |
YYSYMBOL_279_29 |
YYSYMBOL_f_larglist |
YYSYMBOL_lambda_body |
YYSYMBOL_do_block |
YYSYMBOL_block_call |
YYSYMBOL_method_call |
YYSYMBOL_brace_block |
YYSYMBOL_brace_body |
YYSYMBOL_287_30 |
YYSYMBOL_288_31 |
YYSYMBOL_289_32 |
YYSYMBOL_do_body |
YYSYMBOL_291_33 |
YYSYMBOL_292_34 |
YYSYMBOL_293_35 |
YYSYMBOL_case_args |
YYSYMBOL_case_body |
YYSYMBOL_cases |
YYSYMBOL_p_case_body |
YYSYMBOL_298_36 |
YYSYMBOL_299_37 |
YYSYMBOL_300_38 |
YYSYMBOL_p_cases |
YYSYMBOL_p_top_expr |
YYSYMBOL_p_top_expr_body |
YYSYMBOL_p_expr |
YYSYMBOL_p_as |
YYSYMBOL_p_alt |
YYSYMBOL_p_lparen |
YYSYMBOL_p_lbracket |
YYSYMBOL_p_expr_basic |
YYSYMBOL_310_39 |
YYSYMBOL_311_40 |
YYSYMBOL_p_args |
YYSYMBOL_p_args_head |
YYSYMBOL_p_args_tail |
YYSYMBOL_p_find |
YYSYMBOL_p_rest |
YYSYMBOL_p_args_post |
YYSYMBOL_p_arg |
YYSYMBOL_p_kwargs |
YYSYMBOL_p_kwarg |
YYSYMBOL_p_kw |
YYSYMBOL_p_kw_label |
YYSYMBOL_p_kwrest |
YYSYMBOL_p_kwnorest |
YYSYMBOL_p_any_kwrest |
YYSYMBOL_p_value |
YYSYMBOL_p_primitive |
YYSYMBOL_p_variable |
YYSYMBOL_p_var_ref |
YYSYMBOL_p_const |
YYSYMBOL_opt_rescue |
YYSYMBOL_exc_list |
YYSYMBOL_exc_var |
YYSYMBOL_opt_ensure |
YYSYMBOL_literal |
YYSYMBOL_strings |
YYSYMBOL_string |
YYSYMBOL_string1 |
YYSYMBOL_xstring |
YYSYMBOL_regexp |
YYSYMBOL_words |
YYSYMBOL_word_list |
YYSYMBOL_word |
YYSYMBOL_symbols |
YYSYMBOL_symbol_list |
YYSYMBOL_qwords |
YYSYMBOL_qsymbols |
YYSYMBOL_qword_list |
YYSYMBOL_qsym_list |
YYSYMBOL_string_contents |
YYSYMBOL_xstring_contents |
YYSYMBOL_regexp_contents |
YYSYMBOL_string_content |
YYSYMBOL_354_41 |
YYSYMBOL_355_42 |
YYSYMBOL_356_43 |
YYSYMBOL_357_44 |
YYSYMBOL_358_45 |
YYSYMBOL_359_46 |
YYSYMBOL_string_dvar |
YYSYMBOL_symbol |
YYSYMBOL_ssym |
YYSYMBOL_sym |
YYSYMBOL_dsym |
YYSYMBOL_numeric |
YYSYMBOL_simple_numeric |
YYSYMBOL_user_variable |
YYSYMBOL_keyword_variable |
YYSYMBOL_var_ref |
YYSYMBOL_var_lhs |
YYSYMBOL_backref |
YYSYMBOL_superclass |
YYSYMBOL_373_47 |
YYSYMBOL_f_opt_paren_args |
YYSYMBOL_f_paren_args |
YYSYMBOL_f_arglist |
YYSYMBOL_377_48 |
YYSYMBOL_args_tail |
YYSYMBOL_opt_args_tail |
YYSYMBOL_f_args |
YYSYMBOL_args_forward |
YYSYMBOL_f_bad_arg |
YYSYMBOL_f_norm_arg |
YYSYMBOL_f_arg_asgn |
YYSYMBOL_f_arg_item |
YYSYMBOL_f_arg |
YYSYMBOL_f_label |
YYSYMBOL_f_kw |
YYSYMBOL_f_block_kw |
YYSYMBOL_f_block_kwarg |
YYSYMBOL_f_kwarg |
YYSYMBOL_kwrest_mark |
YYSYMBOL_f_no_kwarg |
YYSYMBOL_f_kwrest |
YYSYMBOL_f_opt |
YYSYMBOL_f_block_opt |
YYSYMBOL_f_block_optarg |
YYSYMBOL_f_optarg |
YYSYMBOL_restarg_mark |
YYSYMBOL_f_rest_arg |
YYSYMBOL_blkarg_mark |
YYSYMBOL_f_block_arg |
YYSYMBOL_opt_f_block_arg |
YYSYMBOL_singleton |
YYSYMBOL_405_49 |
YYSYMBOL_assoc_list |
YYSYMBOL_assocs |
YYSYMBOL_assoc |
YYSYMBOL_operation |
YYSYMBOL_operation2 |
YYSYMBOL_operation3 |
YYSYMBOL_dot_or_colon |
YYSYMBOL_call_op |
YYSYMBOL_call_op2 |
YYSYMBOL_opt_terms |
YYSYMBOL_opt_nl |
YYSYMBOL_rparen |
YYSYMBOL_rbracket |
YYSYMBOL_rbrace |
YYSYMBOL_trailer |
YYSYMBOL_term |
YYSYMBOL_terms |
YYSYMBOL_none |
YYSYMBOL_YYEMPTY |
YYSYMBOL_YYEOF |
YYSYMBOL_YYerror |
YYSYMBOL_YYUNDEF |
YYSYMBOL_keyword_class |
YYSYMBOL_keyword_module |
YYSYMBOL_keyword_def |
YYSYMBOL_keyword_undef |
YYSYMBOL_keyword_begin |
YYSYMBOL_keyword_rescue |
YYSYMBOL_keyword_ensure |
YYSYMBOL_keyword_end |
YYSYMBOL_keyword_if |
YYSYMBOL_keyword_unless |
YYSYMBOL_keyword_then |
YYSYMBOL_keyword_elsif |
YYSYMBOL_keyword_else |
YYSYMBOL_keyword_case |
YYSYMBOL_keyword_when |
YYSYMBOL_keyword_while |
YYSYMBOL_keyword_until |
YYSYMBOL_keyword_for |
YYSYMBOL_keyword_break |
YYSYMBOL_keyword_next |
YYSYMBOL_keyword_redo |
YYSYMBOL_keyword_retry |
YYSYMBOL_keyword_in |
YYSYMBOL_keyword_do |
YYSYMBOL_keyword_do_cond |
YYSYMBOL_keyword_do_block |
YYSYMBOL_keyword_do_LAMBDA |
YYSYMBOL_keyword_return |
YYSYMBOL_keyword_yield |
YYSYMBOL_keyword_super |
YYSYMBOL_keyword_self |
YYSYMBOL_keyword_nil |
YYSYMBOL_keyword_true |
YYSYMBOL_keyword_false |
YYSYMBOL_keyword_and |
YYSYMBOL_keyword_or |
YYSYMBOL_keyword_not |
YYSYMBOL_modifier_if |
YYSYMBOL_modifier_unless |
YYSYMBOL_modifier_while |
YYSYMBOL_modifier_until |
YYSYMBOL_modifier_rescue |
YYSYMBOL_keyword_alias |
YYSYMBOL_keyword_defined |
YYSYMBOL_keyword_BEGIN |
YYSYMBOL_keyword_END |
YYSYMBOL_keyword__LINE__ |
YYSYMBOL_keyword__FILE__ |
YYSYMBOL_keyword__ENCODING__ |
YYSYMBOL_tIDENTIFIER |
YYSYMBOL_tFID |
YYSYMBOL_tGVAR |
YYSYMBOL_tIVAR |
YYSYMBOL_tCONSTANT |
YYSYMBOL_tCVAR |
YYSYMBOL_tLABEL |
YYSYMBOL_tINTEGER |
YYSYMBOL_tFLOAT |
YYSYMBOL_tRATIONAL |
YYSYMBOL_tIMAGINARY |
YYSYMBOL_tCHAR |
YYSYMBOL_tNTH_REF |
YYSYMBOL_tBACK_REF |
YYSYMBOL_tSTRING_CONTENT |
YYSYMBOL_tREGEXP_END |
YYSYMBOL_68_ |
YYSYMBOL_69_backslash_ |
YYSYMBOL_tSP |
YYSYMBOL_71_escaped_horizontal_tab_ |
YYSYMBOL_72_escaped_form_feed_ |
YYSYMBOL_73_escaped_carriage_return_ |
YYSYMBOL_74_escaped_vertical_tab_ |
YYSYMBOL_tUPLUS |
YYSYMBOL_tUMINUS |
YYSYMBOL_tPOW |
YYSYMBOL_tCMP |
YYSYMBOL_tEQ |
YYSYMBOL_tEQQ |
YYSYMBOL_tNEQ |
YYSYMBOL_tGEQ |
YYSYMBOL_tLEQ |
YYSYMBOL_tANDOP |
YYSYMBOL_tOROP |
YYSYMBOL_tMATCH |
YYSYMBOL_tNMATCH |
YYSYMBOL_tDOT2 |
YYSYMBOL_tDOT3 |
YYSYMBOL_tBDOT2 |
YYSYMBOL_tBDOT3 |
YYSYMBOL_tAREF |
YYSYMBOL_tASET |
YYSYMBOL_tLSHFT |
YYSYMBOL_tRSHFT |
YYSYMBOL_tANDDOT |
YYSYMBOL_tCOLON2 |
YYSYMBOL_tCOLON3 |
YYSYMBOL_tOP_ASGN |
YYSYMBOL_tASSOC |
YYSYMBOL_tLPAREN |
YYSYMBOL_tLPAREN_ARG |
YYSYMBOL_tRPAREN |
YYSYMBOL_tLBRACK |
YYSYMBOL_tLBRACE |
YYSYMBOL_tLBRACE_ARG |
YYSYMBOL_tSTAR |
YYSYMBOL_tDSTAR |
YYSYMBOL_tAMPER |
YYSYMBOL_tLAMBDA |
YYSYMBOL_tSYMBEG |
YYSYMBOL_tSTRING_BEG |
YYSYMBOL_tXSTRING_BEG |
YYSYMBOL_tREGEXP_BEG |
YYSYMBOL_tWORDS_BEG |
YYSYMBOL_tQWORDS_BEG |
YYSYMBOL_tSYMBOLS_BEG |
YYSYMBOL_tQSYMBOLS_BEG |
YYSYMBOL_tSTRING_END |
YYSYMBOL_tSTRING_DEND |
YYSYMBOL_tSTRING_DBEG |
YYSYMBOL_tSTRING_DVAR |
YYSYMBOL_tLAMBEG |
YYSYMBOL_tLABEL_END |
YYSYMBOL_tLOWEST |
YYSYMBOL_126_ |
YYSYMBOL_127_ |
YYSYMBOL_128_ |
YYSYMBOL_129_ |
YYSYMBOL_130_ |
YYSYMBOL_131_ |
YYSYMBOL_132_ |
YYSYMBOL_133_ |
YYSYMBOL_134_ |
YYSYMBOL_135_ |
YYSYMBOL_136_ |
YYSYMBOL_137_ |
YYSYMBOL_138_ |
YYSYMBOL_tUMINUS_NUM |
YYSYMBOL_140_ |
YYSYMBOL_141_ |
YYSYMBOL_tLAST_TOKEN |
YYSYMBOL_143_ |
YYSYMBOL_144_ |
YYSYMBOL_145_ |
YYSYMBOL_146_ |
YYSYMBOL_147_ |
YYSYMBOL_148_ |
YYSYMBOL_149_ |
YYSYMBOL_150_ |
YYSYMBOL_151_ |
YYSYMBOL_152_ |
YYSYMBOL_153_n_ |
YYSYMBOL_YYACCEPT |
YYSYMBOL_program |
YYSYMBOL_156_1 |
YYSYMBOL_top_compstmt |
YYSYMBOL_top_stmts |
YYSYMBOL_top_stmt |
YYSYMBOL_begin_block |
YYSYMBOL_bodystmt |
YYSYMBOL_162_2 |
YYSYMBOL_compstmt |
YYSYMBOL_stmts |
YYSYMBOL_stmt_or_begin |
YYSYMBOL_166_3 |
YYSYMBOL_stmt |
YYSYMBOL_168_4 |
YYSYMBOL_command_asgn |
YYSYMBOL_command_rhs |
YYSYMBOL_expr |
YYSYMBOL_172_5 |
YYSYMBOL_173_6 |
YYSYMBOL_174_7 |
YYSYMBOL_175_8 |
YYSYMBOL_176_9 |
YYSYMBOL_177_10 |
YYSYMBOL_def_name |
YYSYMBOL_defn_head |
YYSYMBOL_defs_head |
YYSYMBOL_181_11 |
YYSYMBOL_expr_value |
YYSYMBOL_expr_value_do |
YYSYMBOL_184_12 |
YYSYMBOL_185_13 |
YYSYMBOL_command_call |
YYSYMBOL_block_command |
YYSYMBOL_cmd_brace_block |
YYSYMBOL_fcall |
YYSYMBOL_command |
YYSYMBOL_mlhs |
YYSYMBOL_mlhs_inner |
YYSYMBOL_mlhs_basic |
YYSYMBOL_mlhs_item |
YYSYMBOL_mlhs_head |
YYSYMBOL_mlhs_post |
YYSYMBOL_mlhs_node |
YYSYMBOL_lhs |
YYSYMBOL_cname |
YYSYMBOL_cpath |
YYSYMBOL_fname |
YYSYMBOL_fitem |
YYSYMBOL_undef_list |
YYSYMBOL_204_14 |
YYSYMBOL_op |
YYSYMBOL_reswords |
YYSYMBOL_arg |
YYSYMBOL_208_15 |
YYSYMBOL_relop |
YYSYMBOL_rel_expr |
YYSYMBOL_lex_ctxt |
YYSYMBOL_arg_value |
YYSYMBOL_aref_args |
YYSYMBOL_arg_rhs |
YYSYMBOL_paren_args |
YYSYMBOL_opt_paren_args |
YYSYMBOL_opt_call_args |
YYSYMBOL_call_args |
YYSYMBOL_command_args |
YYSYMBOL_220_16 |
YYSYMBOL_block_arg |
YYSYMBOL_opt_block_arg |
YYSYMBOL_args |
YYSYMBOL_mrhs_arg |
YYSYMBOL_mrhs |
YYSYMBOL_primary |
YYSYMBOL_227_17 |
YYSYMBOL_228_18 |
YYSYMBOL_229_19 |
YYSYMBOL_230_20 |
YYSYMBOL_231_21 |
YYSYMBOL_232_22 |
YYSYMBOL_233_23 |
YYSYMBOL_234_24 |
YYSYMBOL_235_25 |
YYSYMBOL_primary_value |
YYSYMBOL_k_begin |
YYSYMBOL_k_if |
YYSYMBOL_k_unless |
YYSYMBOL_k_while |
YYSYMBOL_k_until |
YYSYMBOL_k_case |
YYSYMBOL_k_for |
YYSYMBOL_k_class |
YYSYMBOL_k_module |
YYSYMBOL_k_def |
YYSYMBOL_k_do |
YYSYMBOL_k_do_block |
YYSYMBOL_k_rescue |
YYSYMBOL_k_ensure |
YYSYMBOL_k_when |
YYSYMBOL_k_else |
YYSYMBOL_k_elsif |
YYSYMBOL_k_end |
YYSYMBOL_k_return |
YYSYMBOL_then |
YYSYMBOL_do |
YYSYMBOL_if_tail |
YYSYMBOL_opt_else |
YYSYMBOL_for_var |
YYSYMBOL_f_marg |
YYSYMBOL_f_marg_list |
YYSYMBOL_f_margs |
YYSYMBOL_f_rest_marg |
YYSYMBOL_f_any_kwrest |
YYSYMBOL_block_args_tail |
YYSYMBOL_opt_block_args_tail |
YYSYMBOL_excessed_comma |
YYSYMBOL_block_param |
YYSYMBOL_opt_block_param |
YYSYMBOL_block_param_def |
YYSYMBOL_opt_bv_decl |
YYSYMBOL_bv_decls |
YYSYMBOL_bvar |
YYSYMBOL_lambda |
YYSYMBOL_276_26 |
YYSYMBOL_277_27 |
YYSYMBOL_278_28 |
YYSYMBOL_279_29 |
YYSYMBOL_f_larglist |
YYSYMBOL_lambda_body |
YYSYMBOL_do_block |
YYSYMBOL_block_call |
YYSYMBOL_method_call |
YYSYMBOL_brace_block |
YYSYMBOL_brace_body |
YYSYMBOL_287_30 |
YYSYMBOL_288_31 |
YYSYMBOL_289_32 |
YYSYMBOL_do_body |
YYSYMBOL_291_33 |
YYSYMBOL_292_34 |
YYSYMBOL_293_35 |
YYSYMBOL_case_args |
YYSYMBOL_case_body |
YYSYMBOL_cases |
YYSYMBOL_p_case_body |
YYSYMBOL_298_36 |
YYSYMBOL_299_37 |
YYSYMBOL_300_38 |
YYSYMBOL_p_cases |
YYSYMBOL_p_top_expr |
YYSYMBOL_p_top_expr_body |
YYSYMBOL_p_expr |
YYSYMBOL_p_as |
YYSYMBOL_p_alt |
YYSYMBOL_p_lparen |
YYSYMBOL_p_lbracket |
YYSYMBOL_p_expr_basic |
YYSYMBOL_310_39 |
YYSYMBOL_311_40 |
YYSYMBOL_p_args |
YYSYMBOL_p_args_head |
YYSYMBOL_p_args_tail |
YYSYMBOL_p_find |
YYSYMBOL_p_rest |
YYSYMBOL_p_args_post |
YYSYMBOL_p_arg |
YYSYMBOL_p_kwargs |
YYSYMBOL_p_kwarg |
YYSYMBOL_p_kw |
YYSYMBOL_p_kw_label |
YYSYMBOL_p_kwrest |
YYSYMBOL_p_kwnorest |
YYSYMBOL_p_any_kwrest |
YYSYMBOL_p_value |
YYSYMBOL_p_primitive |
YYSYMBOL_p_variable |
YYSYMBOL_p_var_ref |
YYSYMBOL_p_const |
YYSYMBOL_opt_rescue |
YYSYMBOL_exc_list |
YYSYMBOL_exc_var |
YYSYMBOL_opt_ensure |
YYSYMBOL_literal |
YYSYMBOL_strings |
YYSYMBOL_string |
YYSYMBOL_string1 |
YYSYMBOL_xstring |
YYSYMBOL_regexp |
YYSYMBOL_words |
YYSYMBOL_word_list |
YYSYMBOL_word |
YYSYMBOL_symbols |
YYSYMBOL_symbol_list |
YYSYMBOL_qwords |
YYSYMBOL_qsymbols |
YYSYMBOL_qword_list |
YYSYMBOL_qsym_list |
YYSYMBOL_string_contents |
YYSYMBOL_xstring_contents |
YYSYMBOL_regexp_contents |
YYSYMBOL_string_content |
YYSYMBOL_354_41 |
YYSYMBOL_355_42 |
YYSYMBOL_356_43 |
YYSYMBOL_357_44 |
YYSYMBOL_358_45 |
YYSYMBOL_359_46 |
YYSYMBOL_string_dvar |
YYSYMBOL_symbol |
YYSYMBOL_ssym |
YYSYMBOL_sym |
YYSYMBOL_dsym |
YYSYMBOL_numeric |
YYSYMBOL_simple_numeric |
YYSYMBOL_user_variable |
YYSYMBOL_keyword_variable |
YYSYMBOL_var_ref |
YYSYMBOL_var_lhs |
YYSYMBOL_backref |
YYSYMBOL_superclass |
YYSYMBOL_373_47 |
YYSYMBOL_f_opt_paren_args |
YYSYMBOL_f_paren_args |
YYSYMBOL_f_arglist |
YYSYMBOL_377_48 |
YYSYMBOL_args_tail |
YYSYMBOL_opt_args_tail |
YYSYMBOL_f_args |
YYSYMBOL_args_forward |
YYSYMBOL_f_bad_arg |
YYSYMBOL_f_norm_arg |
YYSYMBOL_f_arg_asgn |
YYSYMBOL_f_arg_item |
YYSYMBOL_f_arg |
YYSYMBOL_f_label |
YYSYMBOL_f_kw |
YYSYMBOL_f_block_kw |
YYSYMBOL_f_block_kwarg |
YYSYMBOL_f_kwarg |
YYSYMBOL_kwrest_mark |
YYSYMBOL_f_no_kwarg |
YYSYMBOL_f_kwrest |
YYSYMBOL_f_opt |
YYSYMBOL_f_block_opt |
YYSYMBOL_f_block_optarg |
YYSYMBOL_f_optarg |
YYSYMBOL_restarg_mark |
YYSYMBOL_f_rest_arg |
YYSYMBOL_blkarg_mark |
YYSYMBOL_f_block_arg |
YYSYMBOL_opt_f_block_arg |
YYSYMBOL_singleton |
YYSYMBOL_405_49 |
YYSYMBOL_assoc_list |
YYSYMBOL_assocs |
YYSYMBOL_assoc |
YYSYMBOL_operation |
YYSYMBOL_operation2 |
YYSYMBOL_operation3 |
YYSYMBOL_dot_or_colon |
YYSYMBOL_call_op |
YYSYMBOL_call_op2 |
YYSYMBOL_opt_terms |
YYSYMBOL_opt_nl |
YYSYMBOL_rparen |
YYSYMBOL_rbracket |
YYSYMBOL_rbrace |
YYSYMBOL_trailer |
YYSYMBOL_term |
YYSYMBOL_terms |
YYSYMBOL_none |

Definition at line 1351 of file ripper.c.

## Function Documentation

## ◆ rb_init_parse()

void rb_init_parse | ( | void |  | ) |

Definition at line 20646 of file ripper.c.

## ◆ rb_io_gets_internal()

VALUE rb_io_gets_internal | ( | VALUE | io | ) |

Definition at line 3744 of file io.c.

References FALSE, GetOpenFile, getline_arg::io, and rb_default_rs.

## ◆ rb_parser_calloc()

void * rb_parser_calloc | ( | struct parser_params * | p,
|  | size_t | nelem,
|  | size_t | size
| ) |  |

Definition at line 20945 of file ripper.c.

References ADD2HEAP, cnt, HEAPCNT, NEWHEAP, ptr, and xcalloc.

## ◆ rb_parser_compile_file_path()

rb_ast_t * rb_parser_compile_file_path | ( | VALUE | vparser,
|  | VALUE | fname,
|  | VALUE | file,
|  | int | start
| ) |  |

Definition at line 14029 of file ripper.c.

References parser_params::gets, parser_params::input, parser_params::lex, parser_params::pbeg, parser_params::pcur, parser_params::pend, and TypedData_Get_Struct.

## ◆ rb_parser_compile_generic()

rb_ast_t * rb_parser_compile_generic | ( | VALUE | vparser,
|  | VALUE(*)(VALUE, int) | lex_gets,
|  | VALUE | fname,
|  | VALUE | input,
|  | int | start
| ) |  |

Definition at line 14049 of file ripper.c.

References parser_params::call, parser_params::gets, parser_params::gets_, input, parser_params::input, parser_params::lex, parser_params::pbeg, parser_params::pcur, parser_params::pend, and TypedData_Get_Struct.

## ◆ rb_parser_compile_string()

rb_ast_t * rb_parser_compile_string | ( | VALUE | vparser,
|  | const char * | f,
|  | VALUE | s,
|  | int | line
| ) |  |

Definition at line 14008 of file ripper.c.

References f, rb_filesystem_str_new_cstr(), and rb_parser_compile_string_path().

## ◆ rb_parser_compile_string_path()

rb_ast_t * rb_parser_compile_string_path | ( | VALUE | vparser,
|  | VALUE | f,
|  | VALUE | s,
|  | int | line
| ) |  |

Definition at line 14014 of file ripper.c.

References f.

Referenced by rb_parser_compile_string().

## ◆ rb_parser_encoding()

VALUE rb_parser_encoding | ( | VALUE | vparser | ) |

Definition at line 20854 of file ripper.c.

References parser_params::enc, rb_enc_from_encoding(), and TypedData_Get_Struct.

## ◆ rb_parser_end_seen_p()

VALUE rb_parser_end_seen_p | ( | VALUE | vparser | ) |

Definition at line 20839 of file ripper.c.

References Qfalse, Qtrue, parser_params::ruby__end__seen, and TypedData_Get_Struct.

## ◆ rb_parser_fatal()

void rb_parser_fatal | ( | struct parser_params * | p,
|  | const char * | fmt,
|  |  | ...
| ) |  |

Definition at line 18339 of file ripper.c.

References parser_params::cmdarg_stack, compile_error, parser_params::cond_stack, parser_params::debug, parser_params::debug_output, parser_params::lex, NULL, PRIsVALUE, RB_GC_GUARD, rb_ractor_stderr(), rb_ractor_stdout(), rb_str_new, rb_str_new_cstr, rb_str_resize(), rb_str_vcatf(), RSTRING_PTR, parser_params::state, and TRUE.

## ◆ rb_parser_free()

void rb_parser_free | ( | struct parser_params * | p,
|  | void * | ptr
| ) |  |

Definition at line 20975 of file ripper.c.

References parser_params::heap, NULL, ptr, rb_gc_force_recycle(), and xfree.

## ◆ rb_parser_get_debug_output()

VALUE rb_parser_get_debug_output | ( | VALUE | self | ) |

Definition at line 20902 of file ripper.c.

References parser_params::debug_output, and TypedData_Get_Struct.

## ◆ rb_parser_lex_state_name()

VALUE rb_parser_lex_state_name | ( | enum lex_state_e | state | ) |

Definition at line 18310 of file ripper.c.

References rb_fstring(), and rb_str_new.

## ◆ rb_parser_malloc()

void * rb_parser_malloc | ( | struct parser_params * | p,
|  | size_t | size
| ) |  |

Definition at line 20935 of file ripper.c.

References ADD2HEAP, cnt, HEAPCNT, NEWHEAP, ptr, and xmalloc.

## ◆ rb_parser_new()

VALUE rb_parser_new | ( | void |  | ) |

Definition at line 20781 of file ripper.c.

References TypedData_Make_Struct.

Referenced by rb_load_file_str().

## ◆ rb_parser_printf()

void rb_parser_printf | ( | struct parser_params * | p,
|  | const char * | fmt,
|  |  | ...
| ) |  |

Definition at line 20992 of file ripper.c.

References parser_params::debug_buffer, parser_params::debug_output, NIL_P, Qnil, rb_io_write(), rb_str_new, and rb_str_vcatf().

## ◆ rb_parser_realloc()

void * rb_parser_realloc | ( | struct parser_params * | p,
|  | void * | ptr,
|  | size_t | size
| ) |  |

Definition at line 20955 of file ripper.c.

References ADD2HEAP, rb_imemo_tmpbuf_struct::cnt, cnt, parser_params::heap, HEAPCNT, NEWHEAP, rb_imemo_tmpbuf_struct::next, NULL, ptr, rb_imemo_tmpbuf_struct::ptr, and xrealloc.

## ◆ rb_parser_reg_compile()

VALUE rb_parser_reg_compile | ( | struct parser_params * | p,
|  | VALUE | str,
|  | int | options
| ) |  |

Definition at line 20558 of file ripper.c.

References rb_reg_compile(), RE_OPTION_MASK, parser_params::ruby_sourcefile, parser_params::ruby_sourceline, and str.

## ◆ rb_parser_set_context()

VALUE rb_parser_set_context | ( | VALUE | vparser,
|  | const struct rb_iseq_struct * | base,
|  | int | main
| ) |  |

Definition at line 20791 of file ripper.c.

References parser_params::error_buffer, main(), parser_params::parent_iseq, Qfalse, Qnil, and TypedData_Get_Struct.

## ◆ rb_parser_set_debug_output()

VALUE rb_parser_set_debug_output | ( | VALUE | self,
|  | VALUE | output
| ) |  |

Definition at line 20917 of file ripper.c.

References parser_params::debug_output, and TypedData_Get_Struct.

## ◆ rb_parser_set_location()

YYLTYPE * rb_parser_set_location | ( | struct parser_params * | p,
|  | YYLTYPE * | yylloc
| ) |  |

Definition at line 18390 of file ripper.c.

References int(), parser_params::lex, parser_params::pbeg, parser_params::pcur, parser_params::ptok, and parser_params::ruby_sourceline.

## ◆ rb_parser_set_location_from_strterm_heredoc()

YYLTYPE * rb_parser_set_location_from_strterm_heredoc | ( | struct parser_params * | p,
|  | rb_strterm_heredoc_t * | here,
|  | YYLTYPE * | yylloc
| ) |  |

Definition at line 18365 of file ripper.c.

References rb_strterm_heredoc_struct::func, int(), rb_strterm_heredoc_struct::offset, rb_strterm_heredoc_struct::quote, rb_strlen_lit, rb_strterm_heredoc_struct::sourceline, and STR_FUNC_INDENT.

## ◆ rb_parser_set_location_of_none()

YYLTYPE * rb_parser_set_location_of_none | ( | struct parser_params * | p,
|  | YYLTYPE * | yylloc
| ) |  |

Definition at line 18380 of file ripper.c.

References int(), parser_params::lex, parser_params::pbeg, parser_params::ptok, and parser_params::ruby_sourceline.

## ◆ rb_parser_set_options()

void rb_parser_set_options | ( | VALUE | vparser,
|  | int | print,
|  | int | loop,
|  | int | chomp,
|  | int | split
| ) |  |

Definition at line 20599 of file ripper.c.

References parser_params::do_chomp, parser_params::do_loop, parser_params::do_print, parser_params::do_split, and TypedData_Get_Struct.

## ◆ rb_parser_set_yydebug()

VALUE rb_parser_set_yydebug | ( | VALUE | self,
|  | VALUE | flag
| ) |  |

Definition at line 20886 of file ripper.c.

References parser_params::debug, RTEST, and TypedData_Get_Struct.

## ◆ rb_parser_show_bitstack()

void rb_parser_show_bitstack | ( | struct parser_params * | p,
|  | stack_type | stack,
|  | const char * | name,
|  | int | line
| ) |  |

Definition at line 18329 of file ripper.c.

References parser_params::debug_output, name, rb_sprintf(), and rb_str_catf().

## ◆ rb_parser_trace_lex_state()

enum lex_state_e rb_parser_trace_lex_state | ( | struct parser_params * | p,
|  | enum lex_state_e | from,
|  | enum lex_state_e | to,
|  | int | line
| ) |  |

Definition at line 18296 of file ripper.c.

References parser_params::debug_output, rb_str_cat_cstr, rb_str_catf(), and rb_str_new_cstr.

## ◆ rb_reg_fragment_setenc()

int rb_reg_fragment_setenc | ( | struct parser_params * | p,
|  | VALUE | str,
|  | int | options
| ) |  |

Definition at line 20443 of file ripper.c.

References parser_params::enc, ENC_CODERANGE_7BIT, ENCODING_GET, ENCODING_IS_ASCII8BIT, ENCODING_SET, error(), rb_ascii8bit_encoding(), rb_char_to_option_kcode(), rb_enc_associate(), rb_enc_str_coderange(), rb_usascii_encoding(), RE_OPTION_ENCODING_IDX, RE_OPTION_ENCODING_NONE, and str.

## ◆ rb_reserved_word()

const struct kwtable * rb_reserved_word | ( | const char * | str,
|  | unsigned int | len
| ) |  |

Definition at line 20775 of file ripper.c.

References len, and str.

## ◆ rb_strterm_mark()

void rb_strterm_mark | ( | VALUE | obj | ) |

Definition at line 828 of file ripper.c.

References rb_strterm_struct::heredoc, rb_strterm_heredoc_struct::lastline, rb_gc_mark(), RBASIC, STRTERM_HEREDOC, and rb_strterm_struct::u.

## ◆ rb_yytnamerr()

size_t rb_yytnamerr | ( | struct parser_params * | p,
|  | char * | yyres,
|  | const char * | yystr
| ) |  |

Definition at line 21039 of file ripper.c.

References memcpy, strlen(), and YYSIZE_T.

## ◆ STATIC_ASSERT()

STATIC_ASSERT | ( | rb_strterm_heredoc_t | ,
|  | sizeof(rb_strterm_heredoc_t)<=4 * | SIZEOF_VALUE
| ) |  |

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

## Variable Documentation

## ◆ rb_mRubyVMFrozenCore

VALUE rb_mRubyVMFrozenCore
| extern

Definition at line 375 of file vm.c.

Referenced by rb_exec_event_hooks().

## ◆ ruby_global_name_punct_bits

const unsigned int ruby_global_name_punct_bits

Initial value:
= {
SPECIAL_PUNCT(0),
SPECIAL_PUNCT(1),
SPECIAL_PUNCT(2),
}
SPECIAL_PUNCT
#define SPECIAL_PUNCT(idx)
Definition: ripper.c:14905

Definition at line 14900 of file ripper.c.