Ruby 1.9.3p327(2012-11-10revision37606)
Data Structures | Defines | Typedefs | Enumerations | Functions | Variables
ext/ripper/ripper.y 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"
Include dependency graph for ripper.y:

Go to the source code of this file.

Data Structures

struct  magic_comment
struct  reg_named_capture_assign_t
struct  symbols

Defines

#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 YYLEX_PARAM   parser
#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
#define NODE_HEREDOC   NODE_ARRAY
#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 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 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 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  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),
  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

top_stmts dispatch0 (stmts_new)
top_stmts dispatch0 (void_stmt))
bodystmt escape_Qundef ($1)
expr ripper_intern ("and")
block_command ripper_id2sym ('.')
 CMDARG_PUSH (1)
primary arg_new ())
numeric ripper_intern ("-@")
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 token_info_push (struct parser_params *parser, const char *token)
static void token_info_pop (struct parser_params *parser, const char *token)
static int parser_yyerror (struct parser_params *parser, const char *msg)
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 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 ID formal_argument_gen (struct parser_params *parser, ID lhs)
static int lvar_defined_gen (struct parser_params *parser, ID id)
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)
 yylex (void *p)
static NODEnode_newnode (struct parser_params *parser, enum node_type type, VALUE a0, VALUE a1, VALUE a2)
enum node_type nodetype (NODE *node)
int nodeline (NODE *node)
static NODEnewline_node (NODE *node)
static void fixpos (NODE *node, NODE *orig)
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 NODEblock_append_gen (struct parser_params *parser, NODE *head, NODE *tail)
static NODElist_append_gen (struct parser_params *parser, NODE *list, NODE *item)
static NODElist_concat_gen (struct parser_params *parser, NODE *head, NODE *tail)
static int literal_concat0 (struct parser_params *parser, VALUE head, VALUE tail)
static NODEliteral_concat_gen (struct parser_params *parser, NODE *head, NODE *tail)
static NODEevstr2dstr_gen (struct parser_params *parser, NODE *node)
static NODEnew_evstr_gen (struct parser_params *parser, NODE *node)
static NODEcall_bin_op_gen (struct parser_params *parser, NODE *recv, ID id, NODE *arg1)
static NODEcall_uni_op_gen (struct parser_params *parser, NODE *recv, ID id)
static NODEmatch_op_gen (struct parser_params *parser, NODE *node1, NODE *node2)
static NODEgettable_gen (struct parser_params *parser, ID id)
static NODEassignable_gen (struct parser_params *parser, ID id, NODE *val)
static ID shadowing_lvar_gen (struct parser_params *parser, ID name)
static void new_bv_gen (struct parser_params *parser, ID name)
static NODEaryset_gen (struct parser_params *parser, NODE *recv, NODE *idx)
static void block_dup_check_gen (struct parser_params *parser, NODE *node1, NODE *node2)
ID rb_id_attrset (ID id)
static NODEattrset_gen (struct parser_params *parser, NODE *recv, ID id)
static void rb_backref_error_gen (struct parser_params *parser, NODE *node)
static NODEarg_concat_gen (struct parser_params *parser, NODE *node1, NODE *node2)
static NODEarg_append_gen (struct parser_params *parser, NODE *node1, NODE *node2)
static NODEsplat_array (NODE *node)
static NODEnode_assign_gen (struct parser_params *parser, NODE *lhs, NODE *rhs)
static int value_expr_gen (struct parser_params *parser, NODE *node)
static void void_expr_gen (struct parser_params *parser, NODE *node)
static void void_stmts_gen (struct parser_params *parser, NODE *node)
static NODEremove_begin (NODE *node)
static void reduce_nodes_gen (struct parser_params *parser, NODE **body)
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 void fixup_nodes (NODE **rootnode)
static NODEcond0 (struct parser_params *, NODE *)
static NODErange_op (struct parser_params *parser, NODE *node)
static int literal_node (NODE *node)
static NODEcond_gen (struct parser_params *parser, NODE *node)
static NODElogop_gen (struct parser_params *parser, enum node_type type, NODE *left, NODE *right)
static void no_blockarg (struct parser_params *parser, NODE *node)
static NODEret_args_gen (struct parser_params *parser, NODE *node)
static NODEnew_yield_gen (struct parser_params *parser, NODE *node)
static NODEnegate_lit (NODE *node)
static NODEarg_blk_pass (NODE *node1, NODE *node2)
static NODEnew_args_gen (struct parser_params *parser, NODE *m, NODE *o, ID r, NODE *p, ID b)
static void warn_unused_var (struct parser_params *parser, struct local_vars *local)
static void local_push_gen (struct parser_params *parser, int inherit_dvars)
static void local_pop_gen (struct parser_params *parser)
static IDvtable_tblcpy (ID *buf, const struct vtable *src)
static IDlocal_tbl_gen (struct parser_params *parser)
static int arg_var_gen (struct parser_params *parser, ID id)
static int local_var_gen (struct parser_params *parser, ID id)
static int local_id_gen (struct parser_params *parser, ID id)
static struct vtabledyna_push_gen (struct parser_params *parser)
static void dyna_pop_1 (struct parser_params *parser)
static void dyna_pop_gen (struct parser_params *parser, const struct vtable *lvargs)
static int dyna_in_block_gen (struct parser_params *parser)
static int dvar_defined_gen (struct parser_params *parser, ID id, int get)
static int dvar_curr_gen (struct parser_params *parser, ID id)
static void reg_fragment_setenc_gen (struct parser_params *parser, VALUE str, int options)
static int reg_fragment_check_gen (struct parser_params *parser, VALUE str, int options)
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 NODEreg_named_capture_assign_gen (struct parser_params *parser, VALUE regexp, NODE *match)
static VALUE reg_compile_gen (struct parser_params *parser, VALUE str, int options)
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 ID internal_id_gen (struct parser_params *parser)
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)
static ID register_symid (ID id, 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)
void * rb_parser_malloc (struct parser_params *parser, size_t size)
void * rb_parser_calloc (struct parser_params *parser, size_t nelem, size_t size)
void * rb_parser_realloc (struct parser_params *parser, void *ptr, size_t size)
void rb_parser_free (struct parser_params *parser, void *ptr)

Variables

top_compstmt __pad0__
top_stmts __pad1__
top_stmt __pad2__
bodystmt __pad3__
compstmt __pad4__
stmts __pad5__
stmt __pad6__
command_asgn __pad7__
command_asgn lhs
expr __pad8__
expr_value __pad9__
command_call __pad10__
block_command __pad11__
cmd_brace_block __pad12__ = method_arg($$, $4)
command __pad13__
mlhs __pad14__
mlhs mlhs_inner
mlhs mlhs_basic
mlhs_item __pad15__
mlhs_item mlhs_head
mlhs_post __pad16__
mlhs_post mlhs_post
mlhs_node __pad17__
lhs __pad18__
cname __pad19__ = dispatch1(var_field, $$)
cname tCONSTANT
cpath __pad20__
fname __pad21__
fsym __pad22__ = $1
fitem __pad23__
fitem dsym
undef_list __pad24__
undef_list undef_list
op __pad25__
reswords __pad26__
arg __pad27__
arg_value __pad28__
aref_args __pad29__
 args
paren_args __pad30__
opt_paren_args __pad31__
opt_call_args __pad32__
call_args __pad33__
command_args __pad34__
block_arg __pad35__
opt_block_arg __pad36__
args __pad37__
mrhs __pad38__
primary __pad39__
primary_value __pad40__
k_begin __pad41__
k_if __pad42__
k_unless __pad43__
k_while __pad44__
k_until __pad45__
k_case __pad46__
k_for __pad47__
k_class __pad48__
k_module __pad49__
k_def __pad50__
k_end __pad51__
then __pad52__
do __pad53__
 keyword_do_cond
if_tail __pad54__
opt_else __pad55__
opt_else for_var
f_marg __pad56__
f_marg_list __pad57__ = dispatch1(mlhs_paren, $$)
f_marg_list f_marg_list
f_margs __pad58__
block_param __pad59__
block_param f_block_optarg
opt_block_param __pad60__
block_param_def __pad61__
block_param_def Qnil
opt_bv_decl __pad62__
bv_decls __pad63__
bv_decls bv_decls
bvar __pad64__
lambda __pad65__ = get_value($1)
f_larglist __pad66__
lambda_body __pad67__
do_block __pad68__
block_call __pad69__
method_call __pad70__
brace_block __pad71__
case_body __pad72__
cases __pad73__
opt_rescue __pad74__
 none
exc_list __pad75__
exc_var __pad76__
opt_ensure __pad77__
literal __pad78__
strings __pad79__
string __pad80__
string string1
string xstring
string regexp
string words
word_list __pad81__ = dispatch1(array, $$)
word __pad82__
qwords __pad83__ = dispatch2(word_add, $$, $1)
qword_list __pad84__ = dispatch1(array, $$)
string_contents __pad85__
xstring_contents __pad86__
regexp_contents __pad87__
string_content __pad88__
 lex_strterm = 0
 lex_state = EXPR_BEG
string_dvar __pad89__
symbol __pad90__
sym __pad91__ = dispatch1(symbol, $2)
dsym __pad92__
numeric __pad93__ = dispatch1(dyna_symbol, $2)
user_variable __pad94__
keyword_variable __pad95__
var_ref __pad96__
var_lhs __pad97__
backref __pad98__ = dispatch1(var_field, $$)
superclass __pad99__
opt_terms __pad100__
opt_nl __pad101__
rparen __pad102__
rbracket __pad103__
trailer __pad104__
trailer term
terms __pad105__
none __pad106__
static const rb_data_type_t parser_data_type
static struct magic_comment magic_comments []
struct {
   ID   token
   const char *   name
op_tbl []
static struct symbols global_symbols
static struct st_hash_type symhash

Define Documentation

#define ADD2HEAP (   n,
  c,
 
)
Value:
((parser->heap = (n))->u1.node = (p), \
                           (n)->u3.cnt = (c), (p))

Definition at line 12093 of file ripper.y.

Referenced by node_assign_gen(), and splat_array().

#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""))

Definition at line 8405 of file ripper.y.

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

Definition at line 8071 of file ripper.y.

#define arg_append (   h,
 
)    arg_append_gen(parser,(h),(t))
#define arg_concat (   h,
 
)    arg_concat_gen(parser,(h),(t))
#define arg_var (   id)    arg_var_gen(parser, (id))
#define aryset (   node1,
  node2 
)    aryset_gen(parser, (node1), (node2))
#define assignable (   id,
  node 
)    assignable_gen(parser, (id), (node))
#define assignable_result (   x)    (x)
#define attrset (   node,
  id 
)    attrset_gen(parser, (node), (id))
#define BITSTACK_LEXPOP (   stack)    ((stack) = ((stack) >> 1) | ((stack) & 1))
#define BITSTACK_POP (   stack)    ((stack) = (stack) >> 1)
#define BITSTACK_PUSH (   stack,
 
)    ((stack) = ((stack)<<1)|((n)&1))
#define BITSTACK_SET_P (   stack)    ((stack)&1)
#define block_append (   h,
 
)    block_append_gen(parser,(h),(t))
#define block_dup_check (   n1,
  n2 
)    block_dup_check_gen(parser,(n1),(n2))
#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 calloc   YYCALLOC
#define class_nest   (parser->parser_class_nest)
#define CMDARG_LEXPOP ( )    BITSTACK_LEXPOP(cmdarg_stack)
#define CMDARG_P ( )    BITSTACK_SET_P(cmdarg_stack)
#define CMDARG_POP ( )    BITSTACK_POP(cmdarg_stack)
#define CMDARG_PUSH (   n)    BITSTACK_PUSH(cmdarg_stack, (n))
#define cmdarg_stack   (parser->parser_cmdarg_stack)
#define command_start   (parser->parser_command_start)
#define compile_error   parser->nerr++,rb_compile_error_with_enc
#define compile_for_eval   (parser->parser_compile_for_eval)
#define cond (   node)    cond_gen(parser, (node))
#define COND_LEXPOP ( )    BITSTACK_LEXPOP(cond_stack)
#define COND_P ( )    BITSTACK_SET_P(cond_stack)
#define COND_POP ( )    BITSTACK_POP(cond_stack)
#define COND_PUSH (   n)    BITSTACK_PUSH(cond_stack, (n))
#define cond_stack   (parser->parser_cond_stack)
#define cur_mid   (parser->parser_cur_mid)
#define current_enc   (parser->enc)
#define deferred_nodes   (parser->parser_deferred_nodes)
#define dispatch_heredoc_end ( )    ((void)0)

Definition at line 7952 of file ripper.y.

#define dvar_curr (   id)    dvar_curr_gen(parser, (id))
#define dvar_defined (   id)    dvar_defined_gen(parser, (id), 0)
#define dvar_defined_get (   id)    dvar_defined_gen(parser, (id), 1)
#define DVARS_INHERIT   ((void*)1)
#define DVARS_SPECIAL_P (   tbl)    (!POINTER_P(tbl))
#define DVARS_TOPSCOPE   NULL
#define dyna_in_block ( )    dyna_in_block_gen(parser)
#define dyna_pop (   node)    dyna_pop_gen(parser, (node))
#define dyna_push ( )    dyna_push_gen(parser)
#define dyna_var (   id)    local_var(id)
#define ENABLE_SELECTOR_NAMESPACE   0

Definition at line 11361 of file ripper.y.

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

Definition at line 7404 of file ripper.y.

#define ESCAPE_META   2

Definition at line 7405 of file ripper.y.

#define evstr2dstr (   n)    evstr2dstr_gen(parser,(n))
#define formal_argument (   id)    formal_argument_gen(parser, (id))
#define free   YYFREE
#define get_id (   id)    (id)
#define get_value (   val)    (val)
#define gettable (   id)    gettable_gen(parser,(id))
#define HEAPCNT (   n,
  size 
)    ((n) * (size) / sizeof(YYSTYPE))

Definition at line 12091 of file ripper.y.

Referenced by node_assign_gen(), and splat_array().

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

Definition at line 6691 of file ripper.y.

#define heredoc_end   (parser->parser_heredoc_end)
#define heredoc_identifier ( )    parser_heredoc_identifier(parser)

Definition at line 6692 of file ripper.y.

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

Definition at line 6693 of file ripper.y.

#define ifndef_ripper (   x)    (x)
#define in_def   (parser->parser_in_def)
#define in_defined   (parser->parser_in_defined)
#define in_single   (parser->parser_in_single)
#define internal_id ( )    internal_id_gen(parser)
#define IS_ARG ( )    (lex_state == EXPR_ARG || lex_state == EXPR_CMDARG)

Definition at line 8397 of file ripper.y.

#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 is_attrset_id (   id)    (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_ATTRSET)
#define IS_BEG ( )    (lex_state == EXPR_BEG || lex_state == EXPR_MID || lex_state == EXPR_VALUE || lex_state == EXPR_CLASS)

Definition at line 8399 of file ripper.y.

Referenced by parser_read_escape().

#define is_class_id (   id)    (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_CLASS)
#define is_const_id (   id)    (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_CONST)
#define IS_END ( )    (lex_state == EXPR_END || lex_state == EXPR_ENDARG || lex_state == EXPR_ENDFN)

Definition at line 8398 of file ripper.y.

#define is_global_id (   id)    (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_GLOBAL)
#define is_identchar (   p,
  e,
  enc 
)    (rb_enc_isalnum(*(p),(enc)) || (*(p)) == '_' || !ISASCII(*(p)))

Definition at line 6790 of file ripper.y.

#define is_instance_id (   id)    (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_INSTANCE)
#define is_junk_id (   id)    (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_JUNK)
#define IS_LABEL_POSSIBLE ( )    ((lex_state == EXPR_BEG && !cmd_state) || IS_ARG())

Definition at line 8401 of file ripper.y.

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

Definition at line 8402 of file ripper.y.

#define is_local_id (   id)    (is_notop_id(id)&&((id)&ID_SCOPE_MASK)==ID_LOCAL)
#define is_notop_id (   id)    ((id)>tLAST_TOKEN)
#define IS_SPCARG (   c)    (IS_ARG() && space_seen && !ISSPACE(c))

Definition at line 8400 of file ripper.y.

Referenced by parser_read_escape().

#define lex_eol_p ( )    (lex_p >= lex_pend)

Definition at line 7202 of file ripper.y.

#define lex_gets   (parser->parser_lex_gets)
#define lex_gets_ptr   (parser->parser_lex_gets_ptr)
#define lex_goto_eol (   parser)    ((parser)->parser_lex_p = (parser)->parser_lex_pend)

Definition at line 7201 of file ripper.y.

Referenced by token_info_push().

#define lex_input   (parser->parser_lex_input)
#define lex_lastline   (parser->parser_lex_lastline)
#define lex_nextline   (parser->parser_lex_nextline)
#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)
#define lex_strterm   (parser->parser_lex_strterm)
#define list_append (   l,
 
)    list_append_gen(parser,(l),(i))
#define list_concat (   h,
 
)    list_concat_gen(parser,(h),(t))
#define literal_concat (   h,
 
)    literal_concat_gen(parser,(h),(t))
#define local_id (   id)    local_id_gen(parser, (id))
#define local_pop ( )    local_pop_gen(parser)
#define local_push (   top)    local_push_gen(parser,(top))
#define local_tbl ( )    local_tbl_gen(parser)
#define local_var (   id)    local_var_gen(parser, (id));
#define logop (   type,
  node1,
  node2 
)    logop_gen(parser, (type), (node1), (node2))
#define lpar_beg   (parser->parser_lpar_beg)
#define lvar_defined (   id)    lvar_defined_gen(parser, (id))
#define LVAR_USED   ((int)1 << (sizeof(int) * CHAR_BIT - 1))

Definition at line 10185 of file ripper.y.

#define lvtbl   (parser->parser_lvtbl)
#define malloc   YYMALLOC
#define match_op (   node1,
  node2 
)    match_op_gen(parser, (node1), (node2))
#define mixed_error (   enc1,
  enc2 
)
Value:
if (!errbuf) {  \
        size_t len = sizeof(mixed_msg) - 4;     \
        len += strlen(rb_enc_name(enc1));       \
        len += strlen(rb_enc_name(enc2));       \
        errbuf = ALLOCA_N(char, len);           \
        snprintf(errbuf, len, mixed_msg,        \
                 rb_enc_name(enc1),             \
                 rb_enc_name(enc2));            \
        yyerror(errbuf);                        \
    }
#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)
#define nd_func   u1.id
#define nd_nest   u3.cnt
#define nd_paren (   node)    (char)((node)->u2.id >> CHAR_BIT*2)
#define nd_term (   node)    SIGN_EXTEND((node)->u2.id, CHAR_BIT*2)
#define new_args (   f,
  o,
  r,
  p,
 
)    new_args_gen(parser, (f),(o),(r),(p),(b))
#define new_bv (   id)    new_bv_gen(parser, (id))
#define new_evstr (   n)    new_evstr_gen(parser,(n))
#define NEW_STRTERM (   func,
  term,
  paren 
)    rb_node_newnode(NODE_STRTERM, (func), (term) | ((paren) << (CHAR_BIT * 2)), 0)

Definition at line 7769 of file ripper.y.

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

Definition at line 12092 of file ripper.y.

Referenced by node_assign_gen(), and splat_array().

#define newtok ( )    parser_newtok(parser)

Definition at line 6681 of file ripper.y.

#define nextc ( )    parser_nextc(parser)

Definition at line 6679 of file ripper.y.

Referenced by must_be_ascii_compatible(), parser_regx_options(), and token_info_push().

#define no_digits ( )    do {yyerror("numeric literal without digits"); return 0;} while (0)
#define node_assign (   node1,
  node2 
)    node_assign_gen(parser, (node1), (node2))
#define NODE_HEREDOC   NODE_ARRAY
#define NODE_STRTERM   NODE_ZARRAY
#define numberof (   array)    (int)(sizeof(array) / sizeof((array)[0]))
#define op_tbl_count   numberof(op_tbl)

Definition at line 11358 of file ripper.y.

Referenced by list_append_gen().

#define paren_nest   (parser->parser_paren_nest)
#define parse_string (   n)    parser_parse_string(parser,(n))

Definition at line 6689 of file ripper.y.

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

Definition at line 6787 of file ripper.y.

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

Definition at line 6791 of file ripper.y.

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

Definition at line 6793 of file ripper.y.

Referenced by parser_regx_options().

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

Definition at line 6788 of file ripper.y.

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

Definition at line 6789 of file ripper.y.

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

Definition at line 9787 of file ripper.y.

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

Definition at line 9780 of file ripper.y.

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

Definition at line 7203 of file ripper.y.

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

Definition at line 7204 of file ripper.y.

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

Definition at line 6680 of file ripper.y.

#define rb_backref_error (   n)    rb_backref_error_gen(parser,(n))
#define rb_compile_error   rb_compile_error_with_enc
#define rb_node_newnode (   type,
  a1,
  a2,
  a3 
)    node_newnode(parser, (type), (a1), (a2), (a3))
#define rb_warn0 (   fmt)    rb_compile_warn(ruby_sourcefile, ruby_sourceline, (fmt))
#define rb_warnI (   fmt,
 
)    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,
 
)    rb_compile_warning(ruby_sourcefile, ruby_sourceline, (fmt), (a))
#define rb_warnS (   fmt,
 
)    rb_compile_warn(ruby_sourcefile, ruby_sourceline, (fmt), (a))
#define RE_OPTION_ARG_ENCODING_NONE   32
#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_ENCODING_SHIFT   8
#define RE_OPTION_MASK   0xff
#define RE_OPTION_ONCE   (1<<16)
#define read_escape (   flags,
 
)    parser_read_escape(parser, (flags), (e))

Definition at line 6685 of file ripper.y.

#define realloc   YYREALLOC
#define reduce_nodes (   n)    reduce_nodes_gen(parser,(n))
#define reg_compile (   str,
  options 
)    reg_compile_gen(parser, (str), (options))
#define reg_fragment_check (   str,
  options 
)    reg_fragment_check_gen(parser, (str), (options))
#define reg_fragment_setenc (   str,
  options 
)    reg_fragment_setenc_gen(parser, (str), (options))
#define reg_named_capture_assign (   regexp,
  match 
)    reg_named_capture_assign_gen(parser,(regexp),(match))
#define REGISTER_SYMID (   id,
  name 
)    register_symid((id), (name), strlen(name), enc)
#define regx_options ( )    parser_regx_options(parser)

Definition at line 6687 of file ripper.y.

#define ret_args (   node)    ret_args_gen(parser, (node))
#define ripper_flush (   p)    (void)(p)

Definition at line 6720 of file ripper.y.

#define ruby__end__seen   (parser->parser_ruby__end__seen)
#define ruby_coverage   (parser->coverage)
#define ruby_debug_lines   (parser->debug_lines)
#define ruby_eval_tree   (parser->parser_eval_tree)
#define ruby_eval_tree_begin   (parser->parser_eval_tree_begin)
#define ruby_sourcefile   (parser->parser_ruby_sourcefile)
#define ruby_sourceline   (parser->parser_ruby_sourceline)
#define set_yylval_id (   x)    (yylval.id = (x))

Definition at line 6699 of file ripper.y.

Referenced by must_be_ascii_compatible().

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

Definition at line 6701 of file ripper.y.

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

Definition at line 6700 of file ripper.y.

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

Definition at line 6702 of file ripper.y.

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

Definition at line 6698 of file ripper.y.

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

Definition at line 6697 of file ripper.y.

#define shadowing_lvar (   name)    shadowing_lvar_gen(parser, (name))
#define SIGN_EXTEND (   x,
 
)    (((1<<(n)-1)^((x)&~(~0<<(n))))-(1<<(n)-1))
#define SIGN_EXTEND_CHAR (   c)    ((((unsigned char)(c)) ^ 128) - 128)

Definition at line 6784 of file ripper.y.

#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 STR_FUNC_ESCAPE   0x01

Definition at line 7166 of file ripper.y.

#define STR_FUNC_EXPAND   0x02

Definition at line 7167 of file ripper.y.

#define STR_FUNC_INDENT   0x20

Definition at line 7171 of file ripper.y.

#define STR_FUNC_QWORDS   0x08

Definition at line 7169 of file ripper.y.

#define STR_FUNC_REGEXP   0x04

Definition at line 7168 of file ripper.y.

#define STR_FUNC_SYMBOL   0x10

Definition at line 7170 of file ripper.y.

#define STR_NEW (   p,
 
)    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 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 tok ( )    tokenbuf

Definition at line 7275 of file ripper.y.

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

Definition at line 6684 of file ripper.y.

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

Definition at line 6683 of file ripper.y.

#define tokadd_escape (   e)    parser_tokadd_escape(parser, (e))

Definition at line 6686 of file ripper.y.

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

Definition at line 7637 of file ripper.y.

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

Definition at line 6688 of file ripper.y.

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

Definition at line 6690 of file ripper.y.

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

Definition at line 7330 of file ripper.y.

#define token_info_pop (   token)    (RTEST(ruby_verbose) ? token_info_pop(parser, (token)) : (void)0)
#define token_info_push (   token)    (RTEST(ruby_verbose) ? token_info_push(parser, (token)) : (void)0)
#define tokenbuf   (parser->parser_tokenbuf)
#define tokfix ( )    (tokenbuf[tokidx]='\0')

Definition at line 7274 of file ripper.y.

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

Definition at line 7277 of file ripper.y.

#define toklen ( )    tokidx

Definition at line 7276 of file ripper.y.

#define toksiz   (parser->parser_toksiz)
#define tokspace (   n)    parser_tokspace(parser, (n))

Definition at line 6682 of file ripper.y.

#define UTF8_ENC ( )
Value:
(parser->utf8 ? parser->utf8 : \
                    (parser->utf8 = rb_utf8_encoding()))
#define value_expr (   node)    value_expr_gen(parser, (node) = remove_begin(node))
#define void_expr (   node)    void_expr0((node) = remove_begin(node))
#define void_expr0 (   node)    void_expr_gen(parser, (node))
#define void_stmts (   node)    void_stmts_gen(parser, (node))
#define VTBL_DEBUG   0
#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)))

Definition at line 8411 of file ripper.y.

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

Definition at line 7272 of file ripper.y.

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

Definition at line 6694 of file ripper.y.

#define YYCALLOC (   nelem,
  size 
)    rb_parser_calloc(parser, (nelem), (size))
#define yydebug   (parser->parser_yydebug)
#define YYDEBUG   1
#define yyerror (   msg)    parser_yyerror(parser, (msg))
#define YYERROR_VERBOSE   1
#define YYFREE (   ptr)    rb_parser_free(parser, (ptr))
#define YYLEX_PARAM   parser
#define yylval   (*((YYSTYPE*)(parser->parser_yylval)))

Definition at line 6670 of file ripper.y.

#define yylval_id ( )    (yylval.id)

Definition at line 6703 of file ripper.y.

#define YYMALLOC (   size)    rb_parser_malloc(parser, (size))
#define yyparse   ruby_yyparse
#define YYREALLOC (   ptr,
  size 
)    rb_parser_realloc(parser, (ptr), (size))
#define YYSTACK_USE_ALLOCA   0

Typedef Documentation

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

Definition at line 8156 of file ripper.y.

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

Definition at line 8157 of file ripper.y.


Enumeration Type Documentation

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 
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 7173 of file ripper.y.


Function Documentation

static void arg_ambiguous_gen ( struct parser_params parser) [static]

Definition at line 8063 of file ripper.y.

References NEW_LIST.

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

Definition at line 10296 of file ripper.y.

References RTEST, TypedData_Get_Struct, and yydebug.

static NODE* arg_blk_pass ( NODE node1,
NODE node2 
) [static]

Definition at line 10850 of file ripper.y.

References rb_intern.

static NODE* arg_concat_gen ( struct parser_params parser,
NODE node1,
NODE node2 
) [static]

Definition at line 10271 of file ripper.y.

primary arg_new ( )

Referenced by yyparse().

static int arg_var_gen ( struct parser_params parser,
ID  id 
) [static]

Definition at line 10964 of file ripper.y.

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

Definition at line 10226 of file ripper.y.

References ALLOC_N, MEMZERO, and parser_initialize().

static int assign_in_cond ( struct parser_params parser,
NODE node 
) [static]

Definition at line 10589 of file ripper.y.

References rb_intern.

static NODE* assignable_gen ( struct parser_params parser,
ID  id,
NODE val 
) [static]

Definition at line 10108 of file ripper.y.

static NODE* attrset_gen ( struct parser_params parser,
NODE recv,
ID  id 
) [static]

Definition at line 10250 of file ripper.y.

References Qfalse, Qtrue, ruby__end__seen, and TypedData_Get_Struct.

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 10234 of file ripper.y.

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

Definition at line 9989 of file ripper.y.

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

Definition at line 9997 of file ripper.y.

CMDARG_PUSH ( )
static int comment_at_top ( struct parser_params parser) [static]

Definition at line 8144 of file ripper.y.

References list_append.

static NODE * cond0 ( struct parser_params parser,
NODE node 
) [static]

Definition at line 10710 of file ripper.y.

static NODE* cond_gen ( struct parser_params parser,
NODE node 
) [static]

Definition at line 10767 of file ripper.y.

static VALUE coverage ( const char *  f,
int  n 
) [static]

Definition at line 6952 of file ripper.y.

static VALUE debug_lines ( const char *  f) [static]

Definition at line 6935 of file ripper.y.

References EXPR_ENDFN, and lex_state.

stmts dispatch0 ( void_stmt  )
stmts dispatch0 ( stmts_new  )

Referenced by arg_ambiguous_gen(), and yyparse().

static void dispose_string ( VALUE  str) [static]

Definition at line 7615 of file ripper.y.

static int dvar_curr_gen ( struct parser_params parser,
ID  id 
) [static]

Definition at line 11089 of file ripper.y.

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

Definition at line 11058 of file ripper.y.

static int dyna_in_block_gen ( struct parser_params parser) [static]

Definition at line 11052 of file ripper.y.

static void dyna_pop_1 ( struct parser_params parser) [static]

Definition at line 11020 of file ripper.y.

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

Definition at line 11038 of file ripper.y.

static struct vtable* dyna_push_gen ( struct parser_params parser) [static, read]

Definition at line 11009 of file ripper.y.

static int e_option_supplied ( struct parser_params parser) [static]

Definition at line 6969 of file ripper.y.

opt_rescue escape_Qundef ( 1)

Referenced by yyparse().

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

Definition at line 9966 of file ripper.y.

static void fixpos ( NODE node,
NODE orig 
) [static]

Definition at line 9767 of file ripper.y.

static void fixup_nodes ( NODE **  rootnode) [static]

Definition at line 10642 of file ripper.y.

static ID formal_argument_gen ( struct parser_params parser,
ID  lhs 
) [static]

Definition at line 8074 of file ripper.y.

static NODE* gettable_gen ( struct parser_params parser,
ID  id 
) [static]
void Init_sym ( void  )

Definition at line 11408 of file ripper.y.

static ID internal_id_gen ( struct parser_params parser) [static]

Definition at line 11430 of file ripper.y.

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

Definition at line 11439 of file ripper.y.

Referenced by block_append_gen().

static VALUE lex_get_str ( struct parser_params parser,
VALUE  s 
) [static]

Definition at line 7042 of file ripper.y.

static VALUE lex_getline ( struct parser_params parser) [static]

Definition at line 7062 of file ripper.y.

static VALUE lex_io_gets ( struct parser_params parser,
VALUE  io 
) [static]

Definition at line 7133 of file ripper.y.

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

Definition at line 9844 of file ripper.y.

References op_tbl, and op_tbl_count.

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

Definition at line 9864 of file ripper.y.

References is_attrset_id, rb_enc_get(), rb_id2str(), and rb_id_attrset().

static int literal_concat0 ( struct parser_params parser,
VALUE  head,
VALUE  tail 
) [static]

Definition at line 9888 of file ripper.y.

static NODE* literal_concat_gen ( struct parser_params parser,
NODE head,
NODE tail 
) [static]

Definition at line 9905 of file ripper.y.

References rb_eRuntimeError, and rb_raise().

static int literal_node ( NODE node) [static]

Definition at line 10689 of file ripper.y.

References argc, and argv.

static int local_id_gen ( struct parser_params parser,
ID  id 
) [static]

Definition at line 10981 of file ripper.y.

static void local_pop_gen ( struct parser_params parser) [static]

Definition at line 10919 of file ripper.y.

static void local_push_gen ( struct parser_params parser,
int  inherit_dvars 
) [static]

Definition at line 10906 of file ripper.y.

static ID* local_tbl_gen ( struct parser_params parser) [static]

Definition at line 10949 of file ripper.y.

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

Definition at line 10971 of file ripper.y.

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

Definition at line 10774 of file ripper.y.

References rb_eArgError, rb_raise(), and TypedData_Get_Struct.

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

Definition at line 8085 of file ripper.y.

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

Definition at line 8160 of file ripper.y.

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

Definition at line 8204 of file ripper.y.

References NEW_CALL, NEW_LIST, and value_expr.

static NODE* match_op_gen ( struct parser_params parser,
NODE node1,
NODE node2 
) [static]

Definition at line 10004 of file ripper.y.

static rb_encoding* must_be_ascii_compatible ( VALUE  s) [static]

Definition at line 7032 of file ripper.y.

References EXPR_BEG, lex_state, nextc, set_yylval_id, tANDOP, and tOP_ASGN.

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

Definition at line 10860 of file ripper.y.

References rb_intern.

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

Definition at line 10212 of file ripper.y.

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

Definition at line 9975 of file ripper.y.

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

Definition at line 10814 of file ripper.y.

static NODE* newline_node ( NODE node) [static]

Definition at line 9757 of file ripper.y.

References FALSE.

static void no_blockarg ( struct parser_params parser,
NODE node 
) [static]

Definition at line 10789 of file ripper.y.

References TypedData_Get_Struct.

static NODE* node_assign_gen ( struct parser_params parser,
NODE lhs,
NODE rhs 
) [static]

Definition at line 10322 of file ripper.y.

References ADD2HEAP, HEAPCNT, NEWHEAP, and xcalloc.

static NODE* node_newnode ( struct parser_params parser,
enum node_type  type,
VALUE  a0,
VALUE  a1,
VALUE  a2 
) [static]

Definition at line 9737 of file ripper.y.

int nodeline ( NODE node)

Definition at line 9751 of file ripper.y.

enum node_type nodetype ( NODE node)

Definition at line 9745 of file ripper.y.

static NODE* parser_compile_string ( volatile VALUE  vparser,
const char *  f,
VALUE  s,
int  line 
) [static]

Definition at line 7085 of file ripper.y.

static long parser_encode_length ( struct parser_params parser,
const char *  name,
long  len 
) [static]

Definition at line 8092 of file ripper.y.

static void parser_free ( void *  ptr) [static]

Definition at line 11948 of file ripper.y.

static int parser_here_document ( struct parser_params parser,
NODE here 
) [static]

Definition at line 7956 of file ripper.y.

References nd_set_line.

static int parser_heredoc_identifier ( struct parser_params parser) [static]

Definition at line 7846 of file ripper.y.

References tIDENTIFIER.

static void parser_heredoc_restore ( struct parser_params parser,
NODE here 
) [static]

Definition at line 7909 of file ripper.y.

static void parser_initialize ( struct parser_params parser) [static]

Definition at line 11870 of file ripper.y.

Referenced by aryset_gen().

static int parser_magic_comment ( struct parser_params parser,
const char *  str,
long  len 
) [static]

Definition at line 8237 of file ripper.y.

References nd_type, NEW_MATCH3, NODE_DREGX, NODE_DREGX_ONCE, NODE_LIT, T_REGEXP, and TYPE.

static void parser_mark ( void *  ptr) [static]

Definition at line 11922 of file ripper.y.

static size_t parser_memsize ( const void *  ptr) [static]

Definition at line 11968 of file ripper.y.

static struct parser_params* parser_new ( void  ) [static, read]

Definition at line 12011 of file ripper.y.

static char* parser_newtok ( struct parser_params parser) [static]

Definition at line 7280 of file ripper.y.

static int parser_nextc ( struct parser_params parser) [inline, static]

Definition at line 7207 of file ripper.y.

References no_digits.

static int parser_parse_string ( struct parser_params parser,
NODE quote 
) [static]

Definition at line 7773 of file ripper.y.

static void parser_prepare ( struct parser_params parser) [static]

Definition at line 8373 of file ripper.y.

References local_id, and local_var.

static void parser_pushback ( struct parser_params parser,
int  c 
) [static]

Definition at line 7263 of file ripper.y.

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

Definition at line 7408 of file ripper.y.

References EXPR_BEG, EXPR_CLASS, EXPR_DOT, IS_BEG, IS_SPCARG, lex_state, tCOLON2, and tCOLON3.

static int parser_regx_options ( struct parser_params parser) [static]

Definition at line 7579 of file ripper.y.

References parser_params::enc, nextc, parser_isascii, rb_enc_isalnum, and yyerror.

static void parser_set_encode ( struct parser_params parser,
const char *  name 
) [static]

Definition at line 8112 of file ripper.y.

static void parser_set_token_info ( struct parser_params parser,
const char *  name,
const char *  val 
) [static]

Definition at line 8169 of file ripper.y.

References nd_set_type, NODE_DSTR, and NODE_EVSTR.

static VALUE parser_str_new ( const char *  p,
long  n,
rb_encoding enc,
int  func,
rb_encoding enc0 
) [static]

Definition at line 7185 of file ripper.y.

static int parser_tok_hex ( struct parser_params parser,
size_t *  numlen 
) [static]

Definition at line 7317 of file ripper.y.

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

Definition at line 7307 of file ripper.y.

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

Definition at line 7506 of file ripper.y.

References paren_nest.

static int parser_tokadd_mbchar ( struct parser_params parser,
int  c 
) [static]

Definition at line 7624 of file ripper.y.

References yyerror.

static int parser_tokadd_string ( struct parser_params parser,
int  func,
int  term,
int  paren,
long *  nest,
rb_encoding **  encp 
) [static]

Definition at line 7640 of file ripper.y.

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 7333 of file ripper.y.

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

Definition at line 7499 of file ripper.y.

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

Definition at line 7295 of file ripper.y.

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

Definition at line 9783 of file ripper.y.

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

Definition at line 9776 of file ripper.y.

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

Definition at line 7926 of file ripper.y.

References NIL_P, parser_yylex(), parser_params::parser_yylval, Qundef, and YYSTYPE::val.

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

Definition at line 6870 of file ripper.y.

static int parser_yylex ( struct parser_params parser) [static]

Definition at line 8419 of file ripper.y.

References local_id, and yyerror.

Referenced by parser_whole_match_p().

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

Definition at line 10673 of file ripper.y.

References STR_NEW2.

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

Definition at line 10258 of file ripper.y.

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

Definition at line 7119 of file ripper.y.

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

Definition at line 7139 of file ripper.y.

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

Definition at line 7105 of file ripper.y.

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

Definition at line 11482 of file ripper.y.

int rb_enc_symname_p ( const char *  name,
rb_encoding enc 
)

Definition at line 11476 of file ripper.y.

void rb_gc_mark_parser ( void  )

Definition at line 11255 of file ripper.y.

void rb_gc_mark_symbols ( void  )

Definition at line 11421 of file ripper.y.

const char* rb_id2name ( ID  id)

Definition at line 11797 of file ripper.y.

VALUE rb_id2str ( ID  id)

Definition at line 11736 of file ripper.y.

ID rb_id_attrset ( ID  id)

Definition at line 10242 of file ripper.y.

ID rb_intern ( const char *  name)

Definition at line 11713 of file ripper.y.

ID rb_intern2 ( const char *  name,
long  len 
)

Definition at line 11706 of file ripper.y.

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

Definition at line 11575 of file ripper.y.

ID rb_intern_str ( VALUE  str)

Definition at line 11719 of file ripper.y.

int rb_is_class_id ( ID  id)

Definition at line 11844 of file ripper.y.

int rb_is_const_id ( ID  id)

Definition at line 11838 of file ripper.y.

int rb_is_instance_id ( ID  id)

Definition at line 11850 of file ripper.y.

int rb_is_junk_id ( ID  id)

Definition at line 11862 of file ripper.y.

int rb_is_local_id ( ID  id)

Definition at line 11856 of file ripper.y.

NODE* rb_parser_append_print ( VALUE  vparser,
NODE node 
)

Definition at line 11260 of file ripper.y.

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

Definition at line 12107 of file ripper.y.

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

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

Definition at line 7126 of file ripper.y.

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

Definition at line 7147 of file ripper.y.

References ISDIGIT, and tUMINUS_NUM.

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

Definition at line 7112 of file ripper.y.

References ISDIGIT.

VALUE rb_parser_encoding ( VALUE  vparser)

Definition at line 12051 of file ripper.y.

VALUE rb_parser_end_seen_p ( VALUE  vparser)

Definition at line 12036 of file ripper.y.

void rb_parser_free ( struct parser_params parser,
void *  ptr 
)

Definition at line 12137 of file ripper.y.

References parser_params::heap, RNode::node, NULL, prev, rb_gc_force_recycle(), RNode::u2, and xfree().

VALUE rb_parser_get_yydebug ( VALUE  self)

Definition at line 12066 of file ripper.y.

void* rb_parser_malloc ( struct parser_params parser,
size_t  size 
)

Definition at line 12097 of file ripper.y.

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

VALUE rb_parser_new ( void  )

Definition at line 12022 of file ripper.y.

void* rb_parser_realloc ( struct parser_params parser,
void *  ptr,
size_t  size 
)
VALUE rb_parser_set_yydebug ( VALUE  self,
VALUE  flag 
)

Definition at line 12081 of file ripper.y.

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

Definition at line 11292 of file ripper.y.

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

Definition at line 12005 of file ripper.y.

VALUE rb_sym_all_symbols ( void  )

Definition at line 11829 of file ripper.y.

int rb_symname_p ( const char *  name)

Definition at line 11470 of file ripper.y.

static void reduce_nodes_gen ( struct parser_params parser,
NODE **  body 
) [static]

Definition at line 10528 of file ripper.y.

References ID2SYM, name, rb_bug(), rb_id2name(), rb_intern, rb_intern2(), tANDOP, and tOROP.

static VALUE reg_compile_gen ( struct parser_params parser,
VALUE  str,
int  options 
) [static]

Definition at line 11231 of file ripper.y.

static int reg_fragment_check_gen ( struct parser_params parser,
VALUE  str,
int  options 
) [static]

Definition at line 11136 of file ripper.y.

static void reg_fragment_setenc_gen ( struct parser_params parser,
VALUE  str,
int  options 
) [static]

Definition at line 11097 of file ripper.y.

static NODE* reg_named_capture_assign_gen ( struct parser_params parser,
VALUE  regexp,
NODE match 
) [static]

Definition at line 11199 of file ripper.y.

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]

Definition at line 11159 of file ripper.y.

static ID register_symid ( ID  id,
const char *  name,
long  len,
rb_encoding enc 
) [static]

Definition at line 11565 of file ripper.y.

static NODE* remove_begin ( NODE node) [static]

Definition at line 10518 of file ripper.y.

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

Definition at line 10797 of file ripper.y.

References rb_eArgError, and rb_raise().

block_command ripper_id2sym ( '.'  )

Referenced by yyparse().

expr ripper_intern ( "and"  )

Referenced by yyparse().

numeric ripper_intern ( "-@"  )
static void set_file_encoding ( struct parser_params parser,
const char *  str,
const char *  send 
) [static]

Definition at line 8330 of file ripper.y.

References assignable_result, and yyerror.

static ID shadowing_lvar_gen ( struct parser_params parser,
ID  name 
) [static]

Definition at line 10188 of file ripper.y.

References vtable::capa, and local_vars::vars.

static NODE* splat_array ( NODE node) [static]

Definition at line 10314 of file ripper.y.

References ADD2HEAP, HEAPCNT, NEWHEAP, and xmalloc.

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

Definition at line 11806 of file ripper.y.

Referenced by gettable_gen().

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

Definition at line 6797 of file ripper.y.

References EXPR_ARG, and lex_state.

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

Definition at line 6811 of file ripper.y.

static void token_info_pop ( struct parser_params parser,
const char *  token 
) [static]

Definition at line 6841 of file ripper.y.

static void token_info_push ( struct parser_params parser,
const char *  token 
) [static]

Definition at line 6824 of file ripper.y.

References compile_error, FALSE, ISSPACE, lex_goto_eol, lex_p, lex_pend, nextc, PARSER_ARG, and tEMBDOC.

static int value_expr_gen ( struct parser_params parser,
NODE node 
) [static]
static void void_expr_gen ( struct parser_params parser,
NODE node 
) [static]

Definition at line 10415 of file ripper.y.

References rb_funcall().

static void void_stmts_gen ( struct parser_params parser,
NODE node 
) [static]

Definition at line 10504 of file ripper.y.

References modifier_rescue.

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

Definition at line 10934 of file ripper.y.

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

Definition at line 10630 of file ripper.y.

static void warn_unused_var ( struct parser_params parser,
struct local_vars local 
) [static]

Definition at line 10886 of file ripper.y.

static void warning_unless_e_option ( struct parser_params parser,
NODE node,
const char *  str 
) [static]

Definition at line 10636 of file ripper.y.

static NODE* yycompile ( struct parser_params parser,
const char *  f,
int  line 
) [static]

Definition at line 7023 of file ripper.y.

static VALUE yycompile0 ( VALUE  arg,
int  tracing 
) [static]

Definition at line 6975 of file ripper.y.

yylex ( void *  p)

Definition at line 9712 of file ripper.y.


Variable Documentation

top_compstmt __pad0__

Definition at line 2595 of file ripper.y.

opt_terms __pad100__

Definition at line 6621 of file ripper.y.

opt_nl __pad101__

Definition at line 6636 of file ripper.y.

rparen __pad102__

Definition at line 6639 of file ripper.y.

rbracket __pad103__

Definition at line 6642 of file ripper.y.

trailer __pad104__

Definition at line 6646 of file ripper.y.

terms __pad105__

Definition at line 6651 of file ripper.y.

Definition at line 6655 of file ripper.y.

command_call __pad10__

Definition at line 3079 of file ripper.y.

block_command __pad11__

Definition at line 3091 of file ripper.y.

cmd_brace_block __pad12__ = method_arg($$, $4)

Definition at line 3092 of file ripper.y.

command __pad13__

Definition at line 3126 of file ripper.y.

mlhs __pad14__

Definition at line 3126 of file ripper.y.

mlhs_item __pad15__

Definition at line 3341 of file ripper.y.

Definition at line 3341 of file ripper.y.

mlhs_node __pad17__

Definition at line 3341 of file ripper.y.

Definition at line 3341 of file ripper.y.

cname __pad19__ = dispatch1(var_field, $$)

Definition at line 3470 of file ripper.y.

top_stmts __pad1__

Definition at line 2606 of file ripper.y.

cpath __pad20__

Definition at line 3567 of file ripper.y.

fname __pad21__

Definition at line 3567 of file ripper.y.

fsym __pad22__ = $1

Definition at line 3594 of file ripper.y.

fitem __pad23__

Definition at line 3616 of file ripper.y.

Definition at line 3627 of file ripper.y.

Definition at line 3627 of file ripper.y.

reswords __pad26__

Definition at line 3669 of file ripper.y.

arg __pad27__

Definition at line 3691 of file ripper.y.

arg_value __pad28__

Definition at line 4172 of file ripper.y.

aref_args __pad29__

Definition at line 4175 of file ripper.y.

top_stmt __pad2__

Definition at line 2637 of file ripper.y.

paren_args __pad30__

Definition at line 4182 of file ripper.y.

opt_paren_args __pad31__

Definition at line 4208 of file ripper.y.

opt_call_args __pad32__

Definition at line 4216 of file ripper.y.

call_args __pad33__

Definition at line 4216 of file ripper.y.

command_args __pad34__

Definition at line 4216 of file ripper.y.

block_arg __pad35__

Definition at line 4293 of file ripper.y.

opt_block_arg __pad36__

Definition at line 4303 of file ripper.y.

Definition at line 4303 of file ripper.y.

mrhs __pad38__

Definition at line 4303 of file ripper.y.

primary __pad39__

Definition at line 4303 of file ripper.y.

bodystmt __pad3__

Definition at line 2662 of file ripper.y.

primary_value __pad40__

Definition at line 4853 of file ripper.y.

k_begin __pad41__

Definition at line 4865 of file ripper.y.

k_if __pad42__

Definition at line 4871 of file ripper.y.

k_unless __pad43__

Definition at line 4877 of file ripper.y.

k_while __pad44__

Definition at line 4883 of file ripper.y.

k_until __pad45__

Definition at line 4889 of file ripper.y.

k_case __pad46__

Definition at line 4895 of file ripper.y.

k_for __pad47__

Definition at line 4901 of file ripper.y.

k_class __pad48__

Definition at line 4907 of file ripper.y.

k_module __pad49__

Definition at line 4913 of file ripper.y.

compstmt __pad4__

Definition at line 2695 of file ripper.y.

k_def __pad50__

Definition at line 4919 of file ripper.y.

Definition at line 4929 of file ripper.y.

then __pad52__

Definition at line 4935 of file ripper.y.

Definition at line 4948 of file ripper.y.

if_tail __pad54__

Definition at line 4967 of file ripper.y.

opt_else __pad55__

Definition at line 4970 of file ripper.y.

f_marg __pad56__

Definition at line 4989 of file ripper.y.

f_marg_list __pad57__ = dispatch1(mlhs_paren, $$)

Definition at line 4992 of file ripper.y.

f_margs __pad58__

Definition at line 4992 of file ripper.y.

block_param __pad59__

Definition at line 5031 of file ripper.y.

stmts __pad5__

Definition at line 2706 of file ripper.y.

opt_block_param __pad60__

Definition at line 5031 of file ripper.y.

block_param_def __pad61__

Definition at line 5232 of file ripper.y.

opt_bv_decl __pad62__

Definition at line 5260 of file ripper.y.

Definition at line 5272 of file ripper.y.

Definition at line 5272 of file ripper.y.

lambda __pad65__ = get_value($1)

Definition at line 5295 of file ripper.y.

f_larglist __pad66__

Definition at line 5323 of file ripper.y.

lambda_body __pad67__

Definition at line 5323 of file ripper.y.

do_block __pad68__

Definition at line 5351 of file ripper.y.

block_call __pad69__

Definition at line 5372 of file ripper.y.

stmt __pad6__

Definition at line 2737 of file ripper.y.

method_call __pad70__

Definition at line 5372 of file ripper.y.

brace_block __pad71__

Definition at line 5372 of file ripper.y.

case_body __pad72__

Definition at line 5537 of file ripper.y.

Definition at line 5549 of file ripper.y.

opt_rescue __pad74__

Definition at line 5567 of file ripper.y.

exc_list __pad75__

Definition at line 5582 of file ripper.y.

exc_var __pad76__

Definition at line 5582 of file ripper.y.

opt_ensure __pad77__

Definition at line 5608 of file ripper.y.

literal __pad78__

Definition at line 5620 of file ripper.y.

strings __pad79__

Definition at line 5638 of file ripper.y.

command_asgn __pad7__

Definition at line 3010 of file ripper.y.

string __pad80__

Definition at line 5641 of file ripper.y.

word_list __pad81__ = dispatch1(array, $$)

Definition at line 5763 of file ripper.y.

word __pad82__

Definition at line 5792 of file ripper.y.

qwords __pad83__ = dispatch2(word_add, $$, $1)

Definition at line 5799 of file ripper.y.

qword_list __pad84__ = dispatch1(array, $$)

Definition at line 5818 of file ripper.y.

string_contents __pad85__

Definition at line 5847 of file ripper.y.

xstring_contents __pad86__

Definition at line 5865 of file ripper.y.

regexp_contents __pad87__

Definition at line 5883 of file ripper.y.

string_content __pad88__

Definition at line 5920 of file ripper.y.

string_dvar __pad89__

Definition at line 5963 of file ripper.y.

expr __pad8__

Definition at line 3039 of file ripper.y.

symbol __pad90__

Definition at line 5963 of file ripper.y.

sym __pad91__ = dispatch1(symbol, $2)

Definition at line 5998 of file ripper.y.

Definition at line 6011 of file ripper.y.

numeric __pad93__ = dispatch1(dyna_symbol, $2)

Definition at line 6034 of file ripper.y.

user_variable __pad94__

Definition at line 6046 of file ripper.y.

keyword_variable __pad95__

Definition at line 6066 of file ripper.y.

var_ref __pad96__

Definition at line 6073 of file ripper.y.

var_lhs __pad97__

Definition at line 6073 of file ripper.y.

backref __pad98__ = dispatch1(var_field, $$)

Definition at line 6103 of file ripper.y.

superclass __pad99__

Definition at line 6125 of file ripper.y.

expr_value __pad9__

Definition at line 3039 of file ripper.y.

Definition at line 4182 of file ripper.y.

Referenced by ary2sv(), ary_join_1(), assoc_i(), bind_eval(), bmcall(), check_funcall(), chown_internal(), console_dev(), copy_stream_body(), create_ip_exc(), cState_generate(), date_strftime_with_tmx(), deflate_run(), dvar_defined_gen(), enc_names(), enum_drop(), enum_drop_while(), enum_each_cons(), enum_each_slice(), enum_take(), enum_zip(), ev_on_event(), EVENTSINK_Invoke(), GetVpValueWithPrec(), glob_func_caller(), hash2kv(), hash2kv_enc(), iconv_fail(), inflate_run(), initialize(), int_ossl_asn1_decode0_cons(), int_ossl_asn1_decode0_prim(), interrupt_init(), ip_ruby_cmd(), iseq_compile_each(), iseq_data_to_ary(), iseq_load(), key_i(), local_id_gen(), make_curry_proc(), mark(), name_err_mesg_to_str(), next_ii(), nometh_err_initialize(), objspace_each_objects(), ole_raise(), onig_snprintf_with_pattern(), onig_syntax_warn(), open_key_args(), ossl_debug(), ossl_exc_new(), ossl_raise(), ossl_tmp_dh_callback(), ossl_x509name_initialize(), parse(), path_binread(), path_each_entry(), path_each_line(), path_open(), path_opendir(), path_read(), path_readlines(), path_s_glob(), path_sysopen(), pipe_open(), process_sflag(), protected_alias(), protected_end_document(), protected_scalar(), protected_start_document(), protected_start_mapping(), protected_start_sequence(), protected_start_stream(), raise_method_missing(), range_each(), range_init(), range_step(), rassoc_i(), rb_bug(), rb_compile_bug(), rb_compile_error(), rb_compile_error_append(), rb_compile_error_with_enc(), rb_compile_warn(), rb_compile_warning(), rb_deflate_s_deflate(), rb_fatal(), rb_fiber_start(), rb_glob_caller(), rb_hash_assoc(), rb_hash_key(), rb_hash_rassoc(), rb_inflate_s_inflate(), rb_io_s_pipe(), rb_iseq_parameters(), rb_loaderror(), rb_name_error(), rb_obj_methods(), rb_proc_exec_n(), rb_raise(), rb_reg_s_union(), rb_rescue2(), rb_str_upto(), rb_strftime_with_timespec(), rb_struct_new(), rb_sys_warning(), rb_warn(), rb_warning(), rb_yield_values(), run_finalizer(), run_single_final(), take_items(), thread_create_core(), warn_printf(), yyparse(), zip_ary(), and zip_i().

Definition at line 5272 of file ripper.y.

literal dsym

Definition at line 3616 of file ripper.y.

block_param f_block_optarg

Definition at line 5031 of file ripper.y.

f_margs f_marg_list

Definition at line 4992 of file ripper.y.

opt_else for_var

Definition at line 4970 of file ripper.y.

struct symbols global_symbols [static]

Referenced by block_append_gen(), and gettable_gen().

keyword_do_cond

Definition at line 4956 of file ripper.y.

lex_state = EXPR_BEG

Definition at line 5927 of file ripper.y.

Definition at line 5926 of file ripper.y.

arg lhs
Initial value:
' command_asgn
                    {




                        $$ = dispatch2(assign, $1, $3);

                    }

Definition at line 3021 of file ripper.y.

Referenced by formal_argument_gen(), and node_assign_gen().

struct magic_comment magic_comments[] [static]
Initial value:

Definition at line 8196 of file ripper.y.

mlhs mlhs_basic

Definition at line 3126 of file ripper.y.

mlhs_item mlhs_head

Definition at line 3341 of file ripper.y.

mlhs mlhs_inner

Definition at line 3126 of file ripper.y.

Definition at line 3341 of file ripper.y.

const char* name

Definition at line 11334 of file ripper.y.

opt_ensure none

Definition at line 5575 of file ripper.y.

Referenced by enum_none().

struct { ... } op_tbl[] [static]

Referenced by list_append_gen().

static const rb_data_type_t parser_data_type [static]
Initial value:
 {
    "parser",
    {
        parser_mark,
        parser_free,
        parser_memsize,
    },
}

Definition at line 7082 of file ripper.y.

block_param_def Qnil

Definition at line 5232 of file ripper.y.

Referenced by _thread_call_proc_ensure(), addrinfo_firstonly_new(), addrinfo_initialize(), addrinfo_list_new(), addrinfo_mload(), addrinfo_s_ip(), alloc_addrinfo(), append_fspath(), argf_alloc(), argf_close(), argf_forward_call(), argf_getbyte(), argf_getc(), argf_getline(), argf_getpartial(), argf_init(), argf_inplace_mode_get(), argf_next_argv(), argf_read(), argf_set_lineno(), ary2list(), ary2list2(), ary2sv(), ary_new_dim(), ary_reject_bang(), asn1time_to_time(), BigDecimal_IsInfinite(), BigDecimal_limit(), BigDecimal_mode(), BigDecimal_nonzero(), BigDecimal_save_exception_mode(), BigDecimal_save_limit(), BigDecimal_save_rounding_mode(), BigDecimalCmp(), bigdivrem(), bigdivrem1(), bigmul1_toom3(), bind_eval(), bsock_close_read(), bsock_close_write(), bsock_shutdown(), bug_start(), call_trace_proc(), caller_setup_args(), cbsubst_scan_args(), chdir_restore(), chdir_yield(), check_block(), check_env_value(), check_exec_redirect(), check_pipe_command(), check_shiftdown(), chunk_i(), chunk_ii(), classname(), clear_coverage_i(), code_page(), coerce_rescue(), collect_all(), collect_i(), console_dev(), cont_capture(), convert_type(), copy_stream_body(), copy_stream_fallback(), copy_stream_fallback_body(), copy_stream_finalize(), count_all_i(), count_i(), count_iter_i(), count_nodes(), count_objects(), count_objects_size(), count_tdata_objects(), coverage(), cParser_initialize(), cParser_parse_quirks_mode(), cParser_parse_strict(), create_dummy_encoding_for_tk_core(), cState_aref(), cState_array_nl_set(), cState_indent_set(), cState_object_nl_set(), cState_quirks_mode_set(), cState_space_before_set(), cState_space_set(), curses_addch(), curses_addstr(), curses_beep(), curses_bkgdset(), curses_cbreak(), curses_clear(), curses_close_screen(), curses_clrtoeol(), curses_curs_set(), curses_delch(), curses_deleteln(), curses_doupdate(), curses_echo(), curses_flash(), curses_getch(), curses_insch(), curses_insertln(), curses_keyname(), curses_nl(), curses_nocbreak(), curses_noecho(), curses_nonl(), curses_noraw(), curses_raw(), curses_refresh(), curses_resizeterm(), curses_setpos(), curses_standend(), curses_standout(), cycle_i(), date__parse(), date__strptime(), date__strptime_internal(), date_s__strptime_internal(), date_zone_to_diff(), decode_null(), DEFINE_ENUMFUNCS(), dir_close(), dir_foreach(), dir_initialize(), dir_path(), dir_read(), dir_s_alloc(), dir_s_chdir(), dir_s_glob(), do_writeconv(), drop_i(), drop_while_i(), each_cons_i(), each_i(), each_slice_i(), each_val_i(), econv_args(), econv_convert(), econv_destination_encoding(), econv_equal(), econv_finish(), econv_init(), econv_insert_output(), econv_last_error(), econv_primitive_convert(), econv_primitive_errinfo(), econv_s_asciicompat_encoding(), econv_s_search_convpath(), econv_source_encoding(), enc_compatible_p(), encoding_table_get_name_core(), encoding_table_get_obj_core(), enum_cycle(), enum_each_cons(), enum_each_slice(), enum_find(), enum_find_index(), enum_first(), enum_inject(), enum_max(), enum_max_by(), enum_min(), enum_min_by(), enum_minmax(), enum_minmax_by(), enum_sort_by(), enum_values_pack(), enum_zip(), enumerator_feed(), enumerator_init(), enumerator_rewind(), env_aset(), env_assoc(), env_delete(), env_has_value(), env_key(), env_none(), env_rassoc(), env_reject_bang(), env_replace_i(), env_select_bang(), env_shift(), env_str_new2(), env_update_i(), env_values_at(), errat_getter(), error_print(), esignal_init(), establishShell(), etc_endgrent(), etc_endpwent(), etc_getgrent(), etc_getgrgid(), etc_getgrnam(), etc_getlogin(), etc_getpwent(), etc_getpwnam(), etc_getpwuid(), etc_group(), etc_passwd(), etc_setgrent(), etc_setpwent(), etc_systmpdir(), ev_on_event(), eval_string_with_cref(), eval_under(), eventloop_sleep(), EVENTSINK_Invoke(), evs_delete(), evstr2dstr_gen(), exc_initialize(), exc_to_s(), expand_include_path(), extract_beg_len(), extract_range(), fdbm_aref(), fdbm_close(), fdbm_delete(), fdbm_fetch(), fdbm_initialize(), fdbm_key(), fdbm_s_open(), fdbm_shift(), fdbm_values_at(), fev_initialize(), fev_off_event(), fev_s_msg_loop(), fev_unadvise(), fgdbm_close(), fgdbm_delete(), fgdbm_fetch(), fgdbm_initialize(), fgdbm_key(), fgdbm_s_open(), fgdbm_shift(), fiber_init(), fiber_t_alloc(), file_expand_path_1(), filename_completion_proc_call(), find_all_i(), find_class_path(), find_i(), find_index_i(), find_index_iter_i(), finish_writeconv(), first_i(), fix_string_encoding(), flat_map_i(), flo_cmp(), flo_is_infinite_p(), fole_activex_initialize(), fole_each(), fole_free(), fole_method_help(), fole_s_const_load(), fole_s_ole_initialize(), fole_s_ole_uninitialize(), fole_s_set_code_page(), fole_s_set_locale(), fole_s_show_help(), fole_type(), fole_typelib(), folemethod_event_interface(), folemethod_initialize(), foleparam_inspect(), foletype_initialize(), foletype_s_progids(), foletypelib_guid(), foletypelib_initialize(), foletypelib_library_name(), foletypelib_s_typelibs(), folevariant_ary_aref(), folevariant_s_array(), folevariant_set_value(), folevariant_value(), fptr_finalize(), fsdbm_aref(), fsdbm_close(), fsdbm_delete(), fsdbm_fetch(), fsdbm_initialize(), fsdbm_key(), fsdbm_s_open(), fsdbm_shift(), fsdbm_store(), fsdbm_values_at(), gc_profile_clear(), gc_profile_disable(), gc_profile_enable(), gc_profile_record_get(), gc_profile_report(), gc_stat(), generate_json(), generic_ivar_get(), generic_to_value(), get_backtrace(), get_eval_string_core(), get_iconv_opt_i(), get_next_values(), get_stack_tail(), getch_func(), getstr_func(), glob_func_caller(), grep_i(), grep_iter_i(), group_by_i(), gzfile_close(), gzfile_ensure_close(), gzfile_getc(), gzfile_new(), gzfile_read(), gzfile_read_header(), gzfile_read_raw_rescue(), gzfile_reader_end_run(), gzfile_reader_get_unused(), gzfile_writer_end_run(), gzreader_gets(), hash2list(), hash2list_enc(), hash2named_arg(), hash2ptr_dispparams(), hash2result(), hash_alloc(), hash_foreach_call(), hist_pop(), hist_shift(), httpdate_type1(), httpdate_type1_cb(), httpdate_type2(), httpdate_type2_cb(), httpdate_type3(), httpdate_type3_cb(), iconv_conv(), iconv_convert(), iconv_create(), iconv_finish(), iconv_free(), iconv_init_state(), iconv_s_convert(), iconv_try(), id2ref(), inetsock_cleanup(), init_addrinfo_getaddrinfo(), init_ext_call(), Init_File(), Init_generator(), Init_IO(), Init_nkf(), Init_Object(), Init_String(), Init_tcltklib(), Init_VM(), Init_win32ole(), initialize_params(), inject_i(), inject_op_i(), insn_data_to_s_detail(), int_ossl_asn1_decode0_cons(), int_ossl_asn1_decode0_prim(), invoke_block_from_c(), invoke_tcl_proc(), io_encoding_set(), io_getc(), io_getpartial(), io_puts_ary(), io_read(), io_ready_p(), io_reopen(), io_s_foreach(), io_s_write(), io_set_encoding_by_bom(), io_shift_cbuf(), io_wait(), ip_cancel_eval(), ip_cancel_eval_unwind(), ip_delete(), ip_eval(), ip_finalize(), ip_fromUTF8(), ip_get_encoding_table(), ip_get_variable(), ip_has_mainwindow_p_core(), ip_invoke_with_position(), ip_mainloop(), ip_mainloop_watchdog(), ip_rbTkWaitCommand(), ip_rbVwaitCommand(), ip_restart(), ip_ruby_cmd_receiver_const_get(), ip_ruby_cmd_receiver_get(), ip_s_getaddress(), ip_set_variable(), ip_toUTF8(), ip_unset_variable(), iseq_build_from_ary_body(), iseq_build_from_ary_exception(), iseq_data_to_ary(), iseq_load(), iseq_location(), iseq_s_compile(), iseq_s_compile_file(), iseq_s_disasm(), iseq_s_load(), iso8601_bas_datetime(), iso8601_bas_datetime_cb(), iso8601_bas_time(), iso8601_ext_datetime(), iso8601_ext_datetime_cb(), iso8601_ext_time(), iso8601_ext_time_cb(), ivar_get(), jisx0301(), jisx0301_cb(), join_der_i(), JSON_parse_array(), JSON_parse_object(), JSON_parse_value(), json_string_unescape(), kcode_getter(), lazy_sweep_enable(), lex_get_str(), lex_getline(), lexer_i(), lexer_iter(), lfp_svar_get(), lfp_svar_place(), lfp_svar_set(), lib_eventloop_core(), lib_eventloop_ensure(), lib_eventloop_main(), lib_evloop_abort_on_exc(), lib_evloop_thread_p(), lib_fromUTF8(), lib_get_system_encoding(), lib_mainloop_watchdog(), lib_set_system_encoding(), lib_split_tklist(), lib_thread_callback(), lib_toUTF8(), lib_watchdog_core(), lib_watchdog_ensure(), literal_concat_gen(), load_encoding(), load_file_internal(), loop_i(), m_core_define_method(), m_core_define_singleton_method(), m_core_set_method_alias(), m_core_set_postexe(), m_core_set_variable_alias(), m_core_undef_method(), make_compile_option(), make_econv_exception(), make_errno_exc_str(), make_exception(), make_inspectname(), make_passing_arg(), make_version_str(), make_writeconv(), marshal_dump(), match_array(), match_begin(), match_end(), match_getter(), match_inspect(), match_offset(), max_by_i(), max_i(), max_ii(), member_i(), min_by_i(), min_i(), min_ii(), minmax_by_i(), minmax_i(), minmax_ii(), mk_ary_of_str(), mlambda(), mproc(), mSyslog_close(), mSyslog_facility(), mSyslog_get_mask(), mSyslog_ident(), mSyslog_options(), name_err_initialize(), name_err_mesg_to_str(), next_i(), next_ii(), nogvl_copy_stream_func(), nometh_err_initialize(), nucomp_coerce(), num_cmp(), num_init_copy(), num_nonzero_p(), num_sadded(), numhash_aref(), nurat_coerce(), objspace_each_objects(), ole_ary_m_entry(), ole_each_sub(), ole_hresult2msg(), ole_ienum_free(), ole_invoke2(), ole_method_dispid(), ole_method_helpcontext(), ole_method_helpfile(), ole_method_helpstring(), ole_method_offset_vtbl(), ole_method_return_type(), ole_method_size_opt_params(), ole_method_size_params(), ole_method_sub(), ole_ole_type(), ole_param_default(), ole_param_ole_type(), ole_propertyput(), ole_raise(), ole_search_event(), ole_search_event_at(), ole_search_handler_method(), ole_type_from_itypeinfo(), ole_type_guid(), ole_type_helpcontext(), ole_type_helpfile(), ole_type_helpstring(), ole_type_impl_ole_types(), ole_type_progid(), ole_type_src_type(), ole_typedesc2val(), ole_typelib_from_itypeinfo(), ole_usertype2val(), ole_val2olevariantdata(), ole_val2variant_ex(), ole_variable_ole_type(), ole_variable_value(), ole_variable_varkind(), ole_variant2val(), olemethod_from_typeinfo(), oletypelib_from_guid(), oletypelib_path(), oletypelib_search_registry(), oletypelib_search_registry2(), open_key_args(), opt_W_getter(), ossl_asn1_default_tag(), ossl_asn1_initialize(), ossl_asn1_traverse(), ossl_asn1cons_to_der(), ossl_asn1eoc_initialize(), ossl_asn1obj_get_ln(), ossl_asn1obj_get_sn(), ossl_call_session_get_cb(), ossl_call_session_new_cb(), ossl_call_session_remove_cb(), ossl_cipher_pkcs5_keyivgen(), ossl_pkcs12_initialize(), ossl_pkcs7_add_data(), ossl_pkcs7_get_type(), ossl_pkcs7_initialize(), ossl_pkcs7_s_read_smime(), ossl_pkcs7_s_sign(), ossl_pkcs7_sym2typeid(), ossl_pkcs7_verify(), ossl_pkcs7si_get_signed_time(), ossl_pkey_new(), ossl_pkey_verify(), ossl_spki_verify(), ossl_ssl_close(), ossl_ssl_get_cert(), ossl_ssl_get_cipher(), ossl_ssl_get_client_ca_list(), ossl_ssl_get_peer_cert(), ossl_ssl_get_peer_cert_chain(), ossl_ssl_get_state(), ossl_ssl_get_verify_result(), ossl_ssl_initialize(), ossl_ssl_pending(), ossl_ssl_session_get_time(), ossl_ssl_session_reused(), ossl_ssl_set_session(), ossl_sslctx_get_ciphers(), ossl_sslctx_initialize(), ossl_sslctx_set_ciphers(), ossl_sslctx_setup(), ossl_start_ssl(), ossl_x509attr_get_value(), ossl_x509extfactory_alloc(), ossl_x509name_init_i(), ossl_x509stctx_get_chain(), ossl_x509stctx_get_curr_crl(), ossl_x509store_add_file(), ossl_x509store_add_path(), ossl_x509store_initialize(), ossl_x509store_set_default_paths(), p_gid_switch(), p_uid_switch(), pack_unpack(), parse(), parse_bc(), parse_day(), parse_ddd(), parse_dot(), parse_eu(), parse_frag(), parse_iso(), parse_iso21(), parse_iso22(), parse_iso23(), parse_iso24(), parse_iso25(), parse_iso26(), parse_jis(), parse_main(), parse_mday(), parse_mode_enc(), parse_mon(), parse_sla(), parse_time(), parse_time_cb(), parse_us(), parse_vms11(), parse_vms12(), parse_year(), parser_initialize(), partition_i(), path_cmp(), pending_exception_check0(), pending_exception_check1(), pipe_open(), power_cache_init(), prelude_eval(), prepare_getline_args(), prepare_iseq_build(), proc_binding(), proc_new(), proc_options(), proc_wait(), proc_wait2(), process_options(), pst_success_p(), pst_wexitstatus(), pst_wstopsig(), pst_wtermsig(), pty_check(), pty_close_pty(), pty_detach_process(), pty_getpty(), push_kv(), r_object(), r_object0(), racc_cparse(), racc_yyparse(), rand_int(), rand_range(), random_rand(), range_failed(), range_initialize(), range_max(), range_min(), rb_ary_aref(), rb_ary_assoc(), rb_ary_cmp(), rb_ary_compact_bang(), rb_ary_cycle(), rb_ary_delete(), rb_ary_delete_at(), rb_ary_drop(), rb_ary_elt(), rb_ary_first(), rb_ary_flatten_bang(), rb_ary_index(), rb_ary_last(), rb_ary_pop(), rb_ary_product(), rb_ary_rassoc(), rb_ary_rindex(), rb_ary_rotate(), rb_ary_sample(), rb_ary_select_bang(), rb_ary_shift(), rb_ary_slice_bang(), rb_ary_subseq(), rb_ary_uniq_bang(), rb_ary_zip(), rb_autoload_p(), rb_big_coerce(), rb_catch_obj(), rb_check_convert_type(), rb_check_to_float(), rb_check_to_integer(), rb_class_inherited_p(), rb_class_superclass(), rb_const_remove(), rb_cont_call(), rb_coverage_start(), rb_current_realfilepath(), rb_dbl_cmp(), rb_define_hooked_variable(), rb_deflate_init_copy(), rb_deflate_params(), rb_dl_free(), rb_dl_set_last_error(), rb_dlcfunc2ptr(), rb_dlcfunc_call(), rb_dlcfunc_initialize(), rb_dlcfunc_name(), rb_dlcfunc_new(), rb_dlcfunc_set_ptr(), rb_dlhandle_disable_close(), rb_dlhandle_enable_close(), rb_dlhandle_initialize(), rb_dlptr2cptr(), rb_dlptr_aref(), rb_dlptr_aset(), rb_dlptr_cmp(), rb_dlptr_free_set(), rb_dlptr_initialize(), rb_econv_has_convpath_p(), rb_econv_open_opts(), rb_econv_prepare_options(), rb_econv_str_convert(), rb_econv_substr_convert(), rb_enc_from_encoding(), rb_ensure(), rb_env_clear(), rb_eval_cmd(), rb_eval_string(), rb_exec_arg_init(), rb_f_abort(), rb_f_autoload_p(), rb_f_backquote(), rb_f_exec(), rb_f_exit(), rb_f_exit_bang(), rb_f_getenv(), rb_f_integer(), rb_f_loop(), rb_f_method_name(), rb_f_p(), rb_f_print(), rb_f_printf(), rb_f_raise(), rb_f_spawn(), rb_f_system(), rb_f_test(), rb_f_throw(), rb_f_trace_var(), rb_f_untrace_var(), rb_feature_provided(), rb_fiber_resume(), rb_fiber_start(), rb_file_chmod(), rb_file_chown(), rb_file_expand_path_internal(), rb_file_identical_p(), rb_file_lstat(), rb_file_open_generic(), rb_file_open_internal(), rb_file_path(), rb_file_s_absolute_path(), rb_file_s_expand_path(), rb_file_s_split(), rb_file_size_p(), rb_file_sticky_p(), rb_file_world_readable_p(), rb_file_world_writable_p(), rb_gc_start(), rb_gdbm_delete(), rb_gdbm_fetch(), rb_gdbm_firstkey(), rb_gdbm_nextkey(), rb_get_expanded_load_path(), rb_get_values_at(), rb_gets(), rb_gzreader_each_byte(), rb_gzreader_each_char(), rb_gzreader_initialize(), rb_gzreader_ungetbyte(), rb_gzreader_ungetc(), rb_gzwriter_initialize(), rb_hash_assoc(), rb_hash_default(), rb_hash_default_proc(), rb_hash_delete(), rb_hash_key(), rb_hash_lookup(), rb_hash_rassoc(), rb_hash_reject_bang(), rb_hash_s_create(), rb_hash_select_bang(), rb_hash_shift(), rb_home_dir(), rb_iconv_sys_fail(), rb_io_advise(), rb_io_ascii8bit_binmode(), rb_io_close(), rb_io_close_m(), rb_io_close_read(), rb_io_close_write(), rb_io_ext_int_to_encs(), rb_io_external_encoding(), rb_io_extract_encoding_option(), rb_io_extract_modeenc(), rb_io_fptr_finalize(), rb_io_getbyte(), rb_io_getline_1(), rb_io_getline_fast(), rb_io_internal_encoding(), rb_io_pid(), rb_io_print(), rb_io_printf(), rb_io_puts(), rb_io_reopen(), rb_io_s_binread(), rb_io_s_foreach(), rb_io_s_popen(), rb_io_s_read(), rb_io_s_readlines(), rb_io_set_write_io(), rb_io_ungetbyte(), rb_io_ungetc(), rb_iseq_compile(), rb_iseq_parameters(), rb_iterate(), rb_last_status_clear(), rb_load_internal(), rb_locale_charmap(), rb_marshal_define_compat(), rb_mem_clear(), rb_method_call(), rb_method_location(), rb_method_missing(), rb_mod_attr(), rb_mod_attr_accessor(), rb_mod_attr_reader(), rb_mod_attr_writer(), rb_mod_autoload(), rb_mod_cmp(), rb_mod_const_missing(), rb_mod_initialize(), rb_mod_remove_cvar(), rb_mutex_sleep(), rb_mutex_sleep_forever(), rb_mutex_wait_for(), rb_need_block(), rb_num_coerce_cmp(), rb_num_coerce_relop(), rb_obj_cmp(), rb_obj_display(), rb_obj_dummy(), rb_obj_instance_eval(), rb_obj_instance_exec(), rb_obj_match(), rb_obj_remove_instance_variable(), rb_objspace_each_objects(), rb_protect(), rb_range_beg_len(), rb_realpath_internal(), rb_reg_check_preprocess(), rb_reg_compile(), rb_reg_eqq(), rb_reg_initialize(), rb_reg_match(), rb_reg_match2(), rb_reg_match_last(), rb_reg_match_m(), rb_reg_match_post(), rb_reg_match_pre(), rb_reg_nth_defined(), rb_reg_nth_match(), rb_reg_prepare_re(), rb_reg_preprocess(), rb_reg_preprocess_dregexp(), rb_reg_s_last_match(), rb_reg_s_union(), rb_reg_search(), rb_remove_history(), rb_require_safe(), rb_rescue2(), rb_run_exec_options_err(), rb_scan_args(), rb_set_coverages(), rb_stat_blksize(), rb_stat_blocks(), rb_stat_cmp(), rb_stat_dev_major(), rb_stat_dev_minor(), rb_stat_init(), rb_stat_rdev(), rb_stat_rdev_major(), rb_stat_rdev_minor(), rb_stat_s(), rb_stat_wr(), rb_stat_ww(), rb_stdio_set_default_encoding(), rb_str_aref(), rb_str_capitalize_bang(), rb_str_casecmp(), rb_str_chomp_bang(), rb_str_chop_bang(), rb_str_cmp_m(), rb_str_conv_enc(), rb_str_delete_bang(), rb_str_downcase_bang(), rb_str_ellipsize(), rb_str_encode_ospath(), rb_str_getbyte(), rb_str_index_m(), rb_str_lstrip_bang(), rb_str_rindex_m(), rb_str_rstrip_bang(), rb_str_split_m(), rb_str_squeeze_bang(), rb_str_strip_bang(), rb_str_sub_bang(), rb_str_subpat(), rb_str_substr(), rb_str_swapcase_bang(), rb_str_upcase_bang(), rb_str_upto(), rb_strftime_alloc(), rb_strftime_timespec(), rb_struct_aref_id(), rb_struct_define(), rb_struct_getmember(), rb_struct_initialize_m(), rb_struct_s_def(), rb_struct_set(), rb_syck_load_handler(), rb_syserr_new(), rb_thread_backtrace(), rb_thread_current_status(), rb_thread_group(), rb_thread_local_aref(), rb_thread_local_aset(), rb_thread_status(), rb_thread_stop(), rb_thread_wakeup_alive(), rb_threadptr_raise(), rb_to_id(), rb_vm_call_cfunc(), rb_vm_jump_tag_but_local_jump(), rb_vm_make_jump_tag_but_local_jump(), rb_vm_set_finish_env(), rb_vmdebug_thread_dump_state(), rb_w32_conv_from_wchar(), rb_w32_special_folder(), rb_w32_write_console(), rb_warn_m(), rb_zstream_end(), rb_zstream_reset(), readline_readline(), recursive_join(), recursive_list_access(), reduce0(), reg_compile_gen(), reg_enum_key(), reg_fragment_check_gen(), reg_get_typelib_file_path(), reg_get_val(), reg_get_val2(), reg_match_pos(), reg_named_capture_assign_gen(), reg_named_capture_assign_iter(), reject_i(), remove_from_join_list(), rescue_callback(), return_fiber(), rfc2822(), rfc2822_cb(), rfc3339(), rfc3339_cb(), rsock_fd_socket_addrinfo(), rsock_freeaddrinfo(), rsock_ipaddr(), rsock_revlookup_flag(), rsock_s_recvfrom(), rsock_s_recvfrom_nonblock(), rt__valid_civil_p(), rt__valid_commercial_p(), rt__valid_date_frags_p(), rt__valid_ordinal_p(), rt__valid_weeknum_p(), rt_complete_frags(), ruby_finalize_1(), ruby_init_loadpath_safe(), run_finalizer(), run_single_final(), s3e(), save_env_i(), save_redirect_fd(), scan_once(), sdr(), search_convpath_i(), select_end(), select_internal(), set_max_block_time(), set_trace_func(), singleton_class_of(), slicebefore_i(), slicebefore_ii(), sock_s_gethostbyname(), sock_s_getnameinfo(), sort_by_i(), sort_reentered(), step_i(), str_byte_aref(), str_byte_substr(), str_gsub(), str_transcode(), str_transcode0(), string_to_c_internal(), string_to_r_internal(), strio_alloc(), strio_close(), strio_close_read(), strio_close_write(), strio_finalize(), strio_getbyte(), strio_getc(), strio_getline(), strio_internal_encoding(), strio_nil(), strio_read(), strio_ungetbyte(), strio_ungetc(), strio_unimpl(), strscan_aref(), strscan_bol_p(), strscan_do_scan(), strscan_get_byte(), strscan_getch(), strscan_matched(), strscan_matched_size(), strscan_post_match(), strscan_pre_match(), strscan_s_allocate(), struct_ivar_get(), syck_const_find(), syck_emitter_reset(), syck_genericresolver_node_import(), syck_merge_i(), syck_out_map(), syck_out_seq(), syck_parser_initialize(), syck_parser_load_documents(), syck_parser_s_alloc(), syck_resolver_add_type(), syck_resolver_node_import(), syck_resolver_transfer(), syck_resolver_use_types_at(), syck_set_ivars(), sym_casecmp(), sym_cmp(), sym_each_i(), sym_step_i(), sym_to_proc(), sys_warning_1(), syserr_initialize(), take_i(), take_while_i(), tcl2rb_bool(), tcl2rb_num_or_nil(), tcl_protect_core(), tcltkip_init_tk(), tcp_s_gethostbyname(), tcp_svr_init(), th_init(), thgroup_add(), thread_join(), thread_raise_m(), thread_s_pass(), thread_set_trace_func_m(), thread_start_func_2(), thread_suppress_tracing(), time_arg(), time_cmp(), time_init_1(), time_mload(), time_zone(), tk_funcall(), tk_get_eval_string(), tk_hash_kv(), tk_uninstall_cmd(), tkstr_invalid_numstr(), tr_trans(), trace_en(), trace_ev(), transcode_loop(), trap(), ttymode(), typelib_file(), typelib_file_from_clsid(), typelib_file_from_typelib(), undef_getter(), update_coverage(), update_i(), username_completion_proc_call(), valid_civil_sub(), valid_commercial_sub(), valid_ordinal_sub(), var_getter(), vm_backtrace(), vm_backtrace_each(), vm_call0(), vm_callee_setup_arg_complex(), vm_exec(), vm_expandarray(), vm_get_cref0(), vm_get_ev_const(), vm_getivar(), vm_invoke_block(), vm_iter_break(), vm_push_frame(), vm_setup_method(), vm_yield_setup_block_args(), vm_yield_setup_block_args_complex(), vm_yield_with_cfunc(), w_object(), warn_deprecated(), wgetch_func(), wgetstr_func(), window_addch(), window_addstr(), window_bkgdset(), window_box(), window_clear(), window_close(), window_clrtoeol(), window_delch(), window_deleteln(), window_getbkgd(), window_getch(), window_idlok(), window_insch(), window_insertln(), window_move(), window_noutrefresh(), window_refresh(), window_resize(), window_scrollok(), window_setpos(), window_standend(), window_standout(), xmlschema_datetime(), xmlschema_datetime_cb(), xmlschema_time(), xmlschema_time_cb(), xmlschema_trunc(), xmlschema_trunc_cb(), yaml_org_handler(), yyparse(), zip_ary(), zip_i(), zstream_detach_buffer(), zstream_detach_input(), zstream_discard_input(), zstream_end(), zstream_init(), zstream_passthrough_input(), zstream_reset(), zstream_reset_input(), and zstream_run().

string regexp
string string1

Definition at line 5641 of file ripper.y.

struct st_hash_type symhash [static]
Initial value:

Definition at line 11375 of file ripper.y.

cname tCONSTANT

Definition at line 3470 of file ripper.y.

trailer term

Definition at line 11333 of file ripper.y.

Definition at line 3627 of file ripper.y.

string words

Definition at line 5641 of file ripper.y.

string xstring

Definition at line 5641 of file ripper.y.