Ruby  1.9.3p551(2014-11-13revision48407)
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
ripper.c File Reference
#include "ruby/ruby.h"
#include "ruby/st.h"
#include "ruby/encoding.h"
#include "internal.h"
#include "node.h"
#include "parse.h"
#include "id.h"
#include "regenc.h"
#include <stdio.h>
#include <errno.h>
#include <ctype.h>
#include "id.c"
#include "ruby/regex.h"
#include "ruby/util.h"
#include "lex.c"

Go to the source code of this file.

Data Structures

struct  vtable
 
struct  local_vars
 
struct  token_info
 
struct  parser_params
 
union  yyalloc
 
struct  magic_comment
 
struct  reg_named_capture_assign_t
 
struct  symbols
 

Macros

#define YYBISON   1
 
#define YYBISON_VERSION   "2.5"
 
#define YYSKELETON_NAME   "yacc.c"
 
#define YYPURE   1
 
#define YYPUSH   0
 
#define YYPULL   1
 
#define YYLSP_NEEDED   0
 
#define YYDEBUG   1
 
#define YYERROR_VERBOSE   1
 
#define YYSTACK_USE_ALLOCA   0
 
#define numberof(array)   (int)(sizeof(array) / sizeof((array)[0]))
 
#define YYMALLOC(size)   rb_parser_malloc(parser, (size))
 
#define YYREALLOC(ptr, size)   rb_parser_realloc(parser, (ptr), (size))
 
#define YYCALLOC(nelem, size)   rb_parser_calloc(parser, (nelem), (size))
 
#define YYFREE(ptr)   rb_parser_free(parser, (ptr))
 
#define malloc   YYMALLOC
 
#define realloc   YYREALLOC
 
#define calloc   YYCALLOC
 
#define free   YYFREE
 
#define REGISTER_SYMID(id, name)   register_symid((id), (name), strlen(name), enc)
 
#define is_notop_id(id)   ((id)>tLAST_TOKEN)
 
#define is_local_id(id)   (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_LOCAL)
 
#define is_global_id(id)   (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_GLOBAL)
 
#define is_instance_id(id)   (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_INSTANCE)
 
#define is_attrset_id(id)   (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_ATTRSET)
 
#define is_const_id(id)   (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_CONST)
 
#define is_class_id(id)   (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_CLASS)
 
#define is_junk_id(id)   (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_JUNK)
 
#define is_asgn_or_id(id)
 
#define BITSTACK_PUSH(stack, n)   ((stack) = ((stack)<<1)|((n)&1))
 
#define BITSTACK_POP(stack)   ((stack) = (stack) >> 1)
 
#define BITSTACK_LEXPOP(stack)   ((stack) = ((stack) >> 1) | ((stack) & 1))
 
#define BITSTACK_SET_P(stack)   ((stack)&1)
 
#define COND_PUSH(n)   BITSTACK_PUSH(cond_stack, (n))
 
#define COND_POP()   BITSTACK_POP(cond_stack)
 
#define COND_LEXPOP()   BITSTACK_LEXPOP(cond_stack)
 
#define COND_P()   BITSTACK_SET_P(cond_stack)
 
#define CMDARG_PUSH(n)   BITSTACK_PUSH(cmdarg_stack, (n))
 
#define CMDARG_POP()   BITSTACK_POP(cmdarg_stack)
 
#define CMDARG_LEXPOP()   BITSTACK_LEXPOP(cmdarg_stack)
 
#define CMDARG_P()   BITSTACK_SET_P(cmdarg_stack)
 
#define DVARS_INHERIT   ((void*)1)
 
#define DVARS_TOPSCOPE   NULL
 
#define DVARS_SPECIAL_P(tbl)   (!POINTER_P(tbl))
 
#define POINTER_P(val)   ((VALUE)(val) & ~(VALUE)3)
 
#define VTBL_DEBUG   0
 
#define UTF8_ENC()
 
#define STR_NEW(p, n)   rb_enc_str_new((p),(n),parser->enc)
 
#define STR_NEW0()   rb_enc_str_new(0,0,parser->enc)
 
#define STR_NEW2(p)   rb_enc_str_new((p),strlen(p),parser->enc)
 
#define STR_NEW3(p, n, e, func)   parser_str_new((p),(n),(e),(func),parser->enc)
 
#define ENC_SINGLE(cr)   ((cr)==ENC_CODERANGE_7BIT)
 
#define TOK_INTERN(mb)   rb_intern3(tok(), toklen(), parser->enc)
 
#define yyerror(msg)   parser_yyerror(parser, (msg))
 
#define lex_strterm   (parser->parser_lex_strterm)
 
#define lex_state   (parser->parser_lex_state)
 
#define cond_stack   (parser->parser_cond_stack)
 
#define cmdarg_stack   (parser->parser_cmdarg_stack)
 
#define class_nest   (parser->parser_class_nest)
 
#define paren_nest   (parser->parser_paren_nest)
 
#define lpar_beg   (parser->parser_lpar_beg)
 
#define in_single   (parser->parser_in_single)
 
#define in_def   (parser->parser_in_def)
 
#define compile_for_eval   (parser->parser_compile_for_eval)
 
#define cur_mid   (parser->parser_cur_mid)
 
#define in_defined   (parser->parser_in_defined)
 
#define tokenbuf   (parser->parser_tokenbuf)
 
#define tokidx   (parser->parser_tokidx)
 
#define toksiz   (parser->parser_toksiz)
 
#define lex_input   (parser->parser_lex_input)
 
#define lex_lastline   (parser->parser_lex_lastline)
 
#define lex_nextline   (parser->parser_lex_nextline)
 
#define lex_pbeg   (parser->parser_lex_pbeg)
 
#define lex_p   (parser->parser_lex_p)
 
#define lex_pend   (parser->parser_lex_pend)
 
#define heredoc_end   (parser->parser_heredoc_end)
 
#define command_start   (parser->parser_command_start)
 
#define deferred_nodes   (parser->parser_deferred_nodes)
 
#define lex_gets_ptr   (parser->parser_lex_gets_ptr)
 
#define lex_gets   (parser->parser_lex_gets)
 
#define lvtbl   (parser->parser_lvtbl)
 
#define ruby__end__seen   (parser->parser_ruby__end__seen)
 
#define ruby_sourceline   (parser->parser_ruby_sourceline)
 
#define ruby_sourcefile   (parser->parser_ruby_sourcefile)
 
#define current_enc   (parser->enc)
 
#define yydebug   (parser->parser_yydebug)
 
#define ruby_eval_tree   (parser->parser_eval_tree)
 
#define ruby_eval_tree_begin   (parser->parser_eval_tree_begin)
 
#define ruby_debug_lines   (parser->debug_lines)
 
#define ruby_coverage   (parser->coverage)
 
#define yyparse   ruby_yyparse
 
#define rb_node_newnode(type, a1, a2, a3)   node_newnode(parser, (type), (a1), (a2), (a3))
 
#define cond(node)   cond_gen(parser, (node))
 
#define logop(type, node1, node2)   logop_gen(parser, (type), (node1), (node2))
 
#define value_expr(node)   value_expr_gen(parser, (node) = remove_begin(node))
 
#define void_expr0(node)   void_expr_gen(parser, (node))
 
#define void_expr(node)   void_expr0((node) = remove_begin(node))
 
#define void_stmts(node)   void_stmts_gen(parser, (node))
 
#define reduce_nodes(n)   reduce_nodes_gen(parser,(n))
 
#define block_dup_check(n1, n2)   block_dup_check_gen(parser,(n1),(n2))
 
#define block_append(h, t)   block_append_gen(parser,(h),(t))
 
#define list_append(l, i)   list_append_gen(parser,(l),(i))
 
#define list_concat(h, t)   list_concat_gen(parser,(h),(t))
 
#define arg_append(h, t)   arg_append_gen(parser,(h),(t))
 
#define arg_concat(h, t)   arg_concat_gen(parser,(h),(t))
 
#define literal_concat(h, t)   literal_concat_gen(parser,(h),(t))
 
#define new_evstr(n)   new_evstr_gen(parser,(n))
 
#define evstr2dstr(n)   evstr2dstr_gen(parser,(n))
 
#define call_bin_op(recv, id, arg1)   call_bin_op_gen(parser, (recv),(id),(arg1))
 
#define call_uni_op(recv, id)   call_uni_op_gen(parser, (recv),(id))
 
#define new_args(f, o, r, p, b)   new_args_gen(parser, (f),(o),(r),(p),(b))
 
#define ret_args(node)   ret_args_gen(parser, (node))
 
#define new_yield(node)   new_yield_gen(parser, (node))
 
#define gettable(id)   gettable_gen(parser,(id))
 
#define assignable(id, node)   assignable_gen(parser, (id), (node))
 
#define aryset(node1, node2)   aryset_gen(parser, (node1), (node2))
 
#define attrset(node, id)   attrset_gen(parser, (node), (id))
 
#define rb_backref_error(n)   rb_backref_error_gen(parser,(n))
 
#define node_assign(node1, node2)   node_assign_gen(parser, (node1), (node2))
 
#define match_op(node1, node2)   match_op_gen(parser, (node1), (node2))
 
#define local_tbl()   local_tbl_gen(parser)
 
#define reg_compile(str, options)   reg_compile_gen(parser, (str), (options))
 
#define reg_fragment_setenc(str, options)   reg_fragment_setenc_gen(parser, (str), (options))
 
#define reg_fragment_check(str, options)   reg_fragment_check_gen(parser, (str), (options))
 
#define reg_named_capture_assign(regexp, match)   reg_named_capture_assign_gen(parser,(regexp),(match))
 
#define get_id(id)   (id)
 
#define get_value(val)   (val)
 
#define formal_argument(id)   formal_argument_gen(parser, (id))
 
#define shadowing_lvar(name)   shadowing_lvar_gen(parser, (name))
 
#define new_bv(id)   new_bv_gen(parser, (id))
 
#define local_push(top)   local_push_gen(parser,(top))
 
#define local_pop()   local_pop_gen(parser)
 
#define local_var(id)   local_var_gen(parser, (id));
 
#define arg_var(id)   arg_var_gen(parser, (id))
 
#define local_id(id)   local_id_gen(parser, (id))
 
#define internal_id()   internal_id_gen(parser)
 
#define dyna_push()   dyna_push_gen(parser)
 
#define dyna_pop(node)   dyna_pop_gen(parser, (node))
 
#define dyna_in_block()   dyna_in_block_gen(parser)
 
#define dyna_var(id)   local_var(id)
 
#define dvar_defined(id)   dvar_defined_gen(parser, (id), 0)
 
#define dvar_defined_get(id)   dvar_defined_gen(parser, (id), 1)
 
#define dvar_curr(id)   dvar_curr_gen(parser, (id))
 
#define lvar_defined(id)   lvar_defined_gen(parser, (id))
 
#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 NODE_STRTERM   NODE_ZARRAY /* nothing to gc */
 
#define NODE_HEREDOC   NODE_ARRAY /* 1, 3 to gc */
 
#define SIGN_EXTEND(x, n)   (((1<<(n)-1)^((x)&~(~0<<(n))))-(1<<(n)-1))
 
#define nd_func   u1.id
 
#define nd_term(node)   SIGN_EXTEND((node)->u2.id, CHAR_BIT*2)
 
#define nd_paren(node)   (char)((node)->u2.id >> CHAR_BIT*2)
 
#define nd_nest   u3.cnt
 
#define ifndef_ripper(x)   (x)
 
#define rb_warn0(fmt)   rb_compile_warn(ruby_sourcefile, ruby_sourceline, (fmt))
 
#define rb_warnI(fmt, a)   rb_compile_warn(ruby_sourcefile, ruby_sourceline, (fmt), (a))
 
#define rb_warnS(fmt, a)   rb_compile_warn(ruby_sourcefile, ruby_sourceline, (fmt), (a))
 
#define rb_warning0(fmt)   rb_compile_warning(ruby_sourcefile, ruby_sourceline, (fmt))
 
#define rb_warningS(fmt, a)   rb_compile_warning(ruby_sourcefile, ruby_sourceline, (fmt), (a))
 
#define rb_compile_error   rb_compile_error_with_enc
 
#define compile_error   parser->nerr++,rb_compile_error_with_enc
 
#define PARSER_ARG   ruby_sourcefile, ruby_sourceline, current_enc,
 
#define token_info_push(token)   (RTEST(ruby_verbose) ? token_info_push(parser, (token)) : (void)0)
 
#define token_info_pop(token)   (RTEST(ruby_verbose) ? token_info_pop(parser, (token)) : (void)0)
 
#define YYERROR_VERBOSE   1
 
#define YYTOKEN_TABLE   0
 
#define YYSIZE_T   unsigned int
 
#define YYSIZE_MAXIMUM   ((YYSIZE_T) -1)
 
#define YY_(msgid)   msgid
 
#define YYUSE(e)   ((void) (e))
 
#define YYID(n)   (n)
 
#define YYSTACK_ALLOC   YYMALLOC
 
#define YYSTACK_FREE   YYFREE
 
#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM
 
#define YYSTACK_GAP_MAXIMUM   (sizeof (union yyalloc) - 1)
 
#define YYSTACK_BYTES(N)
 
#define YYCOPY_NEEDED   1
 
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
 
#define YYCOPY(To, From, Count)
 
#define YYFINAL   3
 
#define YYLAST   10748
 
#define YYNTOKENS   148
 
#define YYNNTS   174
 
#define YYNRULES   573
 
#define YYNSTATES   991
 
#define YYUNDEFTOK   2
 
#define YYMAXUTOK   375
 
#define YYTRANSLATE(YYX)   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
 
#define YYPACT_NINF   -747
 
#define YYTABLE_NINF   -574
 
#define yypact_value_is_default(yystate)   ((yystate) == (-747))
 
#define yytable_value_is_error(yytable_value)   ((yytable_value) == (-574))
 
#define yyerrok   (yyerrstatus = 0)
 
#define yyclearin   (yychar = YYEMPTY)
 
#define YYEMPTY   (-2)
 
#define YYEOF   0
 
#define YYACCEPT   goto yyacceptlab
 
#define YYABORT   goto yyabortlab
 
#define YYERROR   goto yyerrorlab
 
#define YYFAIL   goto yyerrlab
 
#define YYRECOVERING()   (!!yyerrstatus)
 
#define YYBACKUP(Token, Value)
 
#define YYTERROR   1
 
#define YYERRCODE   256
 
#define YYRHSLOC(Rhs, K)   ((Rhs)[K])
 
#define YYLLOC_DEFAULT(Current, Rhs, N)
 
#define YY_LOCATION_PRINT(File, Loc)   ((void) 0)
 
#define YYLEX   yylex (&yylval, parser)
 
#define YYFPRINTF   fprintf
 
#define YYDPRINTF(Args)
 
#define YY_SYMBOL_PRINT(Title, Type, 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))
 
#define YYSYNTAX_ERROR
 
#define yylval   (*((YYSTYPE*)(parser->parser_yylval)))
 
#define nextc()   parser_nextc(parser)
 
#define pushback(c)   parser_pushback(parser, (c))
 
#define newtok()   parser_newtok(parser)
 
#define tokspace(n)   parser_tokspace(parser, (n))
 
#define tokadd(c)   parser_tokadd(parser, (c))
 
#define tok_hex(numlen)   parser_tok_hex(parser, (numlen))
 
#define read_escape(flags, e)   parser_read_escape(parser, (flags), (e))
 
#define tokadd_escape(e)   parser_tokadd_escape(parser, (e))
 
#define regx_options()   parser_regx_options(parser)
 
#define tokadd_string(f, t, p, n, e)   parser_tokadd_string(parser,(f),(t),(p),(n),(e))
 
#define parse_string(n)   parser_parse_string(parser,(n))
 
#define tokaddmbc(c, enc)   parser_tokaddmbc(parser, (c), (enc))
 
#define here_document(n)   parser_here_document(parser,(n))
 
#define heredoc_identifier()   parser_heredoc_identifier(parser)
 
#define heredoc_restore(n)   parser_heredoc_restore(parser,(n))
 
#define whole_match_p(e, l, i)   parser_whole_match_p(parser,(e),(l),(i))
 
#define set_yylval_str(x)   (yylval.node = NEW_STR(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 set_yylval_literal(x)   (yylval.node = NEW_LIT(x))
 
#define set_yylval_node(x)   (yylval.node = (x))
 
#define yylval_id()   (yylval.id)
 
#define ripper_flush(p)   (void)(p)
 
#define SIGN_EXTEND_CHAR(c)   ((((unsigned char)(c)) ^ 128) - 128)
 
#define parser_encoding_name()   (parser->enc->name)
 
#define parser_mbclen()   mbclen((lex_p-1),lex_pend,parser->enc)
 
#define parser_precise_mbclen()   rb_enc_precise_mbclen((lex_p-1),lex_pend,parser->enc)
 
#define is_identchar(p, e, enc)   (rb_enc_isalnum(*(p),(enc)) || (*(p)) == '_' || !ISASCII(*(p)))
 
#define parser_is_identchar()   (!parser->eofp && is_identchar((lex_p-1),lex_pend,parser->enc))
 
#define parser_isascii()   ISASCII(*(lex_p-1))
 
#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 lex_goto_eol(parser)   ((parser)->parser_lex_p = (parser)->parser_lex_pend)
 
#define lex_eol_p()   (lex_p >= lex_pend)
 
#define peek(c)   peek_n((c), 0)
 
#define peek_n(c, n)   (lex_p+(n) < lex_pend && (c) == (unsigned char)lex_p[n])
 
#define was_bol()   (lex_p == lex_pbeg + 1)
 
#define tokfix()   (tokenbuf[tokidx]='\0')
 
#define tok()   tokenbuf
 
#define toklen()   tokidx
 
#define toklast()   (tokidx>0?tokenbuf[tokidx-1]:0)
 
#define tokcopy(n)   memcpy(tokspace(n), lex_p - (n), (n))
 
#define ESCAPE_CONTROL   1
 
#define ESCAPE_META   2
 
#define tokadd_mbchar(c)   parser_tokadd_mbchar(parser, (c))
 
#define mixed_error(enc1, enc2)
 
#define mixed_escape(beg, enc1, enc2)
 
#define NEW_STRTERM(func, term, paren)   rb_node_newnode(NODE_STRTERM, (func), (term) | ((paren) << (CHAR_BIT * 2)), 0)
 
#define flush_string_content(enc)   ((void)(enc))
 
#define BIT(c, idx)   (((c) / 32 - 1 == idx) ? (1U << ((c) % 32)) : 0)
 
#define SPECIAL_PUNCT(idx)
 
#define dispatch_heredoc_end()   ((void)0)
 
#define arg_ambiguous()   (arg_ambiguous_gen(parser), 1)
 
#define str_copy(_s, _p, _n)
 
#define IS_ARG()   (lex_state == EXPR_ARG || lex_state == EXPR_CMDARG)
 
#define IS_END()   (lex_state == EXPR_END || lex_state == EXPR_ENDARG || lex_state == EXPR_ENDFN)
 
#define IS_BEG()   (lex_state == EXPR_BEG || lex_state == EXPR_MID || lex_state == EXPR_VALUE || lex_state == EXPR_CLASS)
 
#define IS_SPCARG(c)   (IS_ARG() && space_seen && !ISSPACE(c))
 
#define IS_LABEL_POSSIBLE()   ((lex_state == EXPR_BEG && !cmd_state) || IS_ARG())
 
#define IS_LABEL_SUFFIX(n)   (peek_n(':',(n)) && !peek_n(':', (n)+1))
 
#define ambiguous_operator(op, syn)
 
#define warn_balanced(op, syn)
 
#define no_digits()   do {yyerror("numeric literal without digits"); return 0;} while (0)
 
#define parser_warning(node, mesg)   parser_warning(parser, (node), (mesg))
 
#define parser_warn(node, mesg)   parser_warn(parser, (node), (mesg))
 
#define assignable_result(x)   (x)
 
#define LVAR_USED   ((int)1 << (sizeof(int) * CHAR_BIT - 1))
 
#define subnodes(n1, n2)
 
#define op_tbl_count   numberof(op_tbl)
 
#define ENABLE_SELECTOR_NAMESPACE   0
 
#define HEAPCNT(n, size)   ((n) * (size) / sizeof(YYSTYPE))
 
#define NEWHEAP()   rb_node_newnode(NODE_ALLOCA, 0, (VALUE)parser->heap, 0)
 
#define ADD2HEAP(n, c, p)
 

Typedefs

typedef VALUE stack_type
 
typedef struct token_info token_info
 
typedef unsigned char yytype_uint8
 
typedef short int yytype_int8
 
typedef unsigned short int yytype_uint16
 
typedef short int yytype_int16
 
typedef long(* rb_magic_comment_length_t )(struct parser_params *parser, const char *name, long len)
 
typedef void(* rb_magic_comment_setter_t )(struct parser_params *parser, const char *name, const char *val)
 

Enumerations

enum  lex_state_e {
  EXPR_BEG, EXPR_END, EXPR_ENDARG, EXPR_ENDFN,
  EXPR_ARG, EXPR_CMDARG, EXPR_MID, EXPR_FNAME,
  EXPR_DOT, EXPR_CLASS, EXPR_VALUE, EXPR_MAX_STATE,
  EXPR_BEG, EXPR_END, EXPR_ENDARG, EXPR_ENDFN,
  EXPR_ARG, EXPR_CMDARG, EXPR_MID, EXPR_FNAME,
  EXPR_DOT, EXPR_CLASS, EXPR_VALUE, EXPR_MAX_STATE,
  EXPR_BEG, EXPR_END, EXPR_ENDARG, EXPR_ENDFN,
  EXPR_ARG, EXPR_CMDARG, EXPR_MID, EXPR_FNAME,
  EXPR_DOT, EXPR_CLASS, EXPR_VALUE, EXPR_MAX_STATE,
  EXPR_BEG, EXPR_END, EXPR_ENDARG, EXPR_ENDFN,
  EXPR_ARG, EXPR_CMDARG, EXPR_MID, EXPR_FNAME,
  EXPR_DOT, EXPR_CLASS, EXPR_VALUE, EXPR_MAX_STATE
}
 
enum  string_type {
  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_dword = (STR_FUNC_QWORDS|STR_FUNC_EXPAND), str_ssym = (STR_FUNC_SYMBOL), str_dsym = (STR_FUNC_SYMBOL|STR_FUNC_EXPAND),
  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_dword = (STR_FUNC_QWORDS|STR_FUNC_EXPAND), str_ssym = (STR_FUNC_SYMBOL), str_dsym = (STR_FUNC_SYMBOL|STR_FUNC_EXPAND)
}
 

Functions

static ID register_symid (ID, const char *, long, rb_encoding *)
 
static int vtable_size (const struct vtable *tbl)
 
static struct vtablevtable_alloc (struct vtable *prev)
 
static void vtable_free (struct vtable *tbl)
 
static void vtable_add (struct vtable *tbl, ID id)
 
static int vtable_included (const struct vtable *tbl, ID id)
 
static int parser_yyerror (struct parser_params *, const char *)
 
static int yylex (void *, void *)
 
static NODEnode_newnode (struct parser_params *, enum node_type, VALUE, VALUE, VALUE)
 
static NODEcond_gen (struct parser_params *, NODE *)
 
static NODElogop_gen (struct parser_params *, enum node_type, NODE *, NODE *)
 
static NODEnewline_node (NODE *)
 
static void fixpos (NODE *, NODE *)
 
static int value_expr_gen (struct parser_params *, NODE *)
 
static void void_expr_gen (struct parser_params *, NODE *)
 
static NODEremove_begin (NODE *)
 
static void void_stmts_gen (struct parser_params *, NODE *)
 
static void reduce_nodes_gen (struct parser_params *, NODE **)
 
static void block_dup_check_gen (struct parser_params *, NODE *, NODE *)
 
static NODEblock_append_gen (struct parser_params *, NODE *, NODE *)
 
static NODElist_append_gen (struct parser_params *, NODE *, NODE *)
 
static NODElist_concat_gen (struct parser_params *, NODE *, NODE *)
 
static NODEarg_append_gen (struct parser_params *, NODE *, NODE *)
 
static NODEarg_concat_gen (struct parser_params *, NODE *, NODE *)
 
static NODEliteral_concat_gen (struct parser_params *, NODE *, NODE *)
 
static int literal_concat0 (struct parser_params *, VALUE, VALUE)
 
static NODEnew_evstr_gen (struct parser_params *, NODE *)
 
static NODEevstr2dstr_gen (struct parser_params *, NODE *)
 
static NODEsplat_array (NODE *)
 
static NODEcall_bin_op_gen (struct parser_params *, NODE *, ID, NODE *)
 
static NODEcall_uni_op_gen (struct parser_params *, NODE *, ID)
 
static NODEnew_args_gen (struct parser_params *, NODE *, NODE *, ID, NODE *, ID)
 
static NODEnegate_lit (NODE *)
 
static NODEret_args_gen (struct parser_params *, NODE *)
 
static NODEarg_blk_pass (NODE *, NODE *)
 
static NODEnew_yield_gen (struct parser_params *, NODE *)
 
static NODEgettable_gen (struct parser_params *, ID)
 
static NODEassignable_gen (struct parser_params *, ID, NODE *)
 
static NODEaryset_gen (struct parser_params *, NODE *, NODE *)
 
static NODEattrset_gen (struct parser_params *, NODE *, ID)
 
static void rb_backref_error_gen (struct parser_params *, NODE *)
 
static NODEnode_assign_gen (struct parser_params *, NODE *, NODE *)
 
static NODEmatch_op_gen (struct parser_params *, NODE *, NODE *)
 
static IDlocal_tbl_gen (struct parser_params *)
 
static void fixup_nodes (NODE **)
 
static VALUE reg_compile_gen (struct parser_params *, VALUE, int)
 
static void reg_fragment_setenc_gen (struct parser_params *, VALUE, int)
 
static int reg_fragment_check_gen (struct parser_params *, VALUE, int)
 
static NODEreg_named_capture_assign_gen (struct parser_params *parser, VALUE regexp, NODE *match)
 
static ID formal_argument_gen (struct parser_params *, ID)
 
static ID shadowing_lvar_gen (struct parser_params *, ID)
 
static void new_bv_gen (struct parser_params *, ID)
 
static void local_push_gen (struct parser_params *, int)
 
static void local_pop_gen (struct parser_params *)
 
static int local_var_gen (struct parser_params *, ID)
 
static int arg_var_gen (struct parser_params *, ID)
 
static int local_id_gen (struct parser_params *, ID)
 
static ID internal_id_gen (struct parser_params *)
 
static struct vtabledyna_push_gen (struct parser_params *)
 
static void dyna_pop_gen (struct parser_params *, const struct vtable *)
 
static int dyna_in_block_gen (struct parser_params *)
 
static int dvar_defined_gen (struct parser_params *, ID, int)
 
static int dvar_curr_gen (struct parser_params *, ID)
 
static int lvar_defined_gen (struct parser_params *, ID)
 
static void token_info_push (struct parser_params *, const char *token)
 
static void token_info_pop (struct parser_params *, const char *token)
 
 YYUSE (parser)
 
 YYUSE (yyoutput)
 
 switch (yytype)
 
else YYFPRINTF (yyoutput,"nterm %s (", yytname[yytype])
 
 yy_symbol_value_print (yyoutput, yytype, yyvaluep, parser)
 
 YYFPRINTF (yyoutput,")")
 
 for (;yybottom<=yytop;yybottom++)
 
 YYFPRINTF (stderr,"\n")
 
 YYFPRINTF (stderr,"Reducing stack by rule %d (line %lu):\n", yyrule-1, yylno)
 
 for (yyi=0;yyi< yynrhs;yyi++)
 
static YYSIZE_T yytnamerr (char *yyres, const char *yystr)
 
static int yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, yytype_int16 *yyssp, int yytoken)
 
 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp)
 
int yyparse ()
 
 YYDPRINTF ((stderr,"Starting parse\n"))
 
 if (yyss+yystacksize-1<=yyssp)
 
 YYDPRINTF ((stderr,"Entering state %d\n", yystate))
 
 if (yychar==YYEMPTY)
 
 if (yychar<=YYEOF)
 
 YY_SYMBOL_PRINT ("Next token is", yytoken,&yylval,&yylloc)
 
 if (yyn<=0)
 
 YY_SYMBOL_PRINT ("Shifting", yytoken,&yylval,&yylloc)
 
 YY_REDUCE_PRINT (yyn)
 
 switch (yyn)
 
 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn],&yyval,&yyloc)
 
 YYPOPSTACK (yylen)
 
 YY_STACK_PRINT (yyss, yyssp)
 
 if (!yyerrstatus)
 
 if (yyerrstatus==3)
 
 for (;;)
 
 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp)
 
yyexhaustedlab YY_ ("memory exhausted"))
 
 yydestruct ("Cleanup: discarding lookahead", yytoken,&yylval, parser)
 
 while (yyssp!=yyss)
 
 YYSTACK_FREE (yyss)
 
 YYSTACK_FREE (yymsg)
 
return YYID (yyresult)
 
static int parser_regx_options (struct parser_params *)
 
static int parser_tokadd_string (struct parser_params *, int, int, int, long *, rb_encoding **)
 
static void parser_tokaddmbc (struct parser_params *parser, int c, rb_encoding *enc)
 
static int parser_parse_string (struct parser_params *, NODE *)
 
static int parser_here_document (struct parser_params *, NODE *)
 
static int token_info_get_column (struct parser_params *parser, const char *token)
 
static int token_info_has_nonspaces (struct parser_params *parser, const char *token)
 
static void parser_prepare (struct parser_params *parser)
 
static VALUE debug_lines (const char *f)
 
static VALUE coverage (const char *f, int n)
 
static int e_option_supplied (struct parser_params *parser)
 
static VALUE yycompile0 (VALUE arg, int tracing)
 
static NODEyycompile (struct parser_params *parser, const char *f, int line)
 
static rb_encodingmust_be_ascii_compatible (VALUE s)
 
static VALUE lex_get_str (struct parser_params *parser, VALUE s)
 
static VALUE lex_getline (struct parser_params *parser)
 
static NODEparser_compile_string (volatile VALUE vparser, const char *f, VALUE s, int line)
 
NODErb_compile_string (const char *f, VALUE s, int line)
 
NODErb_parser_compile_string (volatile VALUE vparser, const char *f, VALUE s, int line)
 
NODErb_compile_cstr (const char *f, const char *s, int len, int line)
 
NODErb_parser_compile_cstr (volatile VALUE vparser, const char *f, const char *s, int len, int line)
 
static VALUE lex_io_gets (struct parser_params *parser, VALUE io)
 
NODErb_compile_file (const char *f, VALUE file, int start)
 
NODErb_parser_compile_file (volatile VALUE vparser, const char *f, VALUE file, int start)
 
static VALUE parser_str_new (const char *p, long n, rb_encoding *enc, int func, rb_encoding *enc0)
 
static int parser_nextc (struct parser_params *parser)
 
static void parser_pushback (struct parser_params *parser, int c)
 
static char * parser_newtok (struct parser_params *parser)
 
static char * parser_tokspace (struct parser_params *parser, int n)
 
static void parser_tokadd (struct parser_params *parser, int c)
 
static int parser_tok_hex (struct parser_params *parser, size_t *numlen)
 
static int parser_tokadd_utf8 (struct parser_params *parser, rb_encoding **encp, int string_literal, int symbol_literal, int regexp_literal)
 
static int parser_read_escape (struct parser_params *parser, int flags, rb_encoding **encp)
 
static int parser_tokadd_escape (struct parser_params *parser, rb_encoding **encp)
 
static void dispose_string (VALUE str)
 
static int parser_tokadd_mbchar (struct parser_params *parser, int c)
 
static int is_global_name_punct (const char c)
 
static int parser_peek_variable_name (struct parser_params *parser)
 
static int parser_heredoc_identifier (struct parser_params *parser)
 
static void parser_heredoc_restore (struct parser_params *parser, NODE *here)
 
static int parser_whole_match_p (struct parser_params *parser, const char *eos, long len, int indent)
 
static void arg_ambiguous_gen (struct parser_params *parser)
 
static long parser_encode_length (struct parser_params *parser, const char *name, long len)
 
static void parser_set_encode (struct parser_params *parser, const char *name)
 
static int comment_at_top (struct parser_params *parser)
 
static void magic_comment_encoding (struct parser_params *parser, const char *name, const char *val)
 
static void parser_set_token_info (struct parser_params *parser, const char *name, const char *val)
 
static const char * magic_comment_marker (const char *str, long len)
 
static int parser_magic_comment (struct parser_params *parser, const char *str, long len)
 
static void set_file_encoding (struct parser_params *parser, const char *str, const char *send)
 
static int parser_yylex (struct parser_params *parser)
 
enum node_type nodetype (NODE *node)
 
int nodeline (NODE *node)
 
static void parser_warning (struct parser_params *parser, NODE *node, const char *mesg)
 
static void parser_warn (struct parser_params *parser, NODE *node, const char *mesg)
 
static NODEif (id==keyword_self)
 
else if (is_local_id(id))
 
else if (is_global_id(id))
 
else if (is_instance_id(id))
 
else if (is_const_id(id))
 
else if (is_class_id(id))
 
return assignable_result (0)
 
ID rb_id_attrset (ID id)
 
static int assign_in_cond (struct parser_params *parser, NODE *node)
 
static void warn_unless_e_option (struct parser_params *parser, NODE *node, const char *str)
 
static void warning_unless_e_option (struct parser_params *parser, NODE *node, const char *str)
 
static NODEcond0 (struct parser_params *, NODE *)
 
static NODErange_op (struct parser_params *parser, NODE *node)
 
static int literal_node (NODE *node)
 
static void no_blockarg (struct parser_params *parser, NODE *node)
 
static void warn_unused_var (struct parser_params *parser, struct local_vars *local)
 
static IDvtable_tblcpy (ID *buf, const struct vtable *src)
 
static void dyna_pop_1 (struct parser_params *parser)
 
static int reg_named_capture_assign_iter (const OnigUChar *name, const OnigUChar *name_end, int back_num, int *back_refs, OnigRegex regex, void *arg0)
 
void rb_gc_mark_parser (void)
 
NODErb_parser_append_print (VALUE vparser, NODE *node)
 
NODErb_parser_while_loop (VALUE vparser, NODE *node, int chop, int split)
 
void Init_sym (void)
 
void rb_gc_mark_symbols (void)
 
static int is_special_global_name (const char *m, const char *e, rb_encoding *enc)
 
int rb_symname_p (const char *name)
 
int rb_enc_symname_p (const char *name, rb_encoding *enc)
 
int rb_enc_symname2_p (const char *name, long len, rb_encoding *enc)
 
ID rb_intern3 (const char *name, long len, rb_encoding *enc)
 
ID rb_intern2 (const char *name, long len)
 
ID rb_intern (const char *name)
 
ID rb_intern_str (VALUE str)
 
VALUE rb_id2str (ID id)
 
const char * rb_id2name (ID id)
 
static int symbols_i (VALUE sym, ID value, VALUE ary)
 
VALUE rb_sym_all_symbols (void)
 
int rb_is_const_id (ID id)
 
int rb_is_class_id (ID id)
 
int rb_is_instance_id (ID id)
 
int rb_is_local_id (ID id)
 
int rb_is_junk_id (ID id)
 
static void parser_initialize (struct parser_params *parser)
 
static void parser_mark (void *ptr)
 
static void parser_free (void *ptr)
 
static size_t parser_memsize (const void *ptr)
 
struct kwtablerb_reserved_word (const char *str, unsigned int len)
 
static struct parser_paramsparser_new (void)
 
VALUE rb_parser_new (void)
 
VALUE rb_parser_end_seen_p (VALUE vparser)
 
VALUE rb_parser_encoding (VALUE vparser)
 
VALUE rb_parser_get_yydebug (VALUE self)
 
VALUE rb_parser_set_yydebug (VALUE self, VALUE flag)
 
voidrb_parser_malloc (struct parser_params *parser, size_t size)
 
voidrb_parser_calloc (struct parser_params *parser, size_t nelem, size_t size)
 
voidrb_parser_realloc (struct parser_params *parser, void *ptr, size_t size)
 
void rb_parser_free (struct parser_params *parser, void *ptr)
 

Variables

static const yytype_uint8 yytranslate []
 
static const yytype_uint16 yyprhs []
 
static const yytype_int16 yyrhs []
 
static const yytype_uint16 yyrline []
 
static const char *const yytname []
 
static const yytype_uint16 yyr1 []
 
static const yytype_uint8 yyr2 []
 
static const yytype_uint16 yydefact []
 
static const yytype_int16 yydefgoto []
 
static const yytype_int16 yypact []
 
static const yytype_int16 yypgoto []
 
static const yytype_int16 yytable []
 
static const yytype_int16 yycheck []
 
static const yytype_uint16 yystos []
 
static void FILEyyoutput
 
int yytype
 
YYSTYPE const *const yyvaluep
 
struct parser_paramsparser
 
static void yytype_int16yybottom
 
yytype_int16yytop
 
static void YYSTYPEyyvsp = yyvs
 
int yyrule
 
int yyi
 
unsigned long int yylno = yyrline[yyrule]
 
static YYSIZE_T const char * yystr
 
 continue
 
return yylen = 0
 
static char *char * yydest
 
const char * yysrc
 
const char * yys = yysrc
 
return yyd
 
static void const char * yymsg = "Deleting"
 
YYSTYPE yylval
 
int yynerrs = 0
 
int yystate = 0
 
int yyerrstatus = 0
 
yytype_int16 yyssa [YYINITDEPTH]
 
yytype_int16yyss = yyssa
 
yytype_int16yyssp = yyss
 
YYSTYPE yyvsa [YYINITDEPTH]
 
YYSTYPEyyvs = yyvsa
 
YYSIZE_T yystacksize = YYINITDEPTH
 
int yyn = yytoken
 
int yyresult = 2
 
int yytoken = 0
 
YYSTYPE yyval = yyvsp[1-yylen]
 
char yymsgbuf [128]
 
YYSIZE_T yymsg_alloc = sizeof yymsgbuf
 
 yychar = YYEMPTY
 
goto yysetstate
 
yynewstate __pad0__
 
yysetstate __pad1__
 
 YYACCEPT
 
goto yybackup
 
yybackup __pad2__
 
goto yydefault
 
 else
 
goto yynewstate
 
yydefault __pad3__
 
goto yyerrlab
 
goto yyreduce
 
yyreduce __pad4__
 
yyerrlab __pad5__
 
goto yyerrlab1
 
yyerrorlab __pad6__
 
yyerrlab1 __pad7__
 
yyacceptlab __pad8__
 
goto yyreturn
 
yyabortlab __pad9__
 
yyexhaustedlab __pad10__
 
yyreturn __pad11__
 
static const rb_data_type_t parser_data_type
 
RUBY_FUNC_EXPORTED const
unsigned int 
ruby_global_name_punct_bits [(0x7e-0x20+31)/32]
 
static struct magic_comment magic_comments []
 
static int
 
int t = parser_yylex(parser)
 
parser parser_yylval = lval
 
parser parser_yylval val = Qundef
 
struct {
   ID   token
 
   const char *   name
 
op_tbl []
 
static struct symbols global_symbols = {tLAST_ID}
 
static struct st_hash_type symhash
 

Macro Definition Documentation

#define ADD2HEAP (   n,
  c,
  p 
)
Value:
((parser->heap = (n))->u1.node = (p), \
(n)->u3.cnt = (c), (p))
ssize_t n
Definition: bigdecimal.c:5519
SYMID SyckParser * p
Definition: yaml2byte.c:119
VpDivd * c
Definition: bigdecimal.c:1163
struct parser_params * parser
Definition: ripper.c:4323
NODE * heap
Definition: ripper.c:260

Definition at line 16658 of file ripper.c.

Referenced by rb_parser_calloc(), rb_parser_malloc(), and rb_parser_realloc().

#define ambiguous_operator (   op,
  syn 
)
Value:
( \
rb_warning0("`"op"' after local variable is interpreted as binary operator"), \
rb_warning0("even though it seems like "syn""))
#define rb_warning0(fmt)
Definition: ripper.c:626

Definition at line 12975 of file ripper.c.

#define arg_ambiguous ( )    (arg_ambiguous_gen(parser), 1)

Definition at line 12640 of file ripper.c.

Referenced by arg_ambiguous_gen(), and parser_yylex().

#define arg_append (   h,
  t 
)    arg_append_gen(parser,(h),(t))

Definition at line 419 of file ripper.c.

Referenced by arg_append_gen(), node_assign_gen(), and switch().

#define arg_concat (   h,
  t 
)    arg_concat_gen(parser,(h),(t))

Definition at line 421 of file ripper.c.

Referenced by arg_concat_gen(), and switch().

#define arg_var (   id)    arg_var_gen(parser, (id))

Definition at line 508 of file ripper.c.

Referenced by switch().

#define aryset (   node1,
  node2 
)    aryset_gen(parser, (node1), (node2))

Definition at line 452 of file ripper.c.

Referenced by switch().

#define assignable (   id,
  node 
)    assignable_gen(parser, (id), (node))

Definition at line 449 of file ripper.c.

Referenced by reg_named_capture_assign_iter(), and switch().

#define assignable_result (   x)    (x)

Referenced by if().

#define attrset (   node,
  id 
)    attrset_gen(parser, (node), (id))

Definition at line 454 of file ripper.c.

Referenced by switch().

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

Definition at line 12300 of file ripper.c.

#define BITSTACK_LEXPOP (   stack)    ((stack) = ((stack) >> 1) | ((stack) & 1))

Definition at line 138 of file ripper.c.

#define BITSTACK_POP (   stack)    ((stack) = (stack) >> 1)

Definition at line 137 of file ripper.c.

#define BITSTACK_PUSH (   stack,
  n 
)    ((stack) = ((stack)<<1)|((n)&1))

Definition at line 136 of file ripper.c.

#define BITSTACK_SET_P (   stack)    ((stack)&1)

Definition at line 139 of file ripper.c.

#define block_append (   h,
  t 
)    block_append_gen(parser,(h),(t))
#define block_dup_check (   n1,
  n2 
)    block_dup_check_gen(parser,(n1),(n2))

Definition at line 410 of file ripper.c.

Referenced by switch().

#define call_bin_op (   recv,
  id,
  arg1 
)    call_bin_op_gen(parser, (recv),(id),(arg1))

Definition at line 432 of file ripper.c.

Referenced by switch().

#define call_uni_op (   recv,
  id 
)    call_uni_op_gen(parser, (recv),(id))

Definition at line 434 of file ripper.c.

Referenced by switch().

#define calloc   YYCALLOC

Definition at line 96 of file ripper.c.

Referenced by compat_init_setproctitle(), opendir_internal(), rb_w32_cmdvector(), and vm_xcalloc().

#define class_nest   (parser->parser_class_nest)

Definition at line 343 of file ripper.c.

#define CMDARG_LEXPOP ( )    BITSTACK_LEXPOP(cmdarg_stack)

Definition at line 148 of file ripper.c.

Referenced by parser_yylex().

#define CMDARG_P ( )    BITSTACK_SET_P(cmdarg_stack)

Definition at line 149 of file ripper.c.

Referenced by parser_yylex().

#define CMDARG_POP ( )    BITSTACK_POP(cmdarg_stack)

Definition at line 147 of file ripper.c.

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

Definition at line 146 of file ripper.c.

Referenced by parser_yylex(), and switch().

#define cmdarg_stack   (parser->parser_cmdarg_stack)

Definition at line 342 of file ripper.c.

Referenced by local_pop_gen(), local_push_gen(), and switch().

#define command_start   (parser->parser_command_start)

Definition at line 361 of file ripper.c.

Referenced by parser_peek_variable_name(), parser_yylex(), and switch().

#define compile_error   parser->nerr++,rb_compile_error_with_enc
#define compile_for_eval   (parser->parser_compile_for_eval)

Definition at line 348 of file ripper.c.

Referenced by parser_compile_string(), rb_parser_compile_file(), switch(), and yycompile0().

#define cond (   node)    cond_gen(parser, (node))

Definition at line 392 of file ripper.c.

Referenced by switch(), and value_expr_gen().

#define COND_LEXPOP ( )    BITSTACK_LEXPOP(cond_stack)

Definition at line 143 of file ripper.c.

Referenced by parser_yylex().

#define COND_P ( )    BITSTACK_SET_P(cond_stack)

Definition at line 144 of file ripper.c.

Referenced by parser_yylex().

#define COND_POP ( )    BITSTACK_POP(cond_stack)

Definition at line 142 of file ripper.c.

Referenced by switch().

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

Definition at line 141 of file ripper.c.

Referenced by parser_yylex(), and switch().

#define cond_stack   (parser->parser_cond_stack)

Definition at line 341 of file ripper.c.

Referenced by switch().

#define cur_mid   (parser->parser_cur_mid)

Definition at line 349 of file ripper.c.

Referenced by switch().

#define current_enc   (parser->enc)

Definition at line 369 of file ripper.c.

fixup_nodes & deferred_nodes   (parser->parser_deferred_nodes)

Definition at line 362 of file ripper.c.

Referenced by switch(), and yycompile0().

#define dispatch_heredoc_end ( )    ((void)0)

Definition at line 12525 of file ripper.c.

Referenced by parser_here_document().

#define dvar_curr (   id)    dvar_curr_gen(parser, (id))

Definition at line 525 of file ripper.c.

Referenced by if(), and shadowing_lvar_gen().

#define dvar_defined (   id)    dvar_defined_gen(parser, (id), 0)

Definition at line 522 of file ripper.c.

Referenced by gettable_gen(), if(), and reg_named_capture_assign_iter().

#define dvar_defined_get (   id)    dvar_defined_gen(parser, (id), 1)

Definition at line 523 of file ripper.c.

Referenced by lvar_defined_gen(), and shadowing_lvar_gen().

#define DVARS_INHERIT   ((void*)1)

Definition at line 166 of file ripper.c.

Referenced by dvar_defined_gen(), local_id_gen(), and local_push_gen().

#define DVARS_SPECIAL_P (   tbl)    (!POINTER_P(tbl))

Definition at line 168 of file ripper.c.

#define DVARS_TOPSCOPE   NULL

Definition at line 167 of file ripper.c.

Referenced by dyna_in_block_gen(), and local_push_gen().

#define dyna_in_block ( )    dyna_in_block_gen(parser)

Definition at line 519 of file ripper.c.

Referenced by gettable_gen(), if(), lvar_defined_gen(), shadowing_lvar_gen(), and switch().

#define dyna_pop (   node)    dyna_pop_gen(parser, (node))

Definition at line 517 of file ripper.c.

Referenced by switch().

#define dyna_push ( )    dyna_push_gen(parser)

Definition at line 515 of file ripper.c.

Referenced by switch().

#define dyna_var (   id)    local_var(id)

Definition at line 520 of file ripper.c.

Referenced by if(), and new_bv_gen().

#define ENABLE_SELECTOR_NAMESPACE   0

Definition at line 15931 of file ripper.c.

#define ENC_SINGLE (   cr)    ((cr)==ENC_CODERANGE_7BIT)

Definition at line 333 of file ripper.c.

Referenced by parser_yylex().

#define ESCAPE_CONTROL   1

Definition at line 11909 of file ripper.c.

Referenced by parser_read_escape(), and parser_tokadd_escape().

#define ESCAPE_META   2

Definition at line 11910 of file ripper.c.

Referenced by parser_read_escape(), and parser_tokadd_escape().

#define evstr2dstr (   n)    evstr2dstr_gen(parser,(n))

Definition at line 428 of file ripper.c.

Referenced by switch().

#define flush_string_content (   enc)    ((void)(enc))

Definition at line 12293 of file ripper.c.

Referenced by parser_here_document(), and parser_parse_string().

#define formal_argument (   id)    formal_argument_gen(parser, (id))

Definition at line 495 of file ripper.c.

Referenced by switch().

#define free   YYFREE

Definition at line 97 of file ripper.c.

#define get_id (   id)    (id)

Definition at line 478 of file ripper.c.

Referenced by switch().

#define get_value (   val)    (val)

Definition at line 479 of file ripper.c.

Referenced by switch().

#define gettable (   id)    gettable_gen(parser,(id))

Definition at line 447 of file ripper.c.

Referenced by reg_named_capture_assign_gen(), reg_named_capture_assign_iter(), and switch().

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

Definition at line 16656 of file ripper.c.

Referenced by rb_parser_calloc(), rb_parser_malloc(), and rb_parser_realloc().

#define here_document (   n)    parser_here_document(parser,(n))

Definition at line 11196 of file ripper.c.

Referenced by parser_yylex().

#define heredoc_end   (parser->parser_heredoc_end)

Definition at line 360 of file ripper.c.

Referenced by parser_heredoc_restore(), and parser_nextc().

#define heredoc_identifier ( )    parser_heredoc_identifier(parser)

Definition at line 11197 of file ripper.c.

Referenced by parser_yylex().

#define heredoc_restore (   n)    parser_heredoc_restore(parser,(n))

Definition at line 11198 of file ripper.c.

Referenced by parser_here_document().

#define ifndef_ripper (   x)    (x)

Definition at line 617 of file ripper.c.

Referenced by switch().

#define in_def   (parser->parser_in_def)

Definition at line 347 of file ripper.c.

Referenced by if(), and switch().

#define in_defined   (parser->parser_in_defined)

Definition at line 350 of file ripper.c.

Referenced by switch().

#define in_single   (parser->parser_in_single)

Definition at line 346 of file ripper.c.

Referenced by if(), and switch().

#define internal_id ( )    internal_id_gen(parser)

Definition at line 512 of file ripper.c.

Referenced by switch().

#define IS_ARG ( )    (lex_state == EXPR_ARG || lex_state == EXPR_CMDARG)

Definition at line 12967 of file ripper.c.

Referenced by parser_yylex().

#define is_asgn_or_id (   id)
Value:
((is_notop_id(id)) && \
(((id)&ID_SCOPE_MASK) == ID_GLOBAL || \
((id)&ID_SCOPE_MASK) == ID_INSTANCE || \
((id)&ID_SCOPE_MASK) == ID_CLASS))
#define ID_INSTANCE
#define ID_GLOBAL
#define ID_CLASS
#define is_notop_id(id)
Definition: ripper.c:105
const int id
Definition: nkf.c:209
#define ID_SCOPE_MASK

Definition at line 114 of file ripper.c.

Referenced by switch().

#define is_attrset_id (   id)    (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_ATTRSET)

Definition at line 109 of file ripper.c.

Referenced by rb_id2str(), and rb_intern3().

#define IS_BEG ( )    (lex_state == EXPR_BEG || lex_state == EXPR_MID || lex_state == EXPR_VALUE || lex_state == EXPR_CLASS)

Definition at line 12969 of file ripper.c.

Referenced by parser_yylex().

#define is_class_id (   id)    (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_CLASS)

Definition at line 111 of file ripper.c.

Referenced by gettable_gen(), and rb_is_class_id().

#define is_const_id (   id)    (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_CONST)

Definition at line 110 of file ripper.c.

Referenced by gettable_gen(), and rb_is_const_id().

#define IS_END ( )    (lex_state == EXPR_END || lex_state == EXPR_ENDARG || lex_state == EXPR_ENDFN)

Definition at line 12968 of file ripper.c.

Referenced by parser_yylex().

#define is_global_id (   id)    (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_GLOBAL)

Definition at line 107 of file ripper.c.

Referenced by gettable_gen().

#define is_identchar (   p,
  e,
  enc 
)    (rb_enc_isalnum(*(p),(enc)) || (*(p)) == '_' || !ISASCII(*(p)))

Definition at line 11295 of file ripper.c.

Referenced by is_special_global_name(), parser_yylex(), rb_enc_symname2_p(), and rb_intern3().

#define is_instance_id (   id)    (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_INSTANCE)

Definition at line 108 of file ripper.c.

Referenced by gettable_gen(), and rb_is_instance_id().

#define is_junk_id (   id)    (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_JUNK)

Definition at line 112 of file ripper.c.

Referenced by rb_is_junk_id().

#define IS_LABEL_POSSIBLE ( )    ((lex_state == EXPR_BEG && !cmd_state) || IS_ARG())

Definition at line 12971 of file ripper.c.

Referenced by parser_yylex().

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

Definition at line 12972 of file ripper.c.

Referenced by parser_yylex().

#define is_local_id (   id)    (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_LOCAL)
#define is_notop_id (   id)    ((id)>tLAST_TOKEN)

Definition at line 105 of file ripper.c.

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

Definition at line 12970 of file ripper.c.

Referenced by parser_yylex().

#define lex_eol_p ( )    (lex_p >= lex_pend)

Definition at line 11707 of file ripper.c.

Referenced by parser_yylex().

#define lex_gets   (parser->parser_lex_gets)

Definition at line 364 of file ripper.c.

Referenced by parser_compile_string(), and rb_parser_compile_file().

#define lex_gets_ptr   (parser->parser_lex_gets_ptr)

Definition at line 363 of file ripper.c.

Referenced by lex_get_str(), and parser_compile_string().

#define lex_goto_eol (   parser)    ((parser)->parser_lex_p = (parser)->parser_lex_pend)
#define lex_input   (parser->parser_lex_input)

Definition at line 354 of file ripper.c.

Referenced by parser_compile_string(), parser_nextc(), and rb_parser_compile_file().

#define lex_lastline   (parser->parser_lex_lastline)
#define lex_nextline   (parser->parser_lex_nextline)

Definition at line 356 of file ripper.c.

Referenced by parser_nextc(), parser_yylex(), and yycompile0().

#define lex_p   (parser->parser_lex_p)
#define lex_pbeg   (parser->parser_lex_pbeg)
#define lex_pend   (parser->parser_lex_pend)
#define lex_state   (parser->parser_lex_state)

Definition at line 340 of file ripper.c.

Referenced by parser_yylex(), and switch().

#define lex_strterm   (parser->parser_lex_strterm)
#define list_append (   l,
  i 
)    list_append_gen(parser,(l),(i))

Definition at line 415 of file ripper.c.

Referenced by arg_append_gen(), evstr2dstr_gen(), literal_concat_gen(), and switch().

#define list_concat (   h,
  t 
)    list_concat_gen(parser,(h),(t))

Definition at line 417 of file ripper.c.

Referenced by arg_concat_gen(), literal_concat_gen(), and switch().

#define literal_concat (   h,
  t 
)    literal_concat_gen(parser,(h),(t))

Definition at line 423 of file ripper.c.

Referenced by switch().

#define local_id (   id)    local_id_gen(parser, (id))
#define local_pop ( )    local_pop_gen(parser)

Definition at line 504 of file ripper.c.

Referenced by switch().

#define local_push (   top)    local_push_gen(parser,(top))

Definition at line 502 of file ripper.c.

Referenced by switch().

#define local_tbl ( )    local_tbl_gen(parser)

Definition at line 465 of file ripper.c.

#define local_var (   id)    local_var_gen(parser, (id));

Definition at line 506 of file ripper.c.

Referenced by if().

#define logop (   type,
  node1,
  node2 
)    logop_gen(parser, (type), (node1), (node2))

Definition at line 394 of file ripper.c.

Referenced by switch().

#define lpar_beg   (parser->parser_lpar_beg)

Definition at line 345 of file ripper.c.

Referenced by parser_yylex(), and switch().

#define lvar_defined (   id)    lvar_defined_gen(parser, (id))

Definition at line 528 of file ripper.c.

Referenced by parser_yylex().

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

Definition at line 14754 of file ripper.c.

Referenced by dvar_defined_gen(), local_id_gen(), shadowing_lvar_gen(), and warn_unused_var().

#define lvtbl   (parser->parser_lvtbl)
#define malloc   YYMALLOC
#define match_op (   node1,
  node2 
)    match_op_gen(parser, (node1), (node2))

Definition at line 462 of file ripper.c.

Referenced by switch().

#define mixed_error (   enc1,
  enc2 
)
Value:
if (!errbuf) { \
size_t len = sizeof(mixed_msg) - 4; \
errbuf = ALLOCA_N(char, len); \
snprintf(errbuf, len, mixed_msg, \
rb_enc_name(enc1), \
yyerror(errbuf); \
}
size_t strlen(const char *)
gz enc2
Definition: zlib.c:2035
#define snprintf
Definition: subst.h:6
#define ALLOCA_N(type, n)
Definition: ruby.h:1038
#define rb_enc_name(enc)
Definition: encoding.h:121
register unsigned int len
Definition: name2ctype.h:22210
#define yyerror(msg)
Definition: ripper.c:337

Referenced by parser_tokadd_string().

#define mixed_escape (   beg,
  enc1,
  enc2 
)
Value:
do { \
const char *pos = lex_p; \
lex_p = (beg); \
mixed_error((enc1), (enc2)); \
lex_p = pos; \
} while (0)
gz enc2
Definition: zlib.c:2035
#define const
Definition: strftime.c:101
#define lex_p
Definition: ripper.c:358
#define mixed_error(enc1, enc2)

Referenced by parser_tokadd_string().

#define nd_func   u1.id

Definition at line 541 of file ripper.c.

#define nd_nest   u3.cnt

Definition at line 548 of file ripper.c.

#define nd_paren (   node)    (char)((node)->u2.id >> CHAR_BIT*2)

Definition at line 547 of file ripper.c.

Referenced by parser_parse_string().

#define nd_term (   node)    SIGN_EXTEND((node)->u2.id, CHAR_BIT*2)

Definition at line 545 of file ripper.c.

Referenced by parser_parse_string().

#define new_args (   f,
  o,
  r,
  p,
  b 
)    new_args_gen(parser, (f),(o),(r),(p),(b))

Definition at line 437 of file ripper.c.

Referenced by check_funcall_exec(), switch(), and vm_call0().

#define new_bv (   id)    new_bv_gen(parser, (id))

Definition at line 499 of file ripper.c.

Referenced by switch().

#define new_evstr (   n)    new_evstr_gen(parser,(n))

Definition at line 426 of file ripper.c.

Referenced by switch().

#define NEW_STRTERM (   func,
  term,
  paren 
)    rb_node_newnode(NODE_STRTERM, (func), (term) | ((paren) << (CHAR_BIT * 2)), 0)

Definition at line 12274 of file ripper.c.

Referenced by parser_here_document(), and parser_yylex().

#define new_yield (   node)    new_yield_gen(parser, (node))

Definition at line 444 of file ripper.c.

Referenced by switch().

#define NEWHEAP ( )    rb_node_newnode(NODE_ALLOCA, 0, (VALUE)parser->heap, 0)

Definition at line 16657 of file ripper.c.

Referenced by rb_parser_calloc(), rb_parser_malloc(), and rb_parser_realloc().

#define newtok ( )    parser_newtok(parser)
#define nextc ( )    parser_nextc(parser)
#define no_digits ( )    do {yyerror("numeric literal without digits"); return 0;} while (0)
#define node_assign (   node1,
  node2 
)    node_assign_gen(parser, (node1), (node2))

Definition at line 459 of file ripper.c.

Referenced by reg_named_capture_assign_iter(), and switch().

#define NODE_HEREDOC   NODE_ARRAY /* 1, 3 to gc */

Definition at line 539 of file ripper.c.

Referenced by parser_heredoc_identifier(), and parser_yylex().

#define NODE_STRTERM   NODE_ZARRAY /* nothing to gc */

Definition at line 538 of file ripper.c.

#define numberof (   array)    (int)(sizeof(array) / sizeof((array)[0]))

Definition at line 88 of file ripper.c.

Referenced by parser_magic_comment().

#define op_tbl_count   numberof(op_tbl)

Definition at line 15928 of file ripper.c.

Referenced by rb_id2str(), and rb_intern3().

#define paren_nest   (parser->parser_paren_nest)

Definition at line 344 of file ripper.c.

Referenced by parser_yylex(), and switch().

#define parse_string (   n)    parser_parse_string(parser,(n))

Definition at line 11194 of file ripper.c.

Referenced by parser_yylex().

#define PARSER_ARG   ruby_sourcefile, ruby_sourceline, current_enc,
#define parser_encoding_name ( )    (parser->enc->name)

Definition at line 11292 of file ripper.c.

Referenced by parser_tokadd_mbchar().

#define parser_is_identchar ( )    (!parser->eofp && is_identchar((lex_p-1),lex_pend,parser->enc))

Definition at line 11296 of file ripper.c.

Referenced by parser_heredoc_identifier(), and parser_yylex().

#define parser_isascii ( )    ISASCII(*(lex_p-1))

Definition at line 11298 of file ripper.c.

Referenced by parser_tokadd_string(), and parser_yylex().

#define parser_mbclen ( )    mbclen((lex_p-1),lex_pend,parser->enc)

Definition at line 11293 of file ripper.c.

#define parser_precise_mbclen ( )    rb_enc_precise_mbclen((lex_p-1),lex_pend,parser->enc)

Definition at line 11294 of file ripper.c.

Referenced by parser_tokadd_mbchar().

#define parser_warn (   node,
  mesg 
)    parser_warn(parser, (node), (mesg))

Definition at line 14356 of file ripper.c.

Referenced by assign_in_cond(), cond0(), and warn_unless_e_option().

#define parser_warning (   node,
  mesg 
)    parser_warning(parser, (node), (mesg))

Definition at line 14349 of file ripper.c.

Referenced by block_append_gen(), cond0(), value_expr_gen(), and warning_unless_e_option().

#define peek (   c)    peek_n((c), 0)
#define peek_n (   c,
  n 
)    (lex_p+(n) < lex_pend && (c) == (unsigned char)lex_p[n])

Definition at line 11709 of file ripper.c.

Referenced by parser_yylex().

#define POINTER_P (   val)    ((VALUE)(val) & ~(VALUE)3)
#define pushback (   c)    parser_pushback(parser, (c))
#define rb_backref_error (   n)    rb_backref_error_gen(parser,(n))

Definition at line 457 of file ripper.c.

Referenced by switch().

#define rb_compile_error   rb_compile_error_with_enc

Definition at line 649 of file ripper.c.

Referenced by parser_yylex().

#define rb_node_newnode (   type,
  a1,
  a2,
  a3 
)    node_newnode(parser, (type), (a1), (a2), (a3))

Definition at line 389 of file ripper.c.

Referenced by enum_zip(), node_newnode(), parser_heredoc_identifier(), and rb_autoload().

#define rb_warn0 (   fmt)    rb_compile_warn(ruby_sourcefile, ruby_sourceline, (fmt))

Definition at line 623 of file ripper.c.

Referenced by cond0(), and switch().

#define rb_warnI (   fmt,
  a 
)    rb_compile_warn(ruby_sourcefile, ruby_sourceline, (fmt), (a))

Definition at line 624 of file ripper.c.

Referenced by parser_yylex().

#define rb_warning0 (   fmt)    rb_compile_warning(ruby_sourcefile, ruby_sourceline, (fmt))

Definition at line 626 of file ripper.c.

Referenced by arg_ambiguous_gen(), parser_yylex(), switch(), and value_expr_gen().

#define rb_warningS (   fmt,
  a 
)    rb_compile_warning(ruby_sourcefile, ruby_sourceline, (fmt), (a))

Definition at line 627 of file ripper.c.

Referenced by parser_yylex(), reg_named_capture_assign_iter(), and shadowing_lvar_gen().

#define rb_warnS (   fmt,
  a 
)    rb_compile_warn(ruby_sourcefile, ruby_sourceline, (fmt), (a))

Definition at line 625 of file ripper.c.

Referenced by void_expr_gen().

#define RE_OPTION_ARG_ENCODING_NONE   32

Definition at line 536 of file ripper.c.

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

Definition at line 532 of file ripper.c.

Referenced by parser_regx_options().

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

Definition at line 533 of file ripper.c.

Referenced by reg_fragment_setenc_gen().

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

Definition at line 534 of file ripper.c.

Referenced by reg_fragment_setenc_gen().

#define RE_OPTION_ENCODING_SHIFT   8

Definition at line 531 of file ripper.c.

#define RE_OPTION_MASK   0xff

Definition at line 535 of file ripper.c.

Referenced by reg_compile_gen(), and switch().

#define RE_OPTION_ONCE   (1<<16)

Definition at line 530 of file ripper.c.

Referenced by parser_regx_options(), and switch().

#define read_escape (   flags,
  e 
)    parser_read_escape(parser, (flags), (e))

Definition at line 11190 of file ripper.c.

Referenced by parser_read_escape(), parser_tokadd_string(), and parser_yylex().

#define realloc   YYREALLOC
#define reduce_nodes (   n)    reduce_nodes_gen(parser,(n))

Definition at line 408 of file ripper.c.

Referenced by switch().

#define reg_compile (   str,
  options 
)    reg_compile_gen(parser, (str), (options))

Definition at line 470 of file ripper.c.

Referenced by switch().

#define reg_fragment_check (   str,
  options 
)    reg_fragment_check_gen(parser, (str), (options))

Definition at line 474 of file ripper.c.

Referenced by switch().

#define reg_fragment_setenc (   str,
  options 
)    reg_fragment_setenc_gen(parser, (str), (options))

Definition at line 472 of file ripper.c.

Referenced by reg_compile_gen(), and reg_fragment_check_gen().

#define reg_named_capture_assign (   regexp,
  match 
)    reg_named_capture_assign_gen(parser,(regexp),(match))

Definition at line 476 of file ripper.c.

Referenced by switch().

#define REGISTER_SYMID (   id,
  name 
)    register_symid((id), (name), strlen(name), enc)

Definition at line 101 of file ripper.c.

Referenced by Init_id().

#define regx_options ( )    parser_regx_options(parser)

Definition at line 11192 of file ripper.c.

Referenced by parser_parse_string().

#define ret_args (   node)    ret_args_gen(parser, (node))

Definition at line 441 of file ripper.c.

Referenced by switch().

#define ripper_flush (   p)    (void)(p)

Definition at line 11225 of file ripper.c.

Referenced by parser_heredoc_identifier(), parser_heredoc_restore(), and parser_nextc().

#define ruby__end__seen   (parser->parser_ruby__end__seen)

Definition at line 366 of file ripper.c.

Referenced by parser_yylex(), and rb_parser_end_seen_p().

#define ruby_coverage   (parser->coverage)

Definition at line 376 of file ripper.c.

Referenced by lex_getline(), and yycompile0().

#define ruby_debug_lines   (parser->debug_lines)

Definition at line 375 of file ripper.c.

Referenced by lex_getline(), parser_set_encode(), and yycompile0().

#define ruby_eval_tree   (parser->parser_eval_tree)

Definition at line 373 of file ripper.c.

Referenced by switch(), and yycompile0().

#define ruby_eval_tree_begin   (parser->parser_eval_tree_begin)

Definition at line 374 of file ripper.c.

Referenced by switch(), and yycompile0().

#define ruby_sourcefile   (parser->parser_ruby_sourcefile)

Definition at line 368 of file ripper.c.

#define ruby_sourceline   (parser->parser_ruby_sourceline)
#define set_yylval_id (   x)    (yylval.id = (x))

Definition at line 11204 of file ripper.c.

Referenced by parser_yylex().

#define set_yylval_literal (   x)    (yylval.node = NEW_LIT(x))

Definition at line 11206 of file ripper.c.

Referenced by parser_yylex().

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

Definition at line 11205 of file ripper.c.

Referenced by parser_yylex().

#define set_yylval_node (   x)    (yylval.node = (x))

Definition at line 11207 of file ripper.c.

Referenced by parser_yylex().

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

Definition at line 11203 of file ripper.c.

Referenced by parser_parse_string().

#define set_yylval_str (   x)    (yylval.node = NEW_STR(x))

Definition at line 11202 of file ripper.c.

Referenced by parser_here_document(), parser_parse_string(), and parser_yylex().

#define shadowing_lvar (   name)    shadowing_lvar_gen(parser, (name))

Definition at line 497 of file ripper.c.

Referenced by formal_argument_gen(), new_bv_gen(), and switch().

#define SIGN_EXTEND (   x,
  n 
)    (((1<<(n)-1)^((x)&~(~0<<(n))))-(1<<(n)-1))

Definition at line 540 of file ripper.c.

#define SIGN_EXTEND_CHAR (   c)    ((((unsigned char)(c)) ^ 128) - 128)

Definition at line 11289 of file ripper.c.

#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))
int idx
Definition: tcltklib.c:9703
#define BIT(c, idx)
Definition: ripper.c:12300

Definition at line 12301 of file ripper.c.

#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))))
#define RSTRING_PTR(string)
Definition: generator.h:42
#define MEMCPY(p1, p2, type, n)
Definition: ruby.h:1053
VALUE rb_str_resize(VALUE, long)
Definition: string.c:1779
#define STR_NEW(p, n)
Definition: ripper.c:329
VP_EXPORT void
Definition: bigdecimal.c:4944

Referenced by parser_magic_comment().

#define STR_FUNC_ESCAPE   0x01

Definition at line 11671 of file ripper.c.

Referenced by parser_tokadd_string().

#define STR_FUNC_EXPAND   0x02

Definition at line 11672 of file ripper.c.

Referenced by parser_here_document(), parser_parse_string(), and parser_tokadd_string().

#define STR_FUNC_INDENT   0x20

Definition at line 11676 of file ripper.c.

Referenced by parser_here_document(), and parser_heredoc_identifier().

#define STR_FUNC_QWORDS   0x08

Definition at line 11674 of file ripper.c.

Referenced by parser_parse_string(), and parser_tokadd_string().

#define STR_FUNC_REGEXP   0x04

Definition at line 11673 of file ripper.c.

Referenced by parser_parse_string(), parser_str_new(), and parser_tokadd_string().

#define STR_FUNC_SYMBOL   0x10

Definition at line 11675 of file ripper.c.

Referenced by parser_tokadd_string().

#define STR_NEW (   p,
  n 
)    rb_enc_str_new((p),(n),parser->enc)

Definition at line 329 of file ripper.c.

Referenced by parser_here_document(), and parser_heredoc_identifier().

#define STR_NEW0 ( )    rb_enc_str_new(0,0,parser->enc)

Definition at line 330 of file ripper.c.

Referenced by switch(), and yycompile0().

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

Definition at line 331 of file ripper.c.

Referenced by parser_yyerror().

#define STR_NEW3 (   p,
  n,
  e,
  func 
)    parser_str_new((p),(n),(e),(func),parser->enc)

Definition at line 332 of file ripper.c.

Referenced by parser_here_document(), parser_parse_string(), and parser_yylex().

#define subnodes (   n1,
  n2 
)
Value:
((!node->n1) ? (node->n2 ? (body = &node->n2, 1) : 0) : \
(!node->n2) ? (body = &node->n1, 1) : \
(reduce_nodes(&node->n1), body = &node->n2, 1))
#define reduce_nodes(n)
Definition: ripper.c:408

Referenced by reduce_nodes_gen().

#define tok ( )    tokenbuf
#define tok_hex (   numlen)    parser_tok_hex(parser, (numlen))

Definition at line 11189 of file ripper.c.

Referenced by parser_read_escape(), and parser_tokadd_escape().

#define TOK_INTERN (   mb)    rb_intern3(tok(), toklen(), parser->enc)

Definition at line 334 of file ripper.c.

Referenced by parser_yylex().

#define tokadd (   c)    parser_tokadd(parser, (c))
#define tokadd_escape (   e)    parser_tokadd_escape(parser, (e))

Definition at line 11191 of file ripper.c.

Referenced by parser_tokadd_string().

#define tokadd_mbchar (   c)    parser_tokadd_mbchar(parser, (c))

Definition at line 12142 of file ripper.c.

Referenced by parser_heredoc_identifier(), parser_tokadd_string(), and parser_yylex().

#define tokadd_string (   f,
  t,
  p,
  n,
  e 
)    parser_tokadd_string(parser,(f),(t),(p),(n),(e))

Definition at line 11193 of file ripper.c.

Referenced by parser_here_document(), and parser_parse_string().

#define tokaddmbc (   c,
  enc 
)    parser_tokaddmbc(parser, (c), (enc))

Definition at line 11195 of file ripper.c.

Referenced by parser_tokadd_utf8(), and parser_yylex().

#define tokcopy (   n)    memcpy(tokspace(n), lex_p - (n), (n))

Definition at line 11835 of file ripper.c.

Referenced by parser_tokadd_escape(), parser_tokadd_mbchar(), and parser_tokadd_utf8().

#define token_info_pop (   token)    (RTEST(ruby_verbose) ? token_info_pop(parser, (token)) : (void)0)

Definition at line 667 of file ripper.c.

Referenced by switch().

#define token_info_push (   token)    (RTEST(ruby_verbose) ? token_info_push(parser, (token)) : (void)0)

Definition at line 666 of file ripper.c.

Referenced by switch().

#define tokenbuf   (parser->parser_tokenbuf)

Definition at line 351 of file ripper.c.

Referenced by parser_newtok(), parser_tokadd(), and parser_tokspace().

#define tokfix ( )    (tokenbuf[tokidx]='\0')
#define tokidx   (parser->parser_tokidx)

Definition at line 352 of file ripper.c.

Referenced by parser_newtok(), parser_tokadd(), parser_tokspace(), and parser_yylex().

#define toklast ( )    (tokidx>0?tokenbuf[tokidx-1]:0)

Definition at line 11782 of file ripper.c.

Referenced by parser_yylex().

#define toklen ( )    tokidx
#define toksiz   (parser->parser_toksiz)

Definition at line 353 of file ripper.c.

Referenced by parser_newtok(), parser_tokadd(), and parser_tokspace().

#define tokspace (   n)    parser_tokspace(parser, (n))

Definition at line 11187 of file ripper.c.

Referenced by parser_tokaddmbc().

#define UTF8_ENC ( )
Value:
rb_encoding * utf8
Definition: ripper.c:298
rb_encoding * rb_utf8_encoding(void)
Definition: encoding.c:1125
struct parser_params * parser
Definition: ripper.c:4323

Definition at line 327 of file ripper.c.

Referenced by parser_tokadd_utf8().

#define value_expr (   node)    value_expr_gen(parser, (node) = remove_begin(node))
#define void_expr (   node)    void_expr0((node) = remove_begin(node))

Definition at line 404 of file ripper.c.

Referenced by switch().

#define void_expr0 (   node)    void_expr_gen(parser, (node))

Definition at line 403 of file ripper.c.

Referenced by void_stmts_gen().

#define void_stmts (   node)    void_stmts_gen(parser, (node))

Definition at line 406 of file ripper.c.

Referenced by switch().

#define VTBL_DEBUG   0

Definition at line 182 of file ripper.c.

Referenced by vtable_add(), vtable_alloc(), and vtable_free().

#define warn_balanced (   op,
  syn 
)
Value:
((void) \
(last_state != EXPR_CLASS && last_state != EXPR_DOT && \
last_state != EXPR_FNAME && last_state != EXPR_ENDFN && \
last_state != EXPR_ENDARG && \
space_seen && !ISSPACE(c) && \
(ambiguous_operator(op, syn), 0)))
VP_EXPORT void
Definition: bigdecimal.c:4944
VpDivd * c
Definition: bigdecimal.c:1163
#define ambiguous_operator(op, syn)
Definition: ripper.c:12975
#define ISSPACE(c)
Definition: ruby.h:1453

Definition at line 12981 of file ripper.c.

Referenced by parser_yylex().

#define was_bol ( )    (lex_p == lex_pbeg + 1)

Definition at line 11777 of file ripper.c.

Referenced by parser_here_document(), and parser_yylex().

#define whole_match_p (   e,
  l,
  i 
)    parser_whole_match_p(parser,(e),(l),(i))

Definition at line 11199 of file ripper.c.

Referenced by parser_here_document(), and parser_yylex().

#define YY_ (   msgid)    msgid

Definition at line 910 of file ripper.c.

Referenced by if(), and yysyntax_error().

#define YY_LOCATION_PRINT (   File,
  Loc 
)    ((void) 0)

Definition at line 4270 of file ripper.c.

#define YY_REDUCE_PRINT (   Rule)
Value:
do { \
yy_reduce_print (yyvsp, Rule, parser); \
} while (YYID (0))
#define yydebug
Definition: ripper.c:370
if(len<=MAX_WORD_LENGTH &&len >=MIN_WORD_LENGTH)
Definition: name2ctype.h:23841
#define YYID(n)
Definition: ripper.c:923
struct parser_params * parser
Definition: ripper.c:4323
static void YYSTYPE * yyvsp
Definition: ripper.c:4412

Definition at line 4433 of file ripper.c.

Referenced by yyparse().

#define YY_STACK_PRINT (   Bottom,
  Top 
)
Value:
do { \
yy_stack_print ((Bottom), (Top)); \
} while (YYID (0))
#define yydebug
Definition: ripper.c:370
if(len<=MAX_WORD_LENGTH &&len >=MIN_WORD_LENGTH)
Definition: name2ctype.h:23841
#define YYID(n)
Definition: ripper.c:923

Definition at line 4394 of file ripper.c.

Referenced by for(), and yyparse().

#define YY_SYMBOL_PRINT (   Title,
  Type,
  Value,
  Location 
)
Value:
do { \
{ \
YYFPRINTF (stderr, "%s ", Title); \
yy_symbol_print (stderr, \
Type, Value, parser); \
YYFPRINTF (stderr, "\n"); \
} \
} while (YYID (0))
#define yydebug
Definition: ripper.c:370
if(len<=MAX_WORD_LENGTH &&len >=MIN_WORD_LENGTH)
Definition: name2ctype.h:23841
#define YYID(n)
Definition: ripper.c:923
struct parser_params * parser
Definition: ripper.c:4323
#define YYFPRINTF
Definition: ripper.c:4287

Definition at line 4296 of file ripper.c.

#define YYABORT   goto yyabortlab

Definition at line 4199 of file ripper.c.

Referenced by for(), and if().

#define YYACCEPT   goto yyacceptlab

Definition at line 4198 of file ripper.c.

Referenced by yyparse().

#define YYBACKUP (   Token,
  Value 
)
Value:
if (yychar == YYEMPTY && yylen == 1) \
{ \
yychar = (Token); \
yylval = (Value); \
goto yybackup; \
} \
{ \
parser_yyerror (parser, YY_("syntax error: cannot back up")); \
} \
while (YYID (0))
#define YY_(msgid)
Definition: ripper.c:910
if(len<=MAX_WORD_LENGTH &&len >=MIN_WORD_LENGTH)
Definition: name2ctype.h:23841
#define YYEMPTY
Definition: ripper.c:4195
#define YYPOPSTACK(N)
Definition: ripper.c:4830
#define YYID(n)
Definition: ripper.c:923
while(a->frac[0]/shift==0)
Definition: bigdecimal.c:4978
#define yylval
Definition: ripper.c:11175
return yylen
Definition: ripper.c:4489
#define YYERROR
Definition: ripper.c:4200
else
Definition: bigdecimal.c:1150
static int parser_yyerror(struct parser_params *, const char *)
Definition: ripper.c:11375
goto yybackup
Definition: ripper.c:4934
struct parser_params * parser
Definition: ripper.c:4323
#define yychar
Definition: gram.c:54

Definition at line 4220 of file ripper.c.

#define YYBISON   1

Definition at line 44 of file ripper.c.

#define YYBISON_VERSION   "2.5"

Definition at line 47 of file ripper.c.

#define YYCALLOC (   nelem,
  size 
)    rb_parser_calloc(parser, (nelem), (size))

Definition at line 92 of file ripper.c.

#define YYCASE_ (   N,
  S 
)
Value:
case N: \
yyformat = S; \
break
static unsigned char S[8][64]
Definition: crypt.c:382
#define N
Definition: lgamma_r.c:20

Referenced by yysyntax_error().

#define yyclearin   (yychar = YYEMPTY)

Definition at line 4194 of file ripper.c.

#define YYCOPY (   To,
  From,
  Count 
)
Value:
do \
{ \
for (yyi = 0; yyi < (Count); yyi++) \
(To)[yyi] = (From)[yyi]; \
} \
while (YYID (0))
#define YYID(n)
Definition: ripper.c:923
int yyi
Definition: ripper.c:4416
while(a->frac[0]/shift==0)
Definition: bigdecimal.c:4978
for(v/=shifter=1)
Definition: bigdecimal.c:5541
#define YYSIZE_T
Definition: ripper.c:896

Definition at line 1057 of file ripper.c.

#define YYCOPY_NEEDED   1

Definition at line 1029 of file ripper.c.

#define YYDEBUG   1

Definition at line 72 of file ripper.c.

#define yydebug   (parser->parser_yydebug)

Definition at line 370 of file ripper.c.

#define YYDPRINTF (   Args)
Value:
do { \
YYFPRINTF Args; \
} while (YYID (0))
#define yydebug
Definition: ripper.c:370
if(len<=MAX_WORD_LENGTH &&len >=MIN_WORD_LENGTH)
Definition: name2ctype.h:23841
#define YYID(n)
Definition: ripper.c:923
#define YYFPRINTF
Definition: ripper.c:4287

Definition at line 4290 of file ripper.c.

Referenced by if(), and yyparse().

#define YYEMPTY   (-2)

Definition at line 4195 of file ripper.c.

Referenced by if(), and yysyntax_error().

#define YYEOF   0

Definition at line 4196 of file ripper.c.

Referenced by if().

#define YYERRCODE   256

Definition at line 4238 of file ripper.c.

#define yyerrok   (yyerrstatus = 0)

Definition at line 4193 of file ripper.c.

Referenced by switch().

#define yyerror (   msg)    parser_yyerror(parser, (msg))
#define YYERROR   goto yyerrorlab

Definition at line 4200 of file ripper.c.

#define YYERROR_VERBOSE   1

Definition at line 685 of file ripper.c.

#define YYERROR_VERBOSE   1

Definition at line 685 of file ripper.c.

#define YYFAIL   goto yyerrlab

Definition at line 4210 of file ripper.c.

#define YYFINAL   3

Definition at line 1070 of file ripper.c.

#define YYFPRINTF   fprintf

Definition at line 4287 of file ripper.c.

Referenced by for(), and if().

#define YYFREE (   ptr)    rb_parser_free(parser, (ptr))

Definition at line 93 of file ripper.c.

#define YYID (   n)    (n)

Definition at line 923 of file ripper.c.

#define YYINITDEPTH   200

Definition at line 4454 of file ripper.c.

#define YYLAST   10748

Definition at line 1072 of file ripper.c.

Referenced by for(), and yysyntax_error().

#define YYLEX   yylex (&yylval, parser)

Definition at line 4279 of file ripper.c.

Referenced by if().

#define YYLLOC_DEFAULT (   Current,
  Rhs,
  N 
)
Value:
if (YYID (N)) \
{ \
(Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
(Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
(Current).last_line = YYRHSLOC (Rhs, N).last_line; \
(Current).last_column = YYRHSLOC (Rhs, N).last_column; \
} \
{ \
(Current).first_line = (Current).last_line = \
YYRHSLOC (Rhs, 0).last_line; \
(Current).first_column = (Current).last_column = \
YYRHSLOC (Rhs, 0).last_column; \
} \
while (YYID (0))
#define YYRHSLOC(Rhs, K)
Definition: ripper.c:4245
if(len<=MAX_WORD_LENGTH &&len >=MIN_WORD_LENGTH)
Definition: name2ctype.h:23841
#define N
Definition: lgamma_r.c:20
#define YYID(n)
Definition: ripper.c:923
while(a->frac[0]/shift==0)
Definition: bigdecimal.c:4978
else
Definition: bigdecimal.c:1150

Definition at line 4247 of file ripper.c.

#define YYLSP_NEEDED   0

Definition at line 62 of file ripper.c.

#define yylval   (*((YYSTYPE*)(parser->parser_yylval)))

Definition at line 11175 of file ripper.c.

Referenced by yyparse().

#define yylval_id ( )    (yylval.id)

Definition at line 11208 of file ripper.c.

#define YYMALLOC (   size)    rb_parser_malloc(parser, (size))

Definition at line 90 of file ripper.c.

#define YYMAXDEPTH   10000

Definition at line 4465 of file ripper.c.

Referenced by if().

#define YYMAXUTOK   375

Definition at line 1085 of file ripper.c.

#define YYNNTS   174

Definition at line 1077 of file ripper.c.

#define YYNRULES   573

Definition at line 1079 of file ripper.c.

#define YYNSTATES   991

Definition at line 1081 of file ripper.c.

#define YYNTOKENS   148

Definition at line 1075 of file ripper.c.

Referenced by yysyntax_error().

#define YYPACT_NINF   -747

Definition at line 1791 of file ripper.c.

#define yypact_value_is_default (   yystate)    ((yystate) == (-747))

Definition at line 3002 of file ripper.c.

Referenced by for(), and yysyntax_error().

#define yyparse   ruby_yyparse

Definition at line 386 of file ripper.c.

Referenced by yycompile0().

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

Definition at line 4830 of file ripper.c.

Referenced by for(), while(), and yyparse().

#define YYPULL   1

Definition at line 59 of file ripper.c.

#define YYPURE   1

Definition at line 53 of file ripper.c.

#define YYPUSH   0

Definition at line 56 of file ripper.c.

#define YYREALLOC (   ptr,
  size 
)    rb_parser_realloc(parser, (ptr), (size))

Definition at line 91 of file ripper.c.

#define YYRECOVERING ( )    (!!yyerrstatus)

Definition at line 4218 of file ripper.c.

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

Definition at line 4245 of file ripper.c.

#define YYSIZE_MAXIMUM   ((YYSIZE_T) -1)

Definition at line 900 of file ripper.c.

#define YYSIZE_T   unsigned int

Definition at line 896 of file ripper.c.

Referenced by if(), yysyntax_error(), and yytnamerr().

#define YYSKELETON_NAME   "yacc.c"

Definition at line 50 of file ripper.c.

#define YYSTACK_ALLOC   YYMALLOC

Definition at line 978 of file ripper.c.

Referenced by if().

#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM

Definition at line 981 of file ripper.c.

Referenced by yysyntax_error().

#define YYSTACK_BYTES (   N)
Value:
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
#define N
Definition: lgamma_r.c:20
#define YYSTACK_GAP_MAXIMUM
Definition: ripper.c:1021
short int yytype_int16
Definition: ripper.c:883
union YYSTYPE YYSTYPE

Definition at line 1025 of file ripper.c.

Referenced by if().

#define YYSTACK_FREE   YYFREE

Definition at line 979 of file ripper.c.

Referenced by if(), and yyparse().

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

Definition at line 1021 of file ripper.c.

#define YYSTACK_RELOCATE (   Stack_alloc,
  Stack 
)
Value:
do \
{ \
YYSIZE_T yynewbytes; \
YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / sizeof (*yyptr); \
} \
while (YYID (0))
#define YYID(n)
Definition: ripper.c:923
while(a->frac[0]/shift==0)
Definition: bigdecimal.c:4978
#define YYSTACK_GAP_MAXIMUM
Definition: ripper.c:1021
#define YYCOPY(To, From, Count)
Definition: ripper.c:1057
#define YYSIZE_T
Definition: ripper.c:896
YYSIZE_T yystacksize
Definition: ripper.c:4813

Definition at line 1036 of file ripper.c.

Referenced by if().

#define YYSTACK_USE_ALLOCA   0

Definition at line 74 of file ripper.c.

#define YYSYNTAX_ERROR
Value:
static int yysyntax_error(YYSIZE_T *yymsg_alloc, char **yymsg, yytype_int16 *yyssp, int yytoken)
Definition: ripper.c:4579
yytype_int16 * yyssp
Definition: ripper.c:4806
int yytoken
Definition: ripper.c:4818
YYSIZE_T yymsg_alloc
Definition: ripper.c:4827
static void const char * yymsg
Definition: ripper.c:4719

Referenced by if().

#define YYTABLE_NINF   -574

Definition at line 1922 of file ripper.c.

#define yytable_value_is_error (   yytable_value)    ((yytable_value) == (-574))

Definition at line 3005 of file ripper.c.

Referenced by if(), and yysyntax_error().

#define YYTERROR   1

Definition at line 4237 of file ripper.c.

Referenced by for(), and yysyntax_error().

#define YYTOKEN_TABLE   0

Definition at line 692 of file ripper.c.

#define YYTRANSLATE (   YYX)    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)

Definition at line 1087 of file ripper.c.

#define YYUNDEFTOK   2

Definition at line 1084 of file ripper.c.

#define YYUSE (   e)    ((void) (e))

Definition at line 916 of file ripper.c.

Typedef Documentation

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

Definition at line 12725 of file ripper.c.

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

Definition at line 12726 of file ripper.c.

typedef VALUE stack_type

Definition at line 134 of file ripper.c.

typedef struct token_info token_info
typedef short int yytype_int16

Definition at line 883 of file ripper.c.

typedef short int yytype_int8

Definition at line 871 of file ripper.c.

typedef unsigned short int yytype_uint16

Definition at line 877 of file ripper.c.

typedef unsigned char yytype_uint8

Definition at line 862 of file ripper.c.

Enumeration Type Documentation

Enumerator
EXPR_BEG 
EXPR_END 
EXPR_ENDARG 
EXPR_ENDFN 
EXPR_ARG 
EXPR_CMDARG 
EXPR_MID 
EXPR_FNAME 
EXPR_DOT 
EXPR_CLASS 
EXPR_VALUE 
EXPR_MAX_STATE 
EXPR_BEG 
EXPR_END 
EXPR_ENDARG 
EXPR_ENDFN 
EXPR_ARG 
EXPR_CMDARG 
EXPR_MID 
EXPR_FNAME 
EXPR_DOT 
EXPR_CLASS 
EXPR_VALUE 
EXPR_MAX_STATE 
EXPR_BEG 
EXPR_END 
EXPR_ENDARG 
EXPR_ENDFN 
EXPR_ARG 
EXPR_CMDARG 
EXPR_MID 
EXPR_FNAME 
EXPR_DOT 
EXPR_CLASS 
EXPR_VALUE 
EXPR_MAX_STATE 
EXPR_BEG 
EXPR_END 
EXPR_ENDARG 
EXPR_ENDFN 
EXPR_ARG 
EXPR_CMDARG 
EXPR_MID 
EXPR_FNAME 
EXPR_DOT 
EXPR_CLASS 
EXPR_VALUE 
EXPR_MAX_STATE 

Definition at line 119 of file ripper.c.

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

Definition at line 11678 of file ripper.c.

Function Documentation

static void arg_ambiguous_gen ( struct parser_params parser)
static

Definition at line 12632 of file ripper.c.

References arg_ambiguous, dispatch0(), and rb_warning0.

static NODE * arg_append_gen ( struct parser_params parser,
NODE node1,
NODE node2 
)
static
static NODE * arg_blk_pass ( NODE node1,
NODE node2 
)
static

Definition at line 15419 of file ripper.c.

Referenced by switch().

static NODE * arg_concat_gen ( struct parser_params parser,
NODE node1,
NODE node2 
)
static
static int arg_var_gen ( struct parser_params parser,
ID  id 
)
static

Definition at line 15536 of file ripper.c.

References lvtbl, vtable_add(), and vtable_size().

static NODE * aryset_gen ( struct parser_params parser,
NODE recv,
NODE idx 
)
static

Definition at line 14795 of file ripper.c.

References nd_type, NEW_ATTRASGN, NODE_SELF, and tASET.

static int assign_in_cond ( struct parser_params parser,
NODE node 
)
static
static NODE* assignable_gen ( struct parser_params ,
ID  ,
NODE  
)
static
return assignable_result ( )
static NODE * attrset_gen ( struct parser_params parser,
NODE recv,
ID  id 
)
static

Definition at line 14819 of file ripper.c.

References nd_type, NEW_ATTRASGN, NODE_SELF, and rb_id_attrset().

static NODE * block_append_gen ( struct parser_params parser,
NODE head,
NODE tail 
)
static
static void block_dup_check_gen ( struct parser_params parser,
NODE node1,
NODE node2 
)
static

Definition at line 14803 of file ripper.c.

References compile_error, nd_type, NODE_BLOCK_PASS, and PARSER_ARG.

static NODE * call_bin_op_gen ( struct parser_params parser,
NODE recv,
ID  id,
NODE arg1 
)
static

Definition at line 14558 of file ripper.c.

References NEW_CALL, NEW_LIST, and value_expr.

static NODE * call_uni_op_gen ( struct parser_params parser,
NODE recv,
ID  id 
)
static

Definition at line 14566 of file ripper.c.

References NEW_CALL, and value_expr.

static int comment_at_top ( struct parser_params parser)
static
static NODE * cond0 ( struct parser_params parser,
NODE node 
)
static
static NODE * cond_gen ( struct parser_params parser,
NODE node 
)
static

Definition at line 15336 of file ripper.c.

References cond0().

static VALUE coverage ( const char *  f,
int  n 
)
static
static VALUE debug_lines ( const char *  f)
static
static void dispose_string ( VALUE  str)
static
static int dvar_curr_gen ( struct parser_params parser,
ID  id 
)
static

Definition at line 15661 of file ripper.c.

References lvtbl, and vtable_included().

static int dvar_defined_gen ( struct parser_params parser,
ID  id,
int  get 
)
static
static int dyna_in_block_gen ( struct parser_params parser)
static

Definition at line 15624 of file ripper.c.

References DVARS_TOPSCOPE, lvtbl, and POINTER_P.

static void dyna_pop_1 ( struct parser_params parser)
static

Definition at line 15592 of file ripper.c.

References lvtbl, vtable_free(), and warn_unused_var().

Referenced by dyna_pop_gen().

static void dyna_pop_gen ( struct parser_params parser,
const struct vtable lvargs 
)
static

Definition at line 15610 of file ripper.c.

References dyna_pop_1(), lvtbl, and xfree.

static struct vtable * dyna_push_gen ( struct parser_params parser)
static

Definition at line 15581 of file ripper.c.

References lvtbl, and vtable_alloc().

static int e_option_supplied ( struct parser_params parser)
static

Definition at line 11474 of file ripper.c.

References ruby_sourcefile.

Referenced by cond0(), warn_unless_e_option(), warning_unless_e_option(), and yycompile0().

static NODE * evstr2dstr_gen ( struct parser_params parser,
NODE node 
)
static

Definition at line 14535 of file ripper.c.

References list_append, nd_type, NEW_DSTR, NODE_EVSTR, and Qnil.

static void fixpos ( NODE node,
NODE orig 
)
static

Definition at line 14336 of file ripper.c.

References nd_line, and nd_set_line().

Referenced by block_append_gen(), and switch().

static void fixup_nodes ( NODE **  rootnode)
static

Definition at line 15211 of file ripper.c.

References nd_set_type, nd_type, NODE_DOT2, NODE_DOT3, NODE_LIT, rb_gc_force_recycle(), rb_range_new(), type, and val.

Referenced by switch().

for ( ;yybottom<=yytop;yybottom++  )

Definition at line 4386 of file ripper.c.

References yybottom, and YYFPRINTF.

for ( )
Initial value:
{
int i
ssize_t i
Definition: bigdecimal.c:5519

Definition at line 4423 of file ripper.c.

References YYFPRINTF.

for ( ;;  )
static ID formal_argument_gen ( struct parser_params parser,
ID  lhs 
)
static

Definition at line 12643 of file ripper.c.

References is_local_id, lhs, shadowing_lvar, and yyerror.

static NODE * gettable_gen ( struct parser_params parser,
ID  id 
)
static
if ( yyss+yystacksize-1<=  yyssp)
if ( yychar  = YYEMPTY)

Definition at line 4952 of file ripper.c.

References YYDPRINTF, and YYLEX.

if ( yychar<=  YYEOF)

Definition at line 4958 of file ripper.c.

References YYDPRINTF, and YYEOF.

if ( yyn<=  0)

Definition at line 4975 of file ripper.c.

References yyerrlab, yyn, yyreduce, and yytable_value_is_error.

if ( yyerrstatus)

Definition at line 10985 of file ripper.c.

References parser_yyerror(), YY_, yymsg, yymsgbuf, yynerrs, YYSTACK_ALLOC, YYSTACK_FREE, and YYSYNTAX_ERROR.

if ( yyerrstatus  = = 3)

Definition at line 11026 of file ripper.c.

References YYABORT, yydestruct(), YYEMPTY, and YYEOF.

else if ( id  = keyword_self)

Definition at line 14688 of file ripper.c.

References yyerror.

else if ( is_local_id(id )
else if ( is_global_id(id )

Definition at line 14732 of file ripper.c.

References assignable_result, and NEW_GASGN.

else if ( is_instance_id(id )

Definition at line 14735 of file ripper.c.

References assignable_result, and NEW_IASGN.

else if ( is_const_id(id )

Definition at line 14738 of file ripper.c.

References assignable_result, in_def, in_single, NEW_CDECL, and yyerror.

else if ( is_class_id(id )

Definition at line 14743 of file ripper.c.

References assignable_result, and NEW_CVASGN.

void Init_sym ( void  )
static ID internal_id_gen ( struct parser_params parser)
static

Definition at line 16000 of file ripper.c.

References ID_INTERNAL, ID_SCOPE_SHIFT, lvtbl, tLAST_TOKEN, and vtable_size().

static int is_global_name_punct ( const char  c)
inlinestatic

Definition at line 12318 of file ripper.c.

Referenced by is_special_global_name(), and parser_peek_variable_name().

static int is_special_global_name ( const char *  m,
const char *  e,
rb_encoding enc 
)
static

Definition at line 16009 of file ripper.c.

References is_global_name_punct(), is_identchar, ISASCII, m, rb_enc_isdigit, and rb_enc_mbclen().

Referenced by rb_enc_symname2_p(), and rb_intern3().

static VALUE lex_get_str ( struct parser_params parser,
VALUE  s 
)
static
static VALUE lex_getline ( struct parser_params parser)
static
static VALUE lex_io_gets ( struct parser_params parser,
VALUE  io 
)
static

Definition at line 11638 of file ripper.c.

References rb_io_gets().

Referenced by rb_parser_compile_file().

static NODE * list_append_gen ( struct parser_params parser,
NODE list,
NODE item 
)
static

Definition at line 14413 of file ripper.c.

References last, list, and NEW_LIST.

static NODE * list_concat_gen ( struct parser_params parser,
NODE head,
NODE tail 
)
static

Definition at line 14433 of file ripper.c.

References last.

static int literal_concat0 ( struct parser_params parser,
VALUE  head,
VALUE  tail 
)
static
static NODE * literal_concat_gen ( struct parser_params parser,
NODE head,
NODE tail 
)
static
static int literal_node ( NODE node)
static

Definition at line 15258 of file ripper.c.

References nd_type, NODE_DREGX, NODE_DREGX_ONCE, NODE_DSTR, NODE_DSYM, NODE_EVSTR, NODE_FALSE, NODE_LIT, NODE_NIL, NODE_STR, and NODE_TRUE.

Referenced by cond0().

static int local_id_gen ( struct parser_params parser,
ID  id 
)
static
static void local_pop_gen ( struct parser_params parser)
static

Definition at line 15490 of file ripper.c.

References cmdarg_stack, lvtbl, vtable_free(), warn_unused_var(), and xfree.

static void local_push_gen ( struct parser_params parser,
int  inherit_dvars 
)
static
static ID * local_tbl_gen ( struct parser_params parser)
static

Definition at line 15521 of file ripper.c.

References ALLOC_N, buf, cnt, lvtbl, vtable_size(), and vtable_tblcpy().

static int local_var_gen ( struct parser_params parser,
ID  id 
)
static

Definition at line 15543 of file ripper.c.

References lvtbl, ruby_sourceline, vtable_add(), and vtable_size().

static NODE * logop_gen ( struct parser_params parser,
enum node_type  type,
NODE left,
NODE right 
)
static

Definition at line 15343 of file ripper.c.

References nd_type, NEW_NODE, and value_expr.

static int lvar_defined_gen ( struct parser_params parser,
ID  id 
)
static

Definition at line 12654 of file ripper.c.

References dvar_defined_get, dyna_in_block, and local_id.

static void magic_comment_encoding ( struct parser_params parser,
const char *  name,
const char *  val 
)
static

Definition at line 12729 of file ripper.c.

References comment_at_top(), and parser_set_encode().

static const char* magic_comment_marker ( const char *  str,
long  len 
)
static

Definition at line 12773 of file ripper.c.

References i.

Referenced by parser_magic_comment().

static NODE * match_op_gen ( struct parser_params parser,
NODE node1,
NODE node2 
)
static
static rb_encoding* must_be_ascii_compatible ( VALUE  s)
static
static NODE * negate_lit ( NODE node)
static

Definition at line 15400 of file ripper.c.

References FIX2LONG, LONG2FIX, rb_funcall(), RFLOAT, RFLOAT_VALUE, T_BIGNUM, T_FIXNUM, T_FLOAT, tUMINUS, and TYPE.

Referenced by switch().

static NODE * new_args_gen ( struct parser_params parser,
NODE m,
NODE o,
ID  r,
NODE p,
ID  b 
)
static

Definition at line 15429 of file ripper.c.

References NEW_ARGS, NEW_ARGS_AUX, NEW_NODE, NODE_AND, and ruby_sourceline.

static void new_bv_gen ( struct parser_params parser,
ID  name 
)
static

Definition at line 14781 of file ripper.c.

References compile_error, dyna_var, is_local_id, PARSER_ARG, rb_id2name(), and shadowing_lvar.

static NODE * new_evstr_gen ( struct parser_params parser,
NODE node 
)
static

Definition at line 14544 of file ripper.c.

References nd_type, NEW_EVSTR, NODE_DSTR, NODE_EVSTR, and NODE_STR.

static NODE * new_yield_gen ( struct parser_params parser,
NODE node 
)
static

Definition at line 15383 of file ripper.c.

References nd_type, NEW_YIELD, no_blockarg(), NODE_SPLAT, Qfalse, and Qtrue.

static NODE * newline_node ( NODE node)
static
static void no_blockarg ( struct parser_params parser,
NODE node 
)
static

Definition at line 15358 of file ripper.c.

References compile_error, nd_type, NODE_BLOCK_PASS, and PARSER_ARG.

Referenced by new_yield_gen(), and ret_args_gen().

static NODE * node_assign_gen ( struct parser_params parser,
NODE lhs,
NODE rhs 
)
static
static NODE * node_newnode ( struct parser_params parser,
enum node_type  type,
VALUE  a0,
VALUE  a1,
VALUE  a2 
)
static

Definition at line 14306 of file ripper.c.

References n, nd_set_line(), rb_node_newnode, and ruby_sourceline.

int nodeline ( NODE node)

Definition at line 14320 of file ripper.c.

References nd_line.

enum node_type nodetype ( NODE node)

Definition at line 14314 of file ripper.c.

References nd_type.

static NODE* parser_compile_string ( volatile VALUE  vparser,
const char *  f,
VALUE  s,
int  line 
)
static
static long parser_encode_length ( struct parser_params parser,
const char *  name,
long  len 
)
static

Definition at line 12661 of file ripper.c.

References len, and rb_memcicmp().

Referenced by set_file_encoding().

static void parser_free ( void ptr)
static
static int parser_here_document ( struct parser_params parser,
NODE here 
)
static
static int parser_heredoc_identifier ( struct parser_params parser)
static
static void parser_heredoc_restore ( struct parser_params parser,
NODE here 
)
static
static void parser_initialize ( struct parser_params parser)
static
static int parser_magic_comment ( struct parser_params parser,
const char *  str,
long  len 
)
static
static void parser_mark ( void ptr)
static
static size_t parser_memsize ( const void ptr)
static
static struct parser_params* parser_new ( void  )
static

Definition at line 16576 of file ripper.c.

References ALLOC_N, MEMZERO, p, and parser_initialize().

Referenced by rb_parser_new().

static char* parser_newtok ( struct parser_params parser)
static

Definition at line 11785 of file ripper.c.

References ALLOC_N, REALLOC_N, tokenbuf, tokidx, and toksiz.

static int parser_nextc ( struct parser_params parser)
inlinestatic
static int parser_parse_string ( struct parser_params parser,
NODE quote 
)
static
static int parser_peek_variable_name ( struct parser_params parser)
static
static void parser_prepare ( struct parser_params parser)
static
static void parser_pushback ( struct parser_params parser,
int  c 
)
static

Definition at line 11768 of file ripper.c.

References lex_p, and lex_pbeg.

static int parser_read_escape ( struct parser_params parser,
int  flags,
rb_encoding **  encp 
)
static

Definition at line 11913 of file ripper.c.

References c, ESCAPE_CONTROL, ESCAPE_META, ISASCII, lex_p, nextc, peek, pushback, read_escape, scan_oct, tok_hex, and yyerror.

static int parser_regx_options ( struct parser_params parser)
static
static void parser_set_encode ( struct parser_params parser,
const char *  name 
)
static
static void parser_set_token_info ( struct parser_params parser,
const char *  name,
const char *  val 
)
static
static VALUE parser_str_new ( const char *  p,
long  n,
rb_encoding enc,
int  func,
rb_encoding enc0 
)
static
static int parser_tok_hex ( struct parser_params parser,
size_t *  numlen 
)
static

Definition at line 11822 of file ripper.c.

References c, lex_p, scan_hex, and yyerror.

static void parser_tokadd ( struct parser_params parser,
int  c 
)
static

Definition at line 11812 of file ripper.c.

References REALLOC_N, tokenbuf, tokidx, and toksiz.

static int parser_tokadd_escape ( struct parser_params parser,
rb_encoding **  encp 
)
static

Definition at line 12011 of file ripper.c.

References c, ESCAPE_CONTROL, ESCAPE_META, flags, lex_p, nextc, pushback, ruby_scan_oct(), tok_hex, tokadd, tokcopy, and yyerror.

static int parser_tokadd_mbchar ( struct parser_params parser,
int  c 
)
static
static int parser_tokadd_string ( struct parser_params parser,
int  func,
int  term,
int  paren,
long nest,
rb_encoding **  encp 
)
static
static int parser_tokadd_utf8 ( struct parser_params parser,
rb_encoding **  encp,
int  string_literal,
int  symbol_literal,
int  regexp_literal 
)
static

Definition at line 11838 of file ripper.c.

References lex_p, nextc, peek, scan_hex, tokadd, tokaddmbc, tokcopy, UTF8_ENC, and yyerror.

Referenced by parser_tokadd_string(), and parser_yylex().

static void parser_tokaddmbc ( struct parser_params parser,
int  c,
rb_encoding enc 
)
static

Definition at line 12004 of file ripper.c.

References len, rb_enc_codelen(), rb_enc_mbcput, and tokspace.

static char* parser_tokspace ( struct parser_params parser,
int  n 
)
static

Definition at line 11800 of file ripper.c.

References n, REALLOC_N, tokenbuf, tokidx, and toksiz.

static void parser_warn ( struct parser_params parser,
NODE node,
const char *  mesg 
)
static

Definition at line 14352 of file ripper.c.

References nd_line, rb_compile_warn(), and ruby_sourcefile.

static void parser_warning ( struct parser_params parser,
NODE node,
const char *  mesg 
)
static

Definition at line 14345 of file ripper.c.

References nd_line, rb_compile_warning(), and ruby_sourcefile.

static int parser_whole_match_p ( struct parser_params parser,
const char *  eos,
long  len,
int  indent 
)
static

Definition at line 12499 of file ripper.c.

References FALSE, ISSPACE, len, lex_pbeg, lex_pend, n, and p.

static int parser_yyerror ( struct parser_params parser,
const char *  msg 
)
static
static int parser_yylex ( struct parser_params parser)
static

Definition at line 12989 of file ripper.c.

References arg_ambiguous, c, CMDARG_LEXPOP, CMDARG_P, CMDARG_PUSH, command_start, comment_at_top(), compile_error, COND_LEXPOP, COND_P, COND_PUSH, d, DBL2NUM, parser_params::enc, enc, ENC_CODERANGE_7BIT, ENC_CODERANGE_UNKNOWN, ENC_SINGLE, parser_params::eofp, errno, EXPR_ARG, EXPR_BEG, EXPR_CLASS, EXPR_CMDARG, EXPR_DOT, EXPR_END, EXPR_ENDARG, EXPR_ENDFN, EXPR_FNAME, EXPR_VALUE, FALSE, here_document, heredoc_identifier, kwtable::id, INT2FIX, IS_ARG, IS_BEG, IS_END, is_identchar, IS_LABEL_POSSIBLE, IS_LABEL_SUFFIX, is_local_id, IS_SPCARG, ISALNUM, ISASCII, ISDIGIT, ISSPACE, ISUPPER, ISXDIGIT, k__END__, keyword_do, keyword_do_block, keyword_do_cond, keyword_do_LAMBDA, lex_eol_p, lex_goto_eol, lex_lastline, lex_nextline, lex_p, lex_pend, lex_state, lex_strterm, lpar_beg, lvar_defined, kwtable::name, nd_type, NEW_BACK_REF, NEW_NTH_REF, NEW_STRTERM, newtok, nextc, no_digits, NODE_HEREDOC, paren_nest, parse_string, PARSER_ARG, parser_is_identchar, parser_isascii, parser_magic_comment(), parser_tokadd_utf8(), peek, peek_n, pushback, Qtrue, rb_compile_error, rb_cstr_to_inum(), rb_enc_isalnum, rb_enc_isspace, rb_gc_force_recycle(), rb_intern, rb_reserved_word, rb_warnI, rb_warning0, rb_warningS, read_escape, result, ruby__end__seen, ruby_sourceline, set_file_encoding(), set_yylval_id, set_yylval_literal, set_yylval_name, set_yylval_node, set_yylval_str, snprintf, start, kwtable::state, str_dquote, str_dsym, str_dword, STR_NEW3, str_regexp, str_squote, str_ssym, str_sword, str_xquote, strtod, tAMPER, tANDOP, tAREF, tASET, tASSOC, tBACK_REF, tCHAR, tCMP, tCOLON2, tCOLON3, tCOMMENT, tCONSTANT, tCVAR, tDOT2, tDOT3, tEMBDOC, tEMBDOC_BEG, tEMBDOC_END, tEQ, tEQQ, tFID, tFLOAT, tGEQ, tGVAR, tIDENTIFIER, tIGNORED_NL, tINTEGER, tIVAR, tLABEL, tLAMBDA, tLAMBEG, tLBRACE, tLBRACE_ARG, tLBRACK, tLEQ, tLPAREN, tLPAREN_ARG, tLSHFT, tMATCH, tNEQ, tNMATCH, tNTH_REF, tok, TOK_INTERN, tokadd, tokadd_mbchar, tokaddmbc, token, tokfix, tokidx, toklast, toklen, tOP_ASGN, tOROP, tPOW, tQWORDS_BEG, tREGEXP_BEG, tREGEXP_END, tRSHFT, TRUE, tSP, tSTAR, tSTRING_BEG, tSTRING_END, tSYMBEG, tUMINUS, tUMINUS_NUM, tUPLUS, tWORDS_BEG, tXSTRING_BEG, void, warn_balanced, was_bol, whole_match_p, and yyerror.

static NODE* range_op ( struct parser_params parser,
NODE node 
)
static

Definition at line 15242 of file ripper.c.

References cond0(), FIXNUM_P, nd_type, NEW_CALL, NEW_GVAR, NEW_LIST, NODE_LIT, rb_intern, tEQ, type, value_expr, and warn_unless_e_option().

Referenced by cond0().

static void rb_backref_error_gen ( struct parser_params parser,
NODE node 
)
static

Definition at line 14827 of file ripper.c.

References compile_error, nd_type, NODE_BACK_REF, NODE_NTH_REF, and PARSER_ARG.

NODE* rb_compile_cstr ( const char *  f,
const char *  s,
int  len,
int  line 
)

Definition at line 11624 of file ripper.c.

NODE* rb_compile_file ( const char *  f,
VALUE  file,
int  start 
)

Definition at line 11644 of file ripper.c.

NODE* rb_compile_string ( const char *  f,
VALUE  s,
int  line 
)

Definition at line 11610 of file ripper.c.

int rb_enc_symname2_p ( const char *  name,
long  len,
rb_encoding enc 
)

Definition at line 16047 of file ripper.c.

Referenced by rb_enc_symname_p(), and reg_named_capture_assign_iter().

int rb_enc_symname_p ( const char *  name,
rb_encoding enc 
)

Definition at line 16041 of file ripper.c.

Referenced by rb_symname_p(), and sym_inspect().

void rb_gc_mark_parser ( void  )

Definition at line 15827 of file ripper.c.

Referenced by gc_marks().

void rb_gc_mark_symbols ( void  )

Definition at line 15991 of file ripper.c.

Referenced by gc_marks().

const char* rb_id2name ( ID  id)

Definition at line 16362 of file ripper.c.

Referenced by add_opt_method(), addrinfo_inspect(), check_dump_arg(), check_exec_redirect(), check_load_arg(), chunk_ii(), control_frame_dump(), econv_opts(), error_pos(), esignal_init(), extract_user_token(), fole_missing(), generic_ivar_get(), gettable_gen(), id2ref(), insn_data_to_s_detail(), insn_operand_intern(), inspect_enumerator(), inspect_i(), inspect_sockaddr(), iseq_compile_each(), iseq_load(), ivar_get(), match_aref(), match_backref_number(), mnew(), must_respond_to(), new_bv_gen(), num_sadded(), ossl_pkcs7_sym2typeid(), ossl_sslctx_set_ssl_version(), r_object0(), racc_yyparse(), rb_attr(), rb_autoload(), rb_const_get_0(), rb_const_remove(), rb_const_set(), rb_cvar_get(), rb_cvar_set(), rb_define_class_id_under(), rb_dlcfunc_call(), rb_exec_arg_addopt(), rb_f_kill(), rb_f_local_variables(), rb_f_untrace_var(), rb_insecure_operation(), rb_iseq_disasm(), rb_iseq_parameters(), rb_method_call_status(), rb_method_entry_make(), rb_mod_const_defined(), rb_mod_const_get(), rb_mod_const_set(), rb_mod_cvar_defined(), rb_mod_cvar_get(), rb_mod_cvar_set(), rb_mod_remove_const(), rb_mod_remove_cvar(), rb_notimplement(), rb_obj_ivar_defined(), rb_obj_ivar_get(), rb_obj_ivar_set(), rb_obj_remove_instance_variable(), rb_print_undef(), rb_search_method_entry(), rb_secure(), rb_str_format(), rb_str_setter(), rb_struct_aref_id(), rb_struct_aset_id(), rb_struct_getmember(), rb_struct_set(), rb_thread_current_status(), rb_undef(), readonly_setter(), reg_named_capture_assign_iter(), remove_method(), rsock_revlookup_flag(), ruby_debug_print_id(), set_const_visibility(), set_method_visibility(), shadowing_lvar_gen(), sockopt_inspect(), specific_eval(), trap_signm(), undef_getter(), uninitialized_constant(), validate_label(), vm_call_method(), vm_define_method(), vm_getivar(), void_expr_gen(), vtable_add(), and warn_unused_var().

VALUE rb_id2str ( ID  id)
ID rb_id_attrset ( ID  id)

Definition at line 14811 of file ripper.c.

Referenced by attrset_gen(), make_struct(), rb_attr(), rb_intern3(), and rb_struct_set().

ID rb_intern ( const char *  name)

Definition at line 16278 of file ripper.c.

ID rb_intern2 ( const char *  name,
long  len 
)

Definition at line 16271 of file ripper.c.

Referenced by global_id(), Init_load(), rb_f_global_variables(), rb_intern(), and switch().

ID rb_intern3 ( const char *  name,
long  len,
rb_encoding enc 
)
ID rb_intern_str ( VALUE  str)

Definition at line 16284 of file ripper.c.

Referenced by r_symreal(), rb_attr(), rb_id2str(), rb_str_intern(), switch(), and w_unique().

int rb_is_class_id ( ID  id)
int rb_is_const_id ( ID  id)
int rb_is_instance_id ( ID  id)
int rb_is_junk_id ( ID  id)

Definition at line 16427 of file ripper.c.

int rb_is_local_id ( ID  id)

Definition at line 16421 of file ripper.c.

Referenced by collect_local_variables_in_iseq(), inspect_struct(), make_struct(), and rb_attr().

NODE* rb_parser_append_print ( VALUE  vparser,
NODE node 
)

Definition at line 15832 of file ripper.c.

Referenced by process_options().

void* rb_parser_calloc ( struct parser_params parser,
size_t  nelem,
size_t  size 
)

Definition at line 16672 of file ripper.c.

NODE* rb_parser_compile_cstr ( volatile VALUE  vparser,
const char *  f,
const char *  s,
int  len,
int  line 
)

Definition at line 11631 of file ripper.c.

NODE* rb_parser_compile_file ( volatile VALUE  vparser,
const char *  f,
VALUE  file,
int  start 
)

Definition at line 11652 of file ripper.c.

Referenced by iseq_s_compile_file(), load_file_internal(), and rb_compile_file().

NODE* rb_parser_compile_string ( volatile VALUE  vparser,
const char *  f,
VALUE  s,
int  line 
)

Definition at line 11617 of file ripper.c.

Referenced by load_file_internal(), parse_string(), and process_options().

VALUE rb_parser_encoding ( VALUE  vparser)

Definition at line 16616 of file ripper.c.

Referenced by load_file_internal().

VALUE rb_parser_end_seen_p ( VALUE  vparser)

Definition at line 16601 of file ripper.c.

Referenced by load_file_internal().

void rb_parser_free ( struct parser_params parser,
void ptr 
)

Definition at line 16702 of file ripper.c.

VALUE rb_parser_get_yydebug ( VALUE  self)

Definition at line 16631 of file ripper.c.

void* rb_parser_malloc ( struct parser_params parser,
size_t  size 
)

Definition at line 16662 of file ripper.c.

VALUE rb_parser_new ( void  )
void* rb_parser_realloc ( struct parser_params parser,
void ptr,
size_t  size 
)

Definition at line 16682 of file ripper.c.

VALUE rb_parser_set_yydebug ( VALUE  self,
VALUE  flag 
)

Definition at line 16646 of file ripper.c.

Referenced by process_options().

NODE* rb_parser_while_loop ( VALUE  vparser,
NODE node,
int  chop,
int  split 
)

Definition at line 15864 of file ripper.c.

Referenced by process_options().

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

Definition at line 16570 of file ripper.c.

VALUE rb_sym_all_symbols ( void  )

Definition at line 16394 of file ripper.c.

Referenced by Init_String().

int rb_symname_p ( const char *  name)

Definition at line 16035 of file ripper.c.

static void reduce_nodes_gen ( struct parser_params parser,
NODE **  body 
)
static
static VALUE reg_compile_gen ( struct parser_params parser,
VALUE  str,
int  options 
)
static
static int reg_fragment_check_gen ( struct parser_params parser,
VALUE  str,
int  options 
)
static
static void reg_fragment_setenc_gen ( struct parser_params parser,
VALUE  str,
int  options 
)
static
static NODE * reg_named_capture_assign_gen ( struct parser_params parser,
VALUE  regexp,
NODE match 
)
static
static int reg_named_capture_assign_iter ( const OnigUChar name,
const OnigUChar name_end,
int  back_num,
int back_refs,
OnigRegex  regex,
void arg0 
)
static
static ID register_symid ( ID  id,
const char *  name,
long  len,
rb_encoding enc 
)
static

Definition at line 16130 of file ripper.c.

References global_symbols, id, symbols::id_str, OBJ_FREEZE, rb_enc_str_new(), st_add_direct, and symbols::sym_id.

Referenced by rb_intern3().

static NODE * remove_begin ( NODE node)
static

Definition at line 15087 of file ripper.c.

References n, nd_type, and NODE_BEGIN.

Referenced by newline_node(), and switch().

static NODE * ret_args_gen ( struct parser_params parser,
NODE node 
)
static

Definition at line 15366 of file ripper.c.

References nd_set_type, nd_type, no_blockarg(), NODE_ARRAY, and NODE_VALUES.

static void set_file_encoding ( struct parser_params parser,
const char *  str,
const char *  send 
)
static
static ID shadowing_lvar_gen ( struct parser_params parser,
ID  name 
)
static
static NODE * splat_array ( NODE node)
static

Definition at line 14883 of file ripper.c.

References nd_type, NODE_ARRAY, and NODE_SPLAT.

Referenced by switch().

switch ( yytype  )
Initial value:
{
VP_EXPORT void
Definition: bigdecimal.c:4944
YYSTYPE const *const yyvaluep
Definition: ripper.c:4322

Definition at line 4335 of file ripper.c.

switch ( yyn  )

Definition at line 5029 of file ripper.c.

References alias, ALLOC_N, arg_append, arg_blk_pass(), arg_concat, arg_var, args, aryset, assignable, attrset, block_append, block_dup_check, buf, call_bin_op, call_uni_op, CMDARG_PUSH, cmdarg_stack, command_call, command_start, compile_error, compile_for_eval, cond, COND_POP, COND_PUSH, cond_stack, cur_mid, deferred_nodes, dispatch0(), dyna_in_block, dyna_pop, dyna_push, END, escape_Qundef(), evstr2dstr, EXPR_BEG, EXPR_END, EXPR_ENDARG, EXPR_ENDFN, EXPR_FNAME, FIXNUM_P, fixpos(), fixup_nodes(), formal_argument, get_id, get_value, gettable, hash, YYSTYPE::id, id, ID2SYM, ifndef_ripper, in_def, in_defined, in_single, INT2FIX, internal_id, is_asgn_or_id, is_local_id, keyword__ENCODING__, keyword__FILE__, keyword__LINE__, keyword_false, keyword_nil, keyword_self, keyword_true, lex_state, lex_strterm, list, list_append, list_concat, literal_concat, literal_concat0(), local_id, local_pop, local_push, logop, lpar_beg, m, match_op, nd_aid, nd_args, nd_body, nd_iter, nd_lit, nd_next, nd_plen, nd_set_line(), nd_set_type, nd_type, nd_value, nd_vid, negate_lit(), NEW_ALIAS, new_args, NEW_ARGS_AUX, NEW_ARGSCAT, NEW_BEGIN, NEW_BLOCK_PASS, NEW_BREAK, new_bv, NEW_CALL, NEW_CASE, NEW_CDECL, NEW_CLASS, NEW_COLON2, NEW_COLON3, NEW_CVAR, NEW_DASGN_CURR, NEW_DEFINED, NEW_DEFN, NEW_DEFS, NEW_DOT2, NEW_DOT3, NEW_DSTR, NEW_DVAR, NEW_ENSURE, NEW_ERRINFO, NEW_EVSTR, new_evstr, NEW_FCALL, NEW_FOR, NEW_GVAR, NEW_HASH, NEW_IF, NEW_ITER, NEW_IVAR, NEW_LAMBDA, NEW_LIST, NEW_LIT, NEW_LVAR, NEW_MASGN, NEW_MODULE, NEW_NEXT, NEW_NIL, NEW_NODE, NEW_OP_ASGN1, NEW_OP_ASGN2, NEW_OP_ASGN_AND, NEW_OP_ASGN_OR, 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_UNDEF, NEW_UNLESS, NEW_UNTIL, NEW_VALIAS, NEW_WHEN, NEW_WHILE, NEW_XSTR, NEW_YIELD, new_yield, NEW_ZARRAY, NEW_ZSUPER, newline_node(), NIL_P, YYSTYPE::node, NODE_AND, NODE_ARRAY, node_assign, NODE_BEGIN, NODE_BLOCK, NODE_BLOCK_PASS, NODE_DASGN, NODE_DASGN_CURR, NODE_DREGX, NODE_DREGX_ONCE, NODE_DSTR, NODE_DSYM, NODE_DXSTR, NODE_ENSURE, NODE_FL_NEWLINE, NODE_LASGN, NODE_LIT, NODE_MASGN, NODE_OR, NODE_RESCUE, NODE_SCOPE, NODE_SELF, NODE_STR, NODE_XSTR, NODE_YIELD, NODE_ZARRAY, NOEX_PRIVATE, NULL, YYSTYPE::num, one(), opts, paren_nest, PARSER_ARG, Qfalse, Qnil, Qundef, rb_ary_new3(), rb_ary_push(), rb_assoc_new(), rb_backref_error, rb_cArray, rb_gc_force_recycle(), rb_intern, rb_intern2(), rb_intern_str(), rb_parse_in_main(), rb_str_resize(), rb_warn0, rb_warning0, RE_OPTION_MASK, RE_OPTION_ONCE, reduce_nodes, reg_compile, reg_fragment_check, reg_named_capture_assign, remove_begin(), ret_args, ripper_id2sym(), ripper_intern(), ruby_eval_tree, ruby_eval_tree_begin, ruby_sourceline, shadowing_lvar, splat_array(), src, STR_NEW0, T_REGEXP, tANDOP, tAREF, tASET, tbl, tCMP, tEQ, tEQQ, tGEQ, tLEQ, tLSHFT, tMATCH, tNEQ, tNMATCH, token_info_pop, token_info_push, tOROP, tPOW, tRSHFT, TRUE, tUMINUS, tUPLUS, TYPE, YYSTYPE::val, val, value_expr, YYSTYPE::vars, void_expr, void_stmts, yyerrok, yyerror, and zero().

static int symbols_i ( VALUE  sym,
ID  value,
VALUE  ary 
)
static

Definition at line 16371 of file ripper.c.

References ID2SYM, rb_ary_push(), and ST_CONTINUE.

Referenced by rb_sym_all_symbols().

static int token_info_get_column ( struct parser_params parser,
const char *  token 
)
static

Definition at line 11302 of file ripper.c.

References lex_p, lex_pbeg, p, and strlen().

Referenced by token_info_pop(), and token_info_push().

static int token_info_has_nonspaces ( struct parser_params parser,
const char *  token 
)
static

Definition at line 11316 of file ripper.c.

References lex_p, lex_pbeg, p, and strlen().

Referenced by token_info_pop(), and token_info_push().

static void token_info_pop ( struct parser_params parser,
const char *  token 
)
static
static void token_info_push ( struct parser_params parser,
const char *  token 
)
static
static int value_expr_gen ( struct parser_params parser,
NODE node 
)
static
static void void_expr_gen ( struct parser_params parser,
NODE node 
)
static
static void void_stmts_gen ( struct parser_params parser,
NODE node 
)
static

Definition at line 15073 of file ripper.c.

References nd_type, NODE_BLOCK, RTEST, ruby_verbose, and void_expr0.

static void vtable_add ( struct vtable tbl,
ID  id 
)
static
static struct vtable* vtable_alloc ( struct vtable prev)
static

Definition at line 185 of file ripper.c.

References ALLOC, ALLOC_N, vtable::capa, vtable::pos, vtable::prev, vtable::tbl, tbl, and VTBL_DEBUG.

Referenced by dyna_push_gen(), and local_push_gen().

static void vtable_free ( struct vtable tbl)
static

Definition at line 197 of file ripper.c.

References POINTER_P, vtable::tbl, VTBL_DEBUG, and xfree.

Referenced by dyna_pop_1(), and local_pop_gen().

static int vtable_included ( const struct vtable tbl,
ID  id 
)
static

Definition at line 224 of file ripper.c.

References i, POINTER_P, vtable::pos, and vtable::tbl.

Referenced by dvar_curr_gen(), dvar_defined_gen(), and local_id_gen().

static int vtable_size ( const struct vtable tbl)
static

Definition at line 172 of file ripper.c.

References POINTER_P, and vtable::pos.

Referenced by arg_var_gen(), internal_id_gen(), local_tbl_gen(), local_var_gen(), and vtable_tblcpy().

static ID* vtable_tblcpy ( ID buf,
const struct vtable src 
)
static

Definition at line 15506 of file ripper.c.

References buf, cnt, i, vtable::tbl, and vtable_size().

Referenced by local_tbl_gen().

static void warn_unless_e_option ( struct parser_params parser,
NODE node,
const char *  str 
)
static

Definition at line 15199 of file ripper.c.

References e_option_supplied(), and parser_warn.

Referenced by cond0(), and range_op().

static void warn_unused_var ( struct parser_params parser,
struct local_vars local 
)
static
static void warning_unless_e_option ( struct parser_params parser,
NODE node,
const char *  str 
)
static

Definition at line 15205 of file ripper.c.

References e_option_supplied(), and parser_warning.

Referenced by cond0().

while ( yyssp!  = yyss)

Definition at line 11149 of file ripper.c.

References yydestruct(), and YYPOPSTACK.

yyexhaustedlab YY_ ( "memory exhausted"  )
YY_REDUCE_PRINT ( yyn  )
YY_STACK_PRINT ( yyss  ,
yyssp   
)
YY_SYMBOL_PRINT ( yymsg  ,
yytype  ,
yyvaluep  ,
yylocationp   
)
YY_SYMBOL_PRINT ( "Next token is"  ,
yytoken  ,
yylval,
yylloc 
)
YY_SYMBOL_PRINT ( "Shifting"  ,
yytoken  ,
yylval,
yylloc 
)
YY_SYMBOL_PRINT ( )
YY_SYMBOL_PRINT ( "Shifting"  ,
yystos  [yyn],
yyvsp  ,
yylsp   
)
yy_symbol_value_print ( yyoutput  ,
yytype  ,
yyvaluep  ,
parser   
)
static NODE* yycompile ( struct parser_params parser,
const char *  f,
int  line 
)
static
static VALUE yycompile0 ( VALUE  arg,
int  tracing 
)
static
yydestruct ( "Cleanup: discarding lookahead"  ,
yytoken  ,
yylval,
parser   
)

Referenced by for(), if(), while(), and yyparse().

YYDPRINTF ( (stderr,"Starting parse\n")  )
YYDPRINTF ( (stderr,"Entering state %d\n", yystate)  )
else YYFPRINTF ( yyoutput  )
YYFPRINTF ( yyoutput  ,
 
)
YYFPRINTF ( stderr  ,
"\n"   
)
YYFPRINTF ( stderr  ,
"Reducing stack by rule %d (line %lu):\n ,
yyrule 1,
yylno   
)
return YYID ( yyresult  )
static int yylex ( void ,
void  
)
static
int yyparse ( )
YYPOPSTACK ( yylen  )
YYSTACK_FREE ( yyss  )
YYSTACK_FREE ( yymsg  )
static int yysyntax_error ( YYSIZE_T yymsg_alloc,
char **  yymsg,
yytype_int16 yyssp,
int  yytoken 
)
static
static YYSIZE_T yytnamerr ( char *  yyres,
const char *  yystr 
)
static

Definition at line 4531 of file ripper.c.

References yyn, YYSIZE_T, and yystr.

Referenced by yysyntax_error().

YYUSE ( parser  )
Initial value:
{
#define YYUSE(e)
Definition: ripper.c:916
YYSTYPE const *const yyvaluep
Definition: ripper.c:4322
YYUSE ( yyoutput  )

Variable Documentation

yynewstate __pad0__

Definition at line 4863 of file ripper.c.

yyexhaustedlab __pad10__

Definition at line 11131 of file ripper.c.

yyreturn __pad11__

Definition at line 11141 of file ripper.c.

yysetstate __pad1__

Definition at line 4866 of file ripper.c.

yybackup __pad2__

Definition at line 4945 of file ripper.c.

yydefault __pad3__

Definition at line 5004 of file ripper.c.

yyreduce __pad4__

Definition at line 5015 of file ripper.c.

yyerrlab __pad5__

Definition at line 10982 of file ripper.c.

yyerrorlab __pad6__

Definition at line 11059 of file ripper.c.

yyerrlab1 __pad7__

Definition at line 11074 of file ripper.c.

yyacceptlab __pad8__

Definition at line 11116 of file ripper.c.

yyabortlab __pad9__

Definition at line 11123 of file ripper.c.

continue
Initial value:
{
return yylen
Definition: ripper.c:4489
#define YYSIZE_T
Definition: ripper.c:896

Definition at line 4485 of file ripper.c.

else
Initial value:
{
int yytoken
Definition: ripper.c:4818
#define YYTRANSLATE(YYX)
Definition: ripper.c:1087
#define yychar
Definition: gram.c:54

Definition at line 4964 of file ripper.c.

struct symbols global_symbols = {tLAST_ID}
static
int
static
Initial value:
{
struct parser_params *parser = (struct parser_params*)p
SYMID SyckParser * p
Definition: yaml2byte.c:119
struct parser_params * parser
Definition: ripper.c:4323

Definition at line 14283 of file ripper.c.

struct magic_comment magic_comments[]
static
Initial value:
= {
{"warn_indent", parser_set_token_info},
}
static long parser_encode_length(struct parser_params *parser, const char *name, long len)
Definition: ripper.c:12661
static void parser_set_token_info(struct parser_params *parser, const char *name, const char *val)
Definition: ripper.c:12738
static void magic_comment_encoding(struct parser_params *parser, const char *name, const char *val)
Definition: ripper.c:12729

Definition at line 12765 of file ripper.c.

Referenced by parser_magic_comment().

const char* name

Definition at line 15906 of file ripper.c.

struct { ... } op_tbl[]
Initial value:
= {
{tDOT2, ".."},
{tDOT3, "..."},
{tPOW, "**"},
{tUPLUS, "+@"},
{tUMINUS, "-@"},
{tCMP, "<=>"},
{tGEQ, ">="},
{tLEQ, "<="},
{tEQ, "=="},
{tEQQ, "==="},
{tNEQ, "!="},
{tMATCH, "=~"},
{tNMATCH, "!~"},
{tAREF, "[]"},
{tASET, "[]="},
{tLSHFT, "<<"},
{tRSHFT, ">>"},
{tCOLON2, "::"},
}
Definition: ripper.y:118
Definition: ripper.y:107
Definition: ripper.y:117
Definition: ripper.y:104
Definition: ripper.y:119
Definition: ripper.y:108
Definition: ripper.y:111
Definition: ripper.y:106
Definition: ripper.y:109
Definition: ripper.y:112
Definition: ripper.y:115
Definition: ripper.y:122
Definition: ripper.y:121
Definition: ripper.y:110
Definition: ripper.y:120

Referenced by rb_id2str(), and rb_intern3().

int struct parser_params * parser
static const rb_data_type_t parser_data_type
static
Initial value:
= {
"parser",
{
},
}
static size_t parser_memsize(const void *ptr)
Definition: ripper.c:16533
static void parser_free(void *ptr)
Definition: ripper.c:16513
static void parser_mark(void *ptr)
Definition: ripper.c:16487

Definition at line 11587 of file ripper.c.

parser parser_yylval = lval

Definition at line 14288 of file ripper.c.

const unsigned int ruby_global_name_punct_bits
Initial value:
= {
}
#define SPECIAL_PUNCT(idx)
Definition: ripper.c:12301

Definition at line 12296 of file ripper.c.

struct st_hash_type symhash
static
Initial value:
= {
}
st_index_t rb_str_hash(VALUE)
Definition: string.c:2170
int rb_str_hash_cmp(VALUE, VALUE)
Definition: string.c:2180

Definition at line 15945 of file ripper.c.

Definition at line 14285 of file ripper.c.

Referenced by bigmul0(), bigmul1_toom3(), bm_search(), bm_search_backward(), bm_search_notrev(), console_echo_p(), console_set_cooked(), console_set_echo(), console_set_raw(), d_lite_plus(), d_lite_rshift(), date_s_today(), datetime_to_time(), decode_year(), dt_new_by_frags(), encode_year(), f_muldiv(), fnmatch_helper(), for(), getrusage_time(), gmtime_with_leapsecond(), gmtimew(), guess_local_offset(), i_gcd(), if(), join_argv(), localtimew(), md5_process(), mmrot3_(), mmswap_(), name_add(), nrv_alloc(), num_exact(), nurat_rationalize_internal(), obj_to_asn1gtime(), obj_to_asn1utime(), old_to_new(), onig_names_free(), ossl_ssl_session_get_time(), ossl_ssl_session_get_timeout(), ossl_ssl_session_set_time(), ossl_ssl_session_set_timeout(), ossl_x509stctx_initialize(), ossl_x509stctx_set_time(), ossl_x509stctx_set_trust(), ossl_x509store_set_trust(), pack_pack(), pack_unpack(), parser_here_document(), parser_parse_string(), power_cache_get_power(), rb_ary_compact_bang(), rb_ary_times(), rb_big_lshift(), rb_big_rshift(), rb_check_backtrace(), rb_file_ftype(), rb_file_s_rename(), rb_gc_unregister_address(), rb_gmtime_r(), rb_localtime_r(), rb_mutex_wait_for(), rb_proc_exec(), rb_reg_quote(), rb_str_delete_bang(), rb_str_format(), rb_str_index(), rb_str_lstrip_bang(), rb_str_rindex(), rb_str_rstrip_bang(), rb_str_split_m(), rb_str_squeeze_bang(), rb_time_timespec(), rb_time_timeval(), rb_vmdebug_stack_dump_raw(), rb_w32_free_environ(), rbtime2vtdate(), remove_backslashes(), remove_sign_bits(), remove_trace(), rotl64_swap(), ruby_brace_expand(), ruby_qsort(), search_nonascii(), set_ttymode(), slow_search(), slow_search_backward(), sock_initialize(), st_hash(), str_strlen(), string_to_c_internal(), syck_genericresolver_node_import(), syck_node_transform(), sycklex_bytecode_utf8(), sycklex_yaml_utf8(), time_s_at(), time_timespec(), timegmw(), timelocalw(), timew_out_of_timet_range(), and window_subwin().

ID token

Definition at line 15905 of file ripper.c.

Referenced by parser_yylex(), rb_id2str(), and token_info_push().

VALUE val = Qundef

Definition at line 14289 of file ripper.c.

Referenced by alt_merge_opt_map_info(), array2fdset(), ary_join_0(), ary_join_1(), ary_len_of_dim(), atomic_size_exchange(), autoload_delete(), autoload_node(), autoload_node_id(), BigDecimal_mode(), BSD__ultoa(), bsock_do_not_rev_lookup_set(), bsock_setsockopt(), char_to_option(), check_exec_env_i(), check_exec_fds(), check_exec_options_i(), check_exec_redirect(), decode_bool(), e2s_conv(), enum_member(), env_aset(), env_delete(), env_delete_m(), env_reject_bang(), env_select_bang(), env_shift(), fdbm_delete_if(), fdbm_each_pair(), fdbm_each_value(), fdbm_has_key(), fdbm_has_value(), fdbm_invert(), fdbm_key(), fdbm_select(), fdbm_shift(), fdbm_store(), fdbm_to_a(), fdbm_to_hash(), fdbm_values(), fgdbm_set_cachesize(), fgdbm_set_fastmode(), fgdbm_set_syncmode(), fgdbm_store(), fix_and(), fix_or(), fix_to_f(), fix_xor(), fixup_nodes(), flo_abs(), flo_ceil(), flo_floor(), flo_truncate(), folevariant_ary_aref(), folevariant_initialize(), folevariant_value(), force_chain_object(), fsdbm_delete_if(), fsdbm_each_pair(), fsdbm_each_value(), fsdbm_has_key(), fsdbm_has_value(), fsdbm_invert(), fsdbm_key(), fsdbm_select(), fsdbm_shift(), fsdbm_store(), fsdbm_to_a(), fsdbm_to_hash(), fsdbm_values(), generic_ivar_get(), get_iconv_opt_i(), get_pat(), get_transcoder_entry(), getpair(), hash2ptr_dispparams(), if(), init_env(), insn_data_to_s_detail(), iseq_compile_each(), iseq_data_to_ary(), ivar_get(), lexer_i(), lfp_svar_set(), limited_big_rand(), limited_rand(), make_transcoder_entry(), map_charset(), memfill(), NIL_P(), nkf_unicode_to_utf8(), obj_ivar_each(), obj_ivar_i(), ole_ary_m_entry(), ole_const_load(), ole_variable_value(), ole_variant2val(), onig_scan_unsigned_number(), ossl_asn1_decode_all(), ossl_asn1obj_get_ln(), ossl_asn1obj_get_oid(), ossl_asn1obj_get_sn(), ossl_debug_set(), ossl_sslctx_setup(), parse(), parser_magic_comment(), r_ivar(), rb_ary_index(), rb_ary_initialize(), rb_ary_join(), rb_ary_rindex(), rb_ary_store(), rb_callcc(), rb_catch_obj(), rb_check_convert_type(), rb_check_to_float(), rb_check_to_integer(), rb_const_remove(), rb_const_set(), rb_convert_to_integer(), rb_convert_type(), rb_cstr_to_inum(), rb_dlcfunc_inspect(), rb_dlcfunc_new(), rb_dlptr_new2(), rb_dlptr_s_to_ptr(), rb_dlptr_to_s(), rb_dlptr_to_str(), rb_env_clear(), rb_eval_cmd(), rb_eval_string_wrap(), rb_fix2str(), rb_fix_lshift(), rb_fix_rshift(), rb_Float(), rb_gdbm_fetch(), rb_gvar_set(), rb_gzfile_set_mtime(), rb_hash_aref(), rb_hash_aset(), rb_hash_delete(), rb_hash_delete_key(), rb_hash_fetch_m(), rb_hash_has_value(), rb_hash_lookup2(), rb_hash_s_create(), rb_iseq_eval(), rb_iseq_eval_main(), rb_ivar_defined(), rb_ivar_set(), rb_mod_cvar_set(), rb_mod_remove_cvar(), rb_num2fix(), rb_num_to_uint(), rb_obj_remove_instance_variable(), rb_reg_regsub(), rb_remove_history(), rb_run_exec_options_err(), rb_stdio_set_default_encoding(), rb_str_aset(), rb_str_format(), rb_str_setter(), rb_struct_aset(), rb_struct_aset_id(), rb_struct_set(), rb_thread_abort_exc_set(), rb_thread_blocking_region(), rb_thread_io_blocking_region(), rb_thread_local_aref(), rb_thread_local_aset(), rb_thread_s_abort_exc_set(), rb_to_float(), rb_to_integer(), rb_vm_call_cfunc(), rb_vm_invoke_proc(), rb_vmdebug_proc_dump_raw(), rb_w32_asynchronize(), reg_get_val(), reg_get_val2(), rsock_sockaddr_string_value(), ruby_atomic_exchange(), s2e_conv(), scan_unsigned_hexadecimal_number(), scan_unsigned_octal_number(), set_const_visibility(), splpage(), st_foreach(), stdout_setter(), str_end_hash(), str_gsub(), strio_sysread(), strip_glibc_option(), switch(), syck_badalias_cmp(), syck_get_hash_aref(), syck_map_value_set(), syck_resolver_tagurize(), syck_resolver_transfer(), syck_scalar_value_set(), syck_seq_value_set(), transcode_search_path(), transcode_search_path_i(), type_cclass_hash(), unicode_to_jis_common2(), val2dispatch(), verbose_setter(), vm_call0(), vm_call_bmethod(), vm_call_cfunc(), vm_call_method(), vm_get_ev_const(), vm_getivar(), vm_getspecial(), vm_invoke_block(), vm_setivar(), vm_yield_with_cfunc(), VpComp(), VpDtoV(), VpSqrt(), w16e_conv(), w_oconv(), w_oconv16(), when_vals(), and window_attron().

YYACCEPT

Definition at line 4932 of file ripper.c.

goto yybackup

Definition at line 4934 of file ripper.c.

Referenced by yyparse().

void yytype_int16* yybottom
static

Definition at line 4381 of file ripper.c.

Referenced by for().

yychar = YYEMPTY

Definition at line 4846 of file ripper.c.

const yytype_int16 yycheck[]
static

Definition at line 3008 of file ripper.c.

return yyd

Definition at line 4517 of file ripper.c.

const yytype_uint16 yydefact[]
static

Definition at line 1662 of file ripper.c.

goto yydefault

Definition at line 4947 of file ripper.c.

Referenced by yyparse().

const yytype_int16 yydefgoto[]
static
Initial value:
=
{
-1, 1, 2, 64, 65, 66, 229, 539, 540, 244,
245, 421, 68, 69, 339, 70, 71, 583, 719, 72,
73, 246, 74, 75, 76, 449, 77, 202, 358, 359,
186, 187, 188, 189, 584, 536, 191, 79, 423, 204,
250, 529, 674, 410, 411, 218, 219, 206, 397, 412,
488, 80, 337, 435, 604, 341, 800, 342, 801, 697,
926, 701, 698, 875, 566, 568, 711, 880, 237, 82,
83, 84, 85, 86, 87, 88, 89, 90, 91, 678,
542, 686, 797, 798, 350, 738, 739, 740, 763, 654,
655, 764, 844, 845, 268, 269, 454, 633, 745, 301,
483, 92, 93, 388, 577, 576, 549, 925, 680, 791,
861, 865, 94, 95, 96, 97, 98, 99, 100, 280,
467, 101, 282, 276, 274, 278, 459, 646, 645, 755,
759, 102, 275, 103, 104, 209, 210, 107, 211, 212,
561, 700, 709, 710, 635, 636, 637, 638, 639, 766,
767, 640, 641, 642, 643, 836, 747, 377, 567, 255,
413, 214, 238, 608, 531, 571, 290, 407, 408, 670,
439, 543, 345, 248
}

Definition at line 1767 of file ripper.c.

char* char* yydest
static

Definition at line 4507 of file ripper.c.

goto yyerrlab

Definition at line 5006 of file ripper.c.

Referenced by if(), and yyparse().

goto yyerrlab1

Definition at line 11047 of file ripper.c.

Referenced by yyparse().

yyerrstatus = 0

Definition at line 4794 of file ripper.c.

Referenced by yyparse().

int yyi
Initial value:
{
int yynrhs = yyr2[yyrule]
int yyrule
Definition: ripper.c:4413
static const yytype_uint8 yyr2[]
Definition: ripper.c:1597

Definition at line 4416 of file ripper.c.

int yylen = 0

Definition at line 4489 of file ripper.c.

Referenced by yyparse().

unsigned long int yylno = yyrline[yyrule]

Definition at line 4419 of file ripper.c.

YYSTYPE yylval
Initial value:
{
int yychar
#define yychar
Definition: gram.c:54

Definition at line 4782 of file ripper.c.

char * yymsg = "Deleting"
static

Definition at line 4719 of file ripper.c.

Referenced by if(), yyparse(), and yysyntax_error().

YYSIZE_T yymsg_alloc = sizeof yymsgbuf

Definition at line 4827 of file ripper.c.

char yymsgbuf[128]

Definition at line 4825 of file ripper.c.

Referenced by if().

yyn = yytoken

Definition at line 4815 of file ripper.c.

Referenced by for(), if(), yyparse(), yysyntax_error(), and yytnamerr().

yynerrs = 0

Definition at line 4790 of file ripper.c.

goto yynewstate

Definition at line 4997 of file ripper.c.

Referenced by yyparse().

static void FILE * yyoutput
static

Definition at line 4320 of file ripper.c.

const yytype_int16 yypact[]
static

Definition at line 1792 of file ripper.c.

const yytype_int16 yypgoto[]
static
Initial value:
=
{
-747, -747, -747, 452, -747, 28, -747, -545, 277, -747,
39, -747, -293, 184, -58, 71, -747, -169, -747, -7,
791, -142, -13, -37, -747, -396, -29, 1623, -312, 788,
-54, -747, -25, -747, -747, 20, -747, 1066, -747, -45,
-747, 11, 47, -324, 115, 5, -747, -322, -196, 53,
-295, 8, -747, -747, -747, -747, -747, -747, -747, -747,
-747, -747, -747, -747, -747, -747, -747, -747, 2, -747,
-747, -747, -747, -747, -747, -747, -747, -747, -747, 205,
-338, -516, -72, -618, -747, -722, -671, 147, -747, -489,
-747, -600, -747, -12, -747, -747, -747, -747, -747, -747,
-747, -747, -747, 798, -747, -747, -531, -747, -50, -747,
-747, -747, -747, -747, -747, 811, -747, -747, -747, -747,
-747, -747, -747, -747, 856, -747, -140, -747, -747, -747,
-747, 7, -747, 12, -747, 1268, 1605, 823, 1289, 1575,
-747, -747, 35, -387, -697, -568, -690, 273, -696, -746,
72, 181, -747, -526, -747, -449, 270, -747, -747, -747,
97, -360, 758, -276, -747, -747, -56, -4, 278, -585,
-214, 6, -18, -2
}

Definition at line 1897 of file ripper.c.

const yytype_uint16 yyprhs[]
static

Definition at line 1136 of file ripper.c.

const yytype_uint16 yyr1[]
static

Definition at line 1534 of file ripper.c.

const yytype_uint8 yyr2[]
static

Definition at line 1597 of file ripper.c.

goto yyreduce

Definition at line 5007 of file ripper.c.

Referenced by if(), and yyparse().

yyresult = 2

Definition at line 4816 of file ripper.c.

Referenced by yyparse().

goto yyreturn

Definition at line 11117 of file ripper.c.

Referenced by yyparse().

const yytype_int16 yyrhs[]
static

Definition at line 1199 of file ripper.c.

const yytype_uint16 yyrline[]
static

Definition at line 1381 of file ripper.c.

int yyrule

Definition at line 4413 of file ripper.c.

const char* yys = yysrc

Definition at line 4512 of file ripper.c.

goto yysetstate

Definition at line 4855 of file ripper.c.

Referenced by yyparse().

const char* yysrc

Definition at line 4508 of file ripper.c.

yyss = yyssa

Definition at line 4805 of file ripper.c.

Referenced by if(), and yyparse().

Definition at line 4804 of file ripper.c.

Referenced by yyparse().

yyssp = yyss

Definition at line 4806 of file ripper.c.

Referenced by for(), yyparse(), and yysyntax_error().

yystacksize = YYINITDEPTH

Definition at line 4813 of file ripper.c.

Referenced by yyparse().

else yystate = 0

Definition at line 4792 of file ripper.c.

Referenced by for(), and yyparse().

const yytype_uint16 yystos[]
static

Definition at line 4089 of file ripper.c.

YYSIZE_T const char* yystr
static

Definition at line 4483 of file ripper.c.

Referenced by yytnamerr().

const yytype_int16 yytable[]
static

Definition at line 1923 of file ripper.c.

const char* const yytname[]
static

Definition at line 1447 of file ripper.c.

yytoken = 0

Definition at line 4818 of file ripper.c.

Referenced by yyparse(), and yysyntax_error().

yytype_int16* yytop

Definition at line 4382 of file ripper.c.

const yytype_uint8 yytranslate[]
static

Definition at line 1091 of file ripper.c.

int yytype

Definition at line 4321 of file ripper.c.

yyval = yyvsp[1-yylen]

Definition at line 4821 of file ripper.c.

Referenced by yyparse().

YYSTYPE * yyvaluep

Definition at line 4322 of file ripper.c.

yyvs = yyvsa

Definition at line 4810 of file ripper.c.

Referenced by if(), and yyparse().

Definition at line 4809 of file ripper.c.

Referenced by yyparse().

* yyvsp = yyvs
static

Definition at line 4412 of file ripper.c.

Referenced by yyparse().