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 "eventids1.c"
#include "eventids2.c"
#include "ruby/regex.h"
#include "ruby/util.h"
#include "lex.c"

Go to the source code of this file.

Data Structures

struct  kw_assoc
struct  ripper_args

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 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 remove_begin(node)   (node)
#define rb_dvar_defined(id)   0
#define rb_local_defined(id)   0
#define get_id(id)   ripper_get_id(id)
#define get_value(val)   ripper_get_value(val)
#define assignable(lhs, node)   assignable_gen(parser, (lhs))
#define id_is_var(id)   id_is_var_gen(parser, (id))
#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 RIPPER_VERSION   "0.1.0"
#define dispatch0(n)   ripper_dispatch0(parser, TOKEN_PASTE(ripper_id_, n))
#define dispatch1(n, a)   ripper_dispatch1(parser, TOKEN_PASTE(ripper_id_, n), (a))
#define dispatch2(n, a, b)   ripper_dispatch2(parser, TOKEN_PASTE(ripper_id_, n), (a), (b))
#define dispatch3(n, a, b, c)   ripper_dispatch3(parser, TOKEN_PASTE(ripper_id_, n), (a), (b), (c))
#define dispatch4(n, a, b, c, d)   ripper_dispatch4(parser, TOKEN_PASTE(ripper_id_, n), (a), (b), (c), (d))
#define dispatch5(n, a, b, c, d, e)   ripper_dispatch5(parser, TOKEN_PASTE(ripper_id_, n), (a), (b), (c), (d), (e))
#define yyparse   ripper_yyparse
#define ripper_intern(s)   ID2SYM(rb_intern(s))
#define arg_new()   dispatch0(args_new)
#define arg_add(l, a)   dispatch2(args_add, (l), (a))
#define arg_add_star(l, a)   dispatch2(args_add_star, (l), (a))
#define arg_add_block(l, b)   dispatch2(args_add_block, (l), (b))
#define arg_add_optblock(l, b)   ((b)==Qundef? (l) : dispatch2(args_add_block, (l), (b)))
#define bare_assoc(v)   dispatch1(bare_assoc_hash, (v))
#define arg_add_assocs(l, b)   arg_add((l), bare_assoc(b))
#define args2mrhs(a)   dispatch1(mrhs_new_from_args, (a))
#define mrhs_new()   dispatch0(mrhs_new)
#define mrhs_add(l, a)   dispatch2(mrhs_add, (l), (a))
#define mrhs_add_star(l, a)   dispatch2(mrhs_add_star, (l), (a))
#define mlhs_new()   dispatch0(mlhs_new)
#define mlhs_add(l, a)   dispatch2(mlhs_add, (l), (a))
#define mlhs_add_star(l, a)   dispatch2(mlhs_add_star, (l), (a))
#define params_new(pars, opts, rest, pars2, blk)   dispatch5(params, (pars), (opts), (rest), (pars2), (blk))
#define blockvar_new(p, v)   dispatch2(block_var, (p), (v))
#define blockvar_add_star(l, a)   dispatch2(block_var_add_star, (l), (a))
#define blockvar_add_block(l, a)   dispatch2(block_var_add_block, (l), (a))
#define method_optarg(m, a)   ((a)==Qundef ? (m) : dispatch2(method_add_arg,(m),(a)))
#define method_arg(m, a)   dispatch2(method_add_arg,(m),(a))
#define method_add_block(m, b)   dispatch2(method_add_block, (m), (b))
#define escape_Qundef(x)   ((x)==Qundef ? Qnil : (x))
#define FIXME   0
#define ifndef_ripper(x)
#define rb_warn0(fmt)   ripper_warn0(parser, (fmt))
#define rb_warnI(fmt, a)   ripper_warnI(parser, (fmt), (a))
#define rb_warnS(fmt, a)   ripper_warnS(parser, (fmt), (a))
#define rb_warning0(fmt)   ripper_warning0(parser, (fmt))
#define rb_warningS(fmt, a)   ripper_warningS(parser, (fmt), (a))
#define rb_compile_error   ripper_compile_error
#define compile_error   ripper_compile_error
#define PARSER_ARG   parser,
#define token_info_push(token)
#define token_info_pop(token)
#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)   (void)(x)
#define set_yylval_num(x)   (void)(x)
#define set_yylval_id(x)   (void)(x)
#define set_yylval_name(x)   (void)(yylval.val = ripper_yylval_id(x))
#define set_yylval_literal(x)   (void)(x)
#define set_yylval_node(x)   (void)(x)
#define yylval_id()   yylval.id
#define ripper_flush(p)   ((p)->tokp = (p)->parser_lex_p)
#define yylval_rval   (*(RB_TYPE_P(yylval.val, T_NODE) ? &yylval.node->nd_rval : &yylval.val))
#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()   ripper_dispatch_heredoc_end(parser)
#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)   dispatch2(operator_ambiguous, ripper_intern(op), rb_str_new_cstr(syn))
#define warn_balanced(op, syn)
#define no_digits()   do {yyerror("numeric literal without digits"); return 0;} while (0)
#define assignable_result(x)   get_value(lhs)
#define parser_yyerror(parser, x)   dispatch1(assign_error, lhs)
#define LVAR_USED   ((int)1 << (sizeof(int) * CHAR_BIT - 1))
#define parser_mark   ripper_parser_mark
#define parser_free   ripper_parser_free
#define validate(x)   ((x) = get_value(x))
#define ripper_initialized_p(r)   ((r)->parser_lex_input != 0)

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)
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 VALUE ripper_yylval_id (ID x)
static int ripper_has_scan_event (struct parser_params *parser)
static VALUE ripper_scan_event_val (struct parser_params *parser, int t)
static void ripper_dispatch_scan_event (struct parser_params *parser, int t)
static void ripper_dispatch_ignored_scan_event (struct parser_params *parser, int t)
static void ripper_dispatch_delayed_token (struct parser_params *parser, int t)
static int parser_yyerror (struct parser_params *parser, const char *msg)
static void parser_prepare (struct parser_params *parser)
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 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 ripper_dispatch_heredoc_end (struct parser_params *parser)
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 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)
static int yylex (void *lval, void *p)
static int id_is_var_gen (struct parser_params *parser, ID id)
static VALUE assignable_gen (struct parser_params *parser, VALUE lhs)
static ID shadowing_lvar_gen (struct parser_params *parser, ID name)
static void new_bv_gen (struct parser_params *parser, ID name)
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 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 ID internal_id_gen (struct parser_params *parser)
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)
static VALUE ripper_dispatch0 (struct parser_params *parser, ID mid)
static VALUE ripper_dispatch1 (struct parser_params *parser, ID mid, VALUE a)
static VALUE ripper_dispatch2 (struct parser_params *parser, ID mid, VALUE a, VALUE b)
static VALUE ripper_dispatch3 (struct parser_params *parser, ID mid, VALUE a, VALUE b, VALUE c)
static VALUE ripper_dispatch4 (struct parser_params *parser, ID mid, VALUE a, VALUE b, VALUE c, VALUE d)
static VALUE ripper_dispatch5 (struct parser_params *parser, ID mid, VALUE a, VALUE b, VALUE c, VALUE d, VALUE e)
static const char * keyword_id_to_str (ID id)
static VALUE ripper_id2sym (ID id)
static ID ripper_get_id (VALUE v)
static VALUE ripper_get_value (VALUE v)
static void ripper_compile_error (struct parser_params *parser, const char *fmt,...)
static void ripper_warn0 (struct parser_params *parser, const char *fmt)
static void ripper_warnI (struct parser_params *parser, const char *fmt, int a)
static void ripper_warning0 (struct parser_params *parser, const char *fmt)
static void ripper_warningS (struct parser_params *parser, const char *fmt, const char *str)
static VALUE ripper_lex_get_generic (struct parser_params *parser, VALUE src)
static VALUE ripper_s_allocate (VALUE klass)
static VALUE ripper_initialize (int argc, VALUE *argv, VALUE self)
static VALUE ripper_parse0 (VALUE parser_v)
static VALUE ripper_ensure (VALUE parser_v)
static VALUE ripper_parse (VALUE self)
static VALUE ripper_column (VALUE self)
static VALUE ripper_filename (VALUE self)
static VALUE ripper_lineno (VALUE self)
void InitVM_ripper (void)
void Init_ripper (void)

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 rb_data_type_t parser_data_type
static struct kw_assoc keyword_to_name []

Define Documentation

#define ambiguous_operator ( op,
syn   )     dispatch2(operator_ambiguous, ripper_intern(op), rb_str_new_cstr(syn))

Definition at line 8890 of file ripper.y.

#define arg_add ( l,
 )     dispatch2(args_add, (l), (a))
#define arg_add_assocs ( l,
 )     arg_add((l), bare_assoc(b))
#define arg_add_block ( l,
 )     dispatch2(args_add_block, (l), (b))
#define arg_add_optblock ( l,
 )     ((b)==Qundef? (l) : dispatch2(args_add_block, (l), (b)))
#define arg_add_star ( l,
 )     dispatch2(args_add_star, (l), (a))
 
#define arg_ambiguous (  )     (arg_ambiguous_gen(parser), 1)

Definition at line 8552 of file ripper.y.

 
#define arg_new (  )     dispatch0(args_new)
#define arg_var ( id   )     arg_var_gen(parser, (id))
#define args2mrhs (  )     dispatch1(mrhs_new_from_args, (a))
#define assignable ( lhs,
node   )     assignable_gen(parser, (lhs))
#define assignable_result (  )     get_value(lhs)
#define bare_assoc (  )     dispatch1(bare_assoc_hash, (v))
#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 blockvar_add_block ( l,
 )     dispatch2(block_var_add_block, (l), (a))
#define blockvar_add_star ( l,
 )     dispatch2(block_var_add_star, (l), (a))
#define blockvar_new ( p,
 )     dispatch2(block_var, (p), (v))
#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 (  )     BITSTACK_PUSH(cmdarg_stack, (n))
#define cmdarg_stack   (parser->parser_cmdarg_stack)
#define command_start   (parser->parser_command_start)
#define compile_error   ripper_compile_error
#define compile_for_eval   (parser->parser_compile_for_eval)
 
#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 (  )     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 dispatch0 (  )     ripper_dispatch0(parser, TOKEN_PASTE(ripper_id_, n))
#define dispatch1 ( n,
 )     ripper_dispatch1(parser, TOKEN_PASTE(ripper_id_, n), (a))
#define dispatch2 ( n,
a,
 )     ripper_dispatch2(parser, TOKEN_PASTE(ripper_id_, n), (a), (b))
#define dispatch3 ( n,
a,
b,
 )     ripper_dispatch3(parser, TOKEN_PASTE(ripper_id_, n), (a), (b), (c))
#define dispatch4 ( n,
a,
b,
c,
 )     ripper_dispatch4(parser, TOKEN_PASTE(ripper_id_, n), (a), (b), (c), (d))
#define dispatch5 ( n,
a,
b,
c,
d,
 )     ripper_dispatch5(parser, TOKEN_PASTE(ripper_id_, n), (a), (b), (c), (d), (e))
 
#define dispatch_heredoc_end (  )     ripper_dispatch_heredoc_end(parser)

Definition at line 8431 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 ENC_SINGLE ( cr   )     ((cr)==ENC_CODERANGE_7BIT)
#define ESCAPE_CONTROL   1

Definition at line 7885 of file ripper.y.

#define ESCAPE_META   2

Definition at line 7886 of file ripper.y.

#define escape_Qundef (  )     ((x)==Qundef ? Qnil : (x))
#define FIXME   0
#define formal_argument ( id   )     formal_argument_gen(parser, (id))
#define free   YYFREE
#define get_id ( id   )     ripper_get_id(id)
#define get_value ( val   )     ripper_get_value(val)
#define here_document (  )     parser_here_document(parser,(n))

Definition at line 7172 of file ripper.y.

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

Definition at line 7173 of file ripper.y.

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

Definition at line 7174 of file ripper.y.

#define id_is_var ( id   )     id_is_var_gen(parser, (id))
#define ifndef_ripper (  ) 
#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 8878 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 8880 of file ripper.y.

#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 8879 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 7271 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 8882 of file ripper.y.

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

Definition at line 8883 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 (  )     (IS_ARG() && space_seen && !ISSPACE(c))

Definition at line 8881 of file ripper.y.

 
#define lex_eol_p (  )     (lex_p >= lex_pend)

Definition at line 7683 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 7682 of file ripper.y.

#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 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_var ( id   )     local_var_gen(parser, (id));
#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 10667 of file ripper.y.

#define lvtbl   (parser->parser_lvtbl)
#define malloc   YYMALLOC
#define method_add_block ( m,
 )     dispatch2(method_add_block, (m), (b))
#define method_arg ( m,
 )     dispatch2(method_add_arg,(m),(a))
#define method_optarg ( m,
 )     ((a)==Qundef ? (m) : dispatch2(method_add_arg,(m),(a)))
#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 mlhs_add ( l,
 )     dispatch2(mlhs_add, (l), (a))
#define mlhs_add_star ( l,
 )     dispatch2(mlhs_add_star, (l), (a))
 
#define mlhs_new (  )     dispatch0(mlhs_new)
#define mrhs_add ( l,
 )     dispatch2(mrhs_add, (l), (a))
#define mrhs_add_star ( l,
 )     dispatch2(mrhs_add_star, (l), (a))
 
#define mrhs_new (  )     dispatch0(mrhs_new)
#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_bv ( id   )     new_bv_gen(parser, (id))
#define NEW_STRTERM ( func,
term,
paren   )     rb_node_newnode(NODE_STRTERM, (func), (term) | ((paren) << (CHAR_BIT * 2)), 0)

Definition at line 8250 of file ripper.y.

 
#define newtok (  )     parser_newtok(parser)

Definition at line 7162 of file ripper.y.

 
#define nextc (  )     parser_nextc(parser)

Definition at line 7160 of file ripper.y.

 
#define no_digits (  )     do {yyerror("numeric literal without digits"); return 0;} while (0)
#define NODE_HEREDOC   NODE_ARRAY
#define NODE_STRTERM   NODE_ZARRAY
#define numberof ( array   )     (int)(sizeof(array) / sizeof((array)[0]))
#define params_new ( pars,
opts,
rest,
pars2,
blk   )     dispatch5(params, (pars), (opts), (rest), (pars2), (blk))
#define paren_nest   (parser->parser_paren_nest)
#define parse_string (  )     parser_parse_string(parser,(n))

Definition at line 7170 of file ripper.y.

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

Definition at line 7268 of file ripper.y.

#define parser_free   ripper_parser_free

Definition at line 12400 of file ripper.y.

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

Definition at line 7272 of file ripper.y.

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

Definition at line 7274 of file ripper.y.

#define parser_mark   ripper_parser_mark

Definition at line 12399 of file ripper.y.

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

Definition at line 7269 of file ripper.y.

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

Definition at line 7270 of file ripper.y.

#define parser_yyerror ( parser,
 )     dispatch1(assign_error, lhs)
#define peek (  )     peek_n((c), 0)

Definition at line 7684 of file ripper.y.

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

Definition at line 7685 of file ripper.y.

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

Definition at line 7161 of file ripper.y.

#define rb_compile_error   ripper_compile_error
#define rb_dvar_defined ( id   )     0
#define rb_local_defined ( id   )     0
#define rb_warn0 ( fmt   )     ripper_warn0(parser, (fmt))
#define rb_warnI ( fmt,
 )     ripper_warnI(parser, (fmt), (a))
#define rb_warning0 ( fmt   )     ripper_warning0(parser, (fmt))
#define rb_warningS ( fmt,
 )     ripper_warningS(parser, (fmt), (a))
#define rb_warnS ( fmt,
 )     ripper_warnS(parser, (fmt), (a))
#define RE_OPTION_ARG_ENCODING_NONE   32
#define RE_OPTION_ENCODING (  )     (((e)&0xff)<<RE_OPTION_ENCODING_SHIFT)
#define RE_OPTION_ENCODING_IDX (  )     (((o)>>RE_OPTION_ENCODING_SHIFT)&0xff)
#define RE_OPTION_ENCODING_NONE (  )     ((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 7166 of file ripper.y.

#define realloc   YYREALLOC
 
#define regx_options (  )     parser_regx_options(parser)

Definition at line 7168 of file ripper.y.

#define remove_begin ( node   )     (node)
#define ripper_flush (  )     ((p)->tokp = (p)->parser_lex_p)

Definition at line 7203 of file ripper.y.

#define ripper_initialized_p (  )     ((r)->parser_lex_input != 0)

Definition at line 12912 of file ripper.y.

#define ripper_intern (  )     ID2SYM(rb_intern(s))
#define RIPPER_VERSION   "0.1.0"
#define ruby__end__seen   (parser->parser_ruby__end__seen)
#define ruby_sourcefile   (parser->parser_ruby_sourcefile)
#define ruby_sourceline   (parser->parser_ruby_sourceline)
#define set_yylval_id (  )     (void)(x)

Definition at line 7193 of file ripper.y.

#define set_yylval_literal (  )     (void)(x)

Definition at line 7195 of file ripper.y.

#define set_yylval_name (  )     (void)(yylval.val = ripper_yylval_id(x))

Definition at line 7194 of file ripper.y.

#define set_yylval_node (  )     (void)(x)

Definition at line 7196 of file ripper.y.

#define set_yylval_num (  )     (void)(x)

Definition at line 7192 of file ripper.y.

#define set_yylval_str (  )     (void)(x)

Definition at line 7191 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 (  )     ((((unsigned char)(c)) ^ 128) - 128)

Definition at line 7265 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 7647 of file ripper.y.

#define STR_FUNC_EXPAND   0x02

Definition at line 7648 of file ripper.y.

#define STR_FUNC_INDENT   0x20

Definition at line 7652 of file ripper.y.

#define STR_FUNC_QWORDS   0x08

Definition at line 7650 of file ripper.y.

#define STR_FUNC_REGEXP   0x04

Definition at line 7649 of file ripper.y.

#define STR_FUNC_SYMBOL   0x10

Definition at line 7651 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 (  )     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 tok (  )     tokenbuf

Definition at line 7756 of file ripper.y.

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

Definition at line 7165 of file ripper.y.

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

Definition at line 7164 of file ripper.y.

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

Definition at line 7167 of file ripper.y.

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

Definition at line 8118 of file ripper.y.

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

Definition at line 7169 of file ripper.y.

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

Definition at line 7171 of file ripper.y.

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

Definition at line 7811 of file ripper.y.

#define token_info_pop ( token   ) 
#define token_info_push ( token   ) 
#define tokenbuf   (parser->parser_tokenbuf)
 
#define tokfix (  )     (tokenbuf[tokidx]='\0')

Definition at line 7755 of file ripper.y.

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

Definition at line 7758 of file ripper.y.

 
#define toklen (  )     tokidx

Definition at line 7757 of file ripper.y.

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

Definition at line 7163 of file ripper.y.

 
#define UTF8_ENC (  ) 
Value:
(parser->utf8 ? parser->utf8 : \
                    (parser->utf8 = rb_utf8_encoding()))
#define validate (  )     ((x) = get_value(x))

Definition at line 12673 of file ripper.y.

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

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

Definition at line 7753 of file ripper.y.

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

Definition at line 7175 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 7151 of file ripper.y.

 
#define yylval_id (  )     yylval.id

Definition at line 7197 of file ripper.y.

#define yylval_rval   (*(RB_TYPE_P(yylval.val, T_NODE) ? &yylval.node->nd_rval : &yylval.val))

Definition at line 7205 of file ripper.y.

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

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


Function Documentation

static void arg_ambiguous_gen ( struct parser_params parser  )  [static]

Definition at line 8544 of file ripper.y.

References NODE_CDECL, NODE_CVASGN, NODE_DASGN, NODE_DASGN_CURR, NODE_IASGN2, NODE_LASGN, and NODE_MASGN.

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

Definition at line 11446 of file ripper.y.

static VALUE assignable_gen ( struct parser_params parser,
VALUE  lhs 
) [static]

Definition at line 10587 of file ripper.y.

References rb_intern.

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

Definition at line 8625 of file ripper.y.

stmts dispatch0 ( void_stmt   ) 
stmts dispatch0 ( stmts_new   ) 
Type Constraints
static void dispose_string ( VALUE  str  )  [static]

Definition at line 8096 of file ripper.y.

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

Definition at line 11571 of file ripper.y.

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

Definition at line 11540 of file ripper.y.

static int dyna_in_block_gen ( struct parser_params parser  )  [static]

Definition at line 11534 of file ripper.y.

static void dyna_pop_1 ( struct parser_params parser  )  [static]

Definition at line 11502 of file ripper.y.

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

Definition at line 11520 of file ripper.y.

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

Definition at line 11491 of file ripper.y.

opt_rescue escape_Qundef ( 1  ) 
Type Constraints
static ID formal_argument_gen ( struct parser_params parser,
ID  lhs 
) [static]

Definition at line 8555 of file ripper.y.

References NODE_CALL.

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

Definition at line 10567 of file ripper.y.

References nd_type, NODE_LASGN, Qnil, Qundef, RB_TYPE_P, and T_NODE.

void Init_ripper ( void   ) 

Definition at line 13098 of file ripper.y.

void InitVM_ripper ( void   ) 

Definition at line 13092 of file ripper.y.

static ID internal_id_gen ( struct parser_params parser  )  [static]

Definition at line 11912 of file ripper.y.

static const char* keyword_id_to_str ( ID  id  )  [static]

Definition at line 12782 of file ripper.y.

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

Definition at line 7523 of file ripper.y.

References tLBRACK.

static VALUE lex_getline ( struct parser_params parser  )  [static]

Definition at line 7543 of file ripper.y.

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

Definition at line 11463 of file ripper.y.

static void local_pop_gen ( struct parser_params parser  )  [static]

Definition at line 11401 of file ripper.y.

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

Definition at line 11388 of file ripper.y.

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

Definition at line 11453 of file ripper.y.

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

Definition at line 8566 of file ripper.y.

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

Definition at line 8685 of file ripper.y.

References NODE_DEFINED, NODE_DOT2, NODE_DOT3, NODE_FALSE, NODE_NIL, NODE_SELF, and NODE_TRUE.

static rb_encoding* must_be_ascii_compatible ( VALUE  s  )  [static]

Definition at line 7513 of file ripper.y.

References nextc, pushback, tAREF, and tASET.

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

Definition at line 10694 of file ripper.y.

References parser_prepare(), and TypedData_Get_Struct.

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

Definition at line 8573 of file ripper.y.

static void parser_free ( void *  ptr  )  [static]

Definition at line 12430 of file ripper.y.

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

Definition at line 8437 of file ripper.y.

static int parser_heredoc_identifier ( struct parser_params parser  )  [static]

Definition at line 8327 of file ripper.y.

References assignable_result.

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

Definition at line 8390 of file ripper.y.

References assignable_result, and NEW_CVASGN.

static void parser_initialize ( struct parser_params parser  )  [static]

Definition at line 12352 of file ripper.y.

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

Definition at line 8718 of file ripper.y.

References nd_type, NODE_BLOCK, RTEST, and ruby_verbose.

static void parser_mark ( void *  ptr  )  [static]

Definition at line 12404 of file ripper.y.

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

Definition at line 12450 of file ripper.y.

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

Definition at line 7761 of file ripper.y.

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

Definition at line 7688 of file ripper.y.

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

Definition at line 8854 of file ripper.y.

Referenced by new_bv_gen().

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

Definition at line 7744 of file ripper.y.

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

Definition at line 7889 of file ripper.y.

static int parser_regx_options ( struct parser_params parser  )  [static]

Definition at line 8060 of file ripper.y.

References last, and NEW_LIST.

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

Definition at line 8593 of file ripper.y.

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

Definition at line 7666 of file ripper.y.

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

Definition at line 7798 of file ripper.y.

References tokadd.

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

Definition at line 7788 of file ripper.y.

References ENC_CODERANGE_UNKNOWN, ISASCII, nextc, and tokadd_mbchar.

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

Definition at line 7987 of file ripper.y.

References nd_line, and nd_set_line.

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

Definition at line 8105 of file ripper.y.

References compile_error, PARSER_ARG, rb_enc_get(), rb_enc_name, and rb_str_resize().

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

Definition at line 7814 of file ripper.y.

References tFID.

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

Definition at line 7980 of file ripper.y.

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

Definition at line 7776 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 8407 of file ripper.y.

References yyerror.

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

Definition at line 7351 of file ripper.y.

static int parser_yylex ( struct parser_params parser  )  [static]

Definition at line 8900 of file ripper.y.

static VALUE ripper_column ( VALUE  self  )  [static]

Definition at line 13018 of file ripper.y.

static void ripper_compile_error ( struct parser_params parser,
const char *  fmt,
  ... 
) [static]

Definition at line 12847 of file ripper.y.

static VALUE ripper_dispatch0 ( struct parser_params parser,
ID  mid 
) [static]

Definition at line 12676 of file ripper.y.

static VALUE ripper_dispatch1 ( struct parser_params parser,
ID  mid,
VALUE  a 
) [static]

Definition at line 12682 of file ripper.y.

static VALUE ripper_dispatch2 ( struct parser_params parser,
ID  mid,
VALUE  a,
VALUE  b 
) [static]

Definition at line 12689 of file ripper.y.

static VALUE ripper_dispatch3 ( struct parser_params parser,
ID  mid,
VALUE  a,
VALUE  b,
VALUE  c 
) [static]

Definition at line 12697 of file ripper.y.

static VALUE ripper_dispatch4 ( struct parser_params parser,
ID  mid,
VALUE  a,
VALUE  b,
VALUE  c,
VALUE  d 
) [static]

Definition at line 12706 of file ripper.y.

static VALUE ripper_dispatch5 ( struct parser_params parser,
ID  mid,
VALUE  a,
VALUE  b,
VALUE  c,
VALUE  d,
VALUE  e 
) [static]

Definition at line 12716 of file ripper.y.

static void ripper_dispatch_delayed_token ( struct parser_params parser,
int  t 
) [static]

Definition at line 7239 of file ripper.y.

References ISDIGIT.

static void ripper_dispatch_heredoc_end ( struct parser_params parser  )  [static]

Definition at line 8423 of file ripper.y.

static void ripper_dispatch_ignored_scan_event ( struct parser_params parser,
int  t 
) [static]

Definition at line 7232 of file ripper.y.

static void ripper_dispatch_scan_event ( struct parser_params parser,
int  t 
) [static]

Definition at line 7225 of file ripper.y.

static VALUE ripper_ensure ( VALUE  parser_v  )  [static]

Definition at line 12974 of file ripper.y.

static VALUE ripper_filename ( VALUE  self  )  [static]

Definition at line 13039 of file ripper.y.

static ID ripper_get_id ( VALUE  v  )  [static]

Definition at line 12826 of file ripper.y.

static VALUE ripper_get_value ( VALUE  v  )  [static]

Definition at line 12836 of file ripper.y.

static int ripper_has_scan_event ( struct parser_params parser  )  [static]

Definition at line 7208 of file ripper.y.

static VALUE ripper_id2sym ( ID  id  )  [static]

Definition at line 12795 of file ripper.y.

block_command ripper_id2sym ( '.'   ) 
Type Constraints
static VALUE ripper_initialize ( int  argc,
VALUE argv,
VALUE  self 
) [static]

Definition at line 12925 of file ripper.y.

numeric ripper_intern ( "-@"   ) 
Type Constraints
expr ripper_intern ( "and"   ) 
Type Constraints
static VALUE ripper_lex_get_generic ( struct parser_params parser,
VALUE  src 
) [static]

Definition at line 12894 of file ripper.y.

static VALUE ripper_lineno ( VALUE  self  )  [static]

Definition at line 13058 of file ripper.y.

static VALUE ripper_parse ( VALUE  self  )  [static]

Definition at line 12990 of file ripper.y.

static VALUE ripper_parse0 ( VALUE  parser_v  )  [static]

Definition at line 12963 of file ripper.y.

static VALUE ripper_s_allocate ( VALUE  klass  )  [static]

Definition at line 12900 of file ripper.y.

static VALUE ripper_scan_event_val ( struct parser_params parser,
int  t 
) [static]

Definition at line 7216 of file ripper.y.

static void ripper_warn0 ( struct parser_params parser,
const char *  fmt 
) [static]

Definition at line 12859 of file ripper.y.

static void ripper_warnI ( struct parser_params parser,
const char *  fmt,
int  a 
) [static]

Definition at line 12865 of file ripper.y.

static void ripper_warning0 ( struct parser_params parser,
const char *  fmt 
) [static]

Definition at line 12881 of file ripper.y.

static void ripper_warningS ( struct parser_params parser,
const char *  fmt,
const char *  str 
) [static]

Definition at line 12887 of file ripper.y.

static VALUE ripper_yylval_id ( ID  x  )  [inline, static]

Definition at line 7187 of file ripper.y.

static void set_file_encoding ( struct parser_params parser,
const char *  str,
const char *  send 
) [static]

Definition at line 8811 of file ripper.y.

References NODE_DASGN, NODE_DASGN_CURR, NODE_GASGN, NODE_IASGN, and NODE_LASGN.

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

Definition at line 10670 of file ripper.y.

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

Definition at line 11368 of file ripper.y.

static int yylex ( void *  lval,
void *  p 
) [static]

Definition at line 10192 of file ripper.y.


Variable Documentation

top_compstmt __pad0__

Definition at line 3078 of file ripper.y.

opt_terms __pad100__

Definition at line 7102 of file ripper.y.

opt_nl __pad101__

Definition at line 7117 of file ripper.y.

rparen __pad102__

Definition at line 7120 of file ripper.y.

rbracket __pad103__

Definition at line 7123 of file ripper.y.

trailer __pad104__

Definition at line 7127 of file ripper.y.

terms __pad105__

Definition at line 7132 of file ripper.y.

Definition at line 7136 of file ripper.y.

command_call __pad10__

Definition at line 3562 of file ripper.y.

block_command __pad11__

Definition at line 3574 of file ripper.y.

cmd_brace_block __pad12__ = method_arg($$, $4)

Definition at line 3575 of file ripper.y.

command __pad13__

Definition at line 3609 of file ripper.y.

mlhs __pad14__

Definition at line 3609 of file ripper.y.

mlhs_item __pad15__

Definition at line 3824 of file ripper.y.

Definition at line 3824 of file ripper.y.

mlhs_node __pad17__

Definition at line 3824 of file ripper.y.

Definition at line 3824 of file ripper.y.

cname __pad19__ = dispatch1(var_field, $$)

Definition at line 3953 of file ripper.y.

top_stmts __pad1__

Definition at line 3089 of file ripper.y.

cpath __pad20__

Definition at line 4050 of file ripper.y.

fname __pad21__

Definition at line 4050 of file ripper.y.

fsym __pad22__ = $1

Definition at line 4077 of file ripper.y.

fitem __pad23__

Definition at line 4099 of file ripper.y.

Definition at line 4110 of file ripper.y.

Definition at line 4110 of file ripper.y.

reswords __pad26__

Definition at line 4152 of file ripper.y.

arg __pad27__

Definition at line 4174 of file ripper.y.

arg_value __pad28__

Definition at line 4655 of file ripper.y.

aref_args __pad29__

Definition at line 4658 of file ripper.y.

top_stmt __pad2__

Definition at line 3120 of file ripper.y.

paren_args __pad30__

Definition at line 4665 of file ripper.y.

opt_paren_args __pad31__

Definition at line 4691 of file ripper.y.

opt_call_args __pad32__

Definition at line 4699 of file ripper.y.

call_args __pad33__

Definition at line 4699 of file ripper.y.

command_args __pad34__

Definition at line 4699 of file ripper.y.

block_arg __pad35__

Definition at line 4776 of file ripper.y.

opt_block_arg __pad36__

Definition at line 4786 of file ripper.y.

Definition at line 4786 of file ripper.y.

mrhs __pad38__

Definition at line 4786 of file ripper.y.

primary __pad39__

Definition at line 4786 of file ripper.y.

bodystmt __pad3__

Definition at line 3145 of file ripper.y.

primary_value __pad40__

Definition at line 5336 of file ripper.y.

k_begin __pad41__

Definition at line 5348 of file ripper.y.

k_if __pad42__

Definition at line 5354 of file ripper.y.

k_unless __pad43__

Definition at line 5360 of file ripper.y.

k_while __pad44__

Definition at line 5366 of file ripper.y.

k_until __pad45__

Definition at line 5372 of file ripper.y.

k_case __pad46__

Definition at line 5378 of file ripper.y.

k_for __pad47__

Definition at line 5384 of file ripper.y.

k_class __pad48__

Definition at line 5390 of file ripper.y.

k_module __pad49__

Definition at line 5396 of file ripper.y.

compstmt __pad4__

Definition at line 3178 of file ripper.y.

k_def __pad50__

Definition at line 5402 of file ripper.y.

Definition at line 5412 of file ripper.y.

then __pad52__

Definition at line 5418 of file ripper.y.

Definition at line 5431 of file ripper.y.

if_tail __pad54__

Definition at line 5450 of file ripper.y.

opt_else __pad55__

Definition at line 5453 of file ripper.y.

f_marg __pad56__

Definition at line 5472 of file ripper.y.

f_marg_list __pad57__ = dispatch1(mlhs_paren, $$)

Definition at line 5475 of file ripper.y.

f_margs __pad58__

Definition at line 5475 of file ripper.y.

block_param __pad59__

Definition at line 5514 of file ripper.y.

stmts __pad5__

Definition at line 3189 of file ripper.y.

opt_block_param __pad60__

Definition at line 5514 of file ripper.y.

block_param_def __pad61__

Definition at line 5715 of file ripper.y.

opt_bv_decl __pad62__

Definition at line 5743 of file ripper.y.

Definition at line 5755 of file ripper.y.

Definition at line 5755 of file ripper.y.

lambda __pad65__ = get_value($1)

Definition at line 5778 of file ripper.y.

f_larglist __pad66__

Definition at line 5806 of file ripper.y.

lambda_body __pad67__

Definition at line 5806 of file ripper.y.

do_block __pad68__

Definition at line 5834 of file ripper.y.

block_call __pad69__

Definition at line 5855 of file ripper.y.

stmt __pad6__

Definition at line 3220 of file ripper.y.

method_call __pad70__

Definition at line 5855 of file ripper.y.

brace_block __pad71__

Definition at line 5855 of file ripper.y.

case_body __pad72__

Definition at line 6020 of file ripper.y.

Definition at line 6032 of file ripper.y.

opt_rescue __pad74__

Definition at line 6050 of file ripper.y.

exc_list __pad75__

Definition at line 6065 of file ripper.y.

exc_var __pad76__

Definition at line 6065 of file ripper.y.

opt_ensure __pad77__

Definition at line 6091 of file ripper.y.

literal __pad78__

Definition at line 6103 of file ripper.y.

strings __pad79__

Definition at line 6121 of file ripper.y.

command_asgn __pad7__

Definition at line 3493 of file ripper.y.

string __pad80__

Definition at line 6124 of file ripper.y.

word_list __pad81__ = dispatch1(array, $$)

Definition at line 6246 of file ripper.y.

word __pad82__

Definition at line 6275 of file ripper.y.

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

Definition at line 6282 of file ripper.y.

qword_list __pad84__ = dispatch1(array, $$)

Definition at line 6301 of file ripper.y.

string_contents __pad85__

Definition at line 6330 of file ripper.y.

xstring_contents __pad86__

Definition at line 6348 of file ripper.y.

regexp_contents __pad87__

Definition at line 6366 of file ripper.y.

string_content __pad88__

Definition at line 6403 of file ripper.y.

string_dvar __pad89__

Definition at line 6446 of file ripper.y.

expr __pad8__

Definition at line 3522 of file ripper.y.

symbol __pad90__

Definition at line 6446 of file ripper.y.

sym __pad91__ = dispatch1(symbol, $2)

Definition at line 6481 of file ripper.y.

Definition at line 6494 of file ripper.y.

numeric __pad93__ = dispatch1(dyna_symbol, $2)

Definition at line 6517 of file ripper.y.

user_variable __pad94__

Definition at line 6529 of file ripper.y.

keyword_variable __pad95__

Definition at line 6549 of file ripper.y.

var_ref __pad96__

Definition at line 6556 of file ripper.y.

var_lhs __pad97__

Definition at line 6556 of file ripper.y.

backref __pad98__ = dispatch1(var_field, $$)

Definition at line 6586 of file ripper.y.

superclass __pad99__

Definition at line 6608 of file ripper.y.

expr_value __pad9__

Definition at line 3522 of file ripper.y.

Definition at line 4665 of file ripper.y.

Referenced by ary_join_1(), assoc_i(), bind_eval(), check_funcall(), chown_internal(), console_dev(), copy_stream_body(), create_ip_exc(), cState_generate(), date_strftime_with_tmx(), dvar_defined_gen(), enc_names(), enum_drop(), enum_drop_while(), enum_each_cons(), enum_each_slice(), enum_take(), enum_zip(), GetVpValueWithPrec(), glob_func_caller(), hash2kv(), hash2kv_enc(), iconv_fail(), initialize(), int_ossl_asn1_decode0_cons(), int_ossl_asn1_decode0_prim(), interrupt_init(), 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(), 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(), proc_spawn_n(), 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_dl_callback_char_10_0_cdecl(), rb_dl_callback_char_10_1_cdecl(), rb_dl_callback_char_10_2_cdecl(), rb_dl_callback_char_10_3_cdecl(), rb_dl_callback_char_10_4_cdecl(), rb_dl_callback_char_11_0_cdecl(), rb_dl_callback_char_11_1_cdecl(), rb_dl_callback_char_11_2_cdecl(), rb_dl_callback_char_11_3_cdecl(), rb_dl_callback_char_11_4_cdecl(), rb_dl_callback_char_12_0_cdecl(), rb_dl_callback_char_12_1_cdecl(), rb_dl_callback_char_12_2_cdecl(), rb_dl_callback_char_12_3_cdecl(), rb_dl_callback_char_12_4_cdecl(), rb_dl_callback_char_13_0_cdecl(), rb_dl_callback_char_13_1_cdecl(), rb_dl_callback_char_13_2_cdecl(), rb_dl_callback_char_13_3_cdecl(), rb_dl_callback_char_13_4_cdecl(), rb_dl_callback_char_14_0_cdecl(), rb_dl_callback_char_14_1_cdecl(), rb_dl_callback_char_14_2_cdecl(), rb_dl_callback_char_14_3_cdecl(), rb_dl_callback_char_14_4_cdecl(), rb_dl_callback_char_15_0_cdecl(), rb_dl_callback_char_15_1_cdecl(), rb_dl_callback_char_15_2_cdecl(), rb_dl_callback_char_15_3_cdecl(), rb_dl_callback_char_15_4_cdecl(), rb_dl_callback_char_16_0_cdecl(), rb_dl_callback_char_16_1_cdecl(), rb_dl_callback_char_16_2_cdecl(), rb_dl_callback_char_16_3_cdecl(), rb_dl_callback_char_16_4_cdecl(), rb_dl_callback_char_17_0_cdecl(), rb_dl_callback_char_17_1_cdecl(), rb_dl_callback_char_17_2_cdecl(), rb_dl_callback_char_17_3_cdecl(), rb_dl_callback_char_17_4_cdecl(), rb_dl_callback_char_18_0_cdecl(), rb_dl_callback_char_18_1_cdecl(), rb_dl_callback_char_18_2_cdecl(), rb_dl_callback_char_18_3_cdecl(), rb_dl_callback_char_18_4_cdecl(), rb_dl_callback_char_19_0_cdecl(), rb_dl_callback_char_19_1_cdecl(), rb_dl_callback_char_19_2_cdecl(), rb_dl_callback_char_19_3_cdecl(), rb_dl_callback_char_19_4_cdecl(), rb_dl_callback_char_1_0_cdecl(), rb_dl_callback_char_1_1_cdecl(), rb_dl_callback_char_1_2_cdecl(), rb_dl_callback_char_1_3_cdecl(), rb_dl_callback_char_1_4_cdecl(), rb_dl_callback_char_2_0_cdecl(), rb_dl_callback_char_2_1_cdecl(), rb_dl_callback_char_2_2_cdecl(), rb_dl_callback_char_2_3_cdecl(), rb_dl_callback_char_2_4_cdecl(), rb_dl_callback_char_3_0_cdecl(), rb_dl_callback_char_3_1_cdecl(), rb_dl_callback_char_3_2_cdecl(), rb_dl_callback_char_3_3_cdecl(), rb_dl_callback_char_3_4_cdecl(), rb_dl_callback_char_4_0_cdecl(), rb_dl_callback_char_4_1_cdecl(), rb_dl_callback_char_4_2_cdecl(), rb_dl_callback_char_4_3_cdecl(), rb_dl_callback_char_4_4_cdecl(), rb_dl_callback_char_5_0_cdecl(), rb_dl_callback_char_5_1_cdecl(), rb_dl_callback_char_5_2_cdecl(), rb_dl_callback_char_5_3_cdecl(), rb_dl_callback_char_5_4_cdecl(), rb_dl_callback_char_6_0_cdecl(), rb_dl_callback_char_6_1_cdecl(), rb_dl_callback_char_6_2_cdecl(), rb_dl_callback_char_6_3_cdecl(), rb_dl_callback_char_6_4_cdecl(), rb_dl_callback_char_7_0_cdecl(), rb_dl_callback_char_7_1_cdecl(), rb_dl_callback_char_7_2_cdecl(), rb_dl_callback_char_7_3_cdecl(), rb_dl_callback_char_7_4_cdecl(), rb_dl_callback_char_8_0_cdecl(), rb_dl_callback_char_8_1_cdecl(), rb_dl_callback_char_8_2_cdecl(), rb_dl_callback_char_8_3_cdecl(), rb_dl_callback_char_8_4_cdecl(), rb_dl_callback_char_9_0_cdecl(), rb_dl_callback_char_9_1_cdecl(), rb_dl_callback_char_9_2_cdecl(), rb_dl_callback_char_9_3_cdecl(), rb_dl_callback_char_9_4_cdecl(), rb_dl_callback_double_10_0_cdecl(), rb_dl_callback_double_10_1_cdecl(), rb_dl_callback_double_10_2_cdecl(), rb_dl_callback_double_10_3_cdecl(), rb_dl_callback_double_10_4_cdecl(), rb_dl_callback_double_11_0_cdecl(), rb_dl_callback_double_11_1_cdecl(), rb_dl_callback_double_11_2_cdecl(), rb_dl_callback_double_11_3_cdecl(), rb_dl_callback_double_11_4_cdecl(), rb_dl_callback_double_12_0_cdecl(), rb_dl_callback_double_12_1_cdecl(), rb_dl_callback_double_12_2_cdecl(), rb_dl_callback_double_12_3_cdecl(), rb_dl_callback_double_12_4_cdecl(), rb_dl_callback_double_13_0_cdecl(), rb_dl_callback_double_13_1_cdecl(), rb_dl_callback_double_13_2_cdecl(), rb_dl_callback_double_13_3_cdecl(), rb_dl_callback_double_13_4_cdecl(), rb_dl_callback_double_14_0_cdecl(), rb_dl_callback_double_14_1_cdecl(), rb_dl_callback_double_14_2_cdecl(), rb_dl_callback_double_14_3_cdecl(), rb_dl_callback_double_14_4_cdecl(), rb_dl_callback_double_15_0_cdecl(), rb_dl_callback_double_15_1_cdecl(), rb_dl_callback_double_15_2_cdecl(), rb_dl_callback_double_15_3_cdecl(), rb_dl_callback_double_15_4_cdecl(), rb_dl_callback_double_16_0_cdecl(), rb_dl_callback_double_16_1_cdecl(), rb_dl_callback_double_16_2_cdecl(), rb_dl_callback_double_16_3_cdecl(), rb_dl_callback_double_16_4_cdecl(), rb_dl_callback_double_17_0_cdecl(), rb_dl_callback_double_17_1_cdecl(), rb_dl_callback_double_17_2_cdecl(), rb_dl_callback_double_17_3_cdecl(), rb_dl_callback_double_17_4_cdecl(), rb_dl_callback_double_18_0_cdecl(), rb_dl_callback_double_18_1_cdecl(), rb_dl_callback_double_18_2_cdecl(), rb_dl_callback_double_18_3_cdecl(), rb_dl_callback_double_18_4_cdecl(), rb_dl_callback_double_19_0_cdecl(), rb_dl_callback_double_19_1_cdecl(), rb_dl_callback_double_19_2_cdecl(), rb_dl_callback_double_19_3_cdecl(), rb_dl_callback_double_19_4_cdecl(), rb_dl_callback_double_1_0_cdecl(), rb_dl_callback_double_1_1_cdecl(), rb_dl_callback_double_1_2_cdecl(), rb_dl_callback_double_1_3_cdecl(), rb_dl_callback_double_1_4_cdecl(), rb_dl_callback_double_2_0_cdecl(), rb_dl_callback_double_2_1_cdecl(), rb_dl_callback_double_2_2_cdecl(), rb_dl_callback_double_2_3_cdecl(), rb_dl_callback_double_2_4_cdecl(), rb_dl_callback_double_3_0_cdecl(), rb_dl_callback_double_3_1_cdecl(), rb_dl_callback_double_3_2_cdecl(), rb_dl_callback_double_3_3_cdecl(), rb_dl_callback_double_3_4_cdecl(), rb_dl_callback_double_4_0_cdecl(), rb_dl_callback_double_4_1_cdecl(), rb_dl_callback_double_4_2_cdecl(), rb_dl_callback_double_4_3_cdecl(), rb_dl_callback_double_4_4_cdecl(), rb_dl_callback_double_5_0_cdecl(), rb_dl_callback_double_5_1_cdecl(), rb_dl_callback_double_5_2_cdecl(), rb_dl_callback_double_5_3_cdecl(), rb_dl_callback_double_5_4_cdecl(), rb_dl_callback_double_6_0_cdecl(), rb_dl_callback_double_6_1_cdecl(), rb_dl_callback_double_6_2_cdecl(), rb_dl_callback_double_6_3_cdecl(), rb_dl_callback_double_6_4_cdecl(), rb_dl_callback_double_7_0_cdecl(), rb_dl_callback_double_7_1_cdecl(), rb_dl_callback_double_7_2_cdecl(), rb_dl_callback_double_7_3_cdecl(), rb_dl_callback_double_7_4_cdecl(), rb_dl_callback_double_8_0_cdecl(), rb_dl_callback_double_8_1_cdecl(), rb_dl_callback_double_8_2_cdecl(), rb_dl_callback_double_8_3_cdecl(), rb_dl_callback_double_8_4_cdecl(), rb_dl_callback_double_9_0_cdecl(), rb_dl_callback_double_9_1_cdecl(), rb_dl_callback_double_9_2_cdecl(), rb_dl_callback_double_9_3_cdecl(), rb_dl_callback_double_9_4_cdecl(), rb_dl_callback_float_10_0_cdecl(), rb_dl_callback_float_10_1_cdecl(), rb_dl_callback_float_10_2_cdecl(), rb_dl_callback_float_10_3_cdecl(), rb_dl_callback_float_10_4_cdecl(), rb_dl_callback_float_11_0_cdecl(), rb_dl_callback_float_11_1_cdecl(), rb_dl_callback_float_11_2_cdecl(), rb_dl_callback_float_11_3_cdecl(), rb_dl_callback_float_11_4_cdecl(), rb_dl_callback_float_12_0_cdecl(), rb_dl_callback_float_12_1_cdecl(), rb_dl_callback_float_12_2_cdecl(), rb_dl_callback_float_12_3_cdecl(), rb_dl_callback_float_12_4_cdecl(), rb_dl_callback_float_13_0_cdecl(), rb_dl_callback_float_13_1_cdecl(), rb_dl_callback_float_13_2_cdecl(), rb_dl_callback_float_13_3_cdecl(), rb_dl_callback_float_13_4_cdecl(), rb_dl_callback_float_14_0_cdecl(), rb_dl_callback_float_14_1_cdecl(), rb_dl_callback_float_14_2_cdecl(), rb_dl_callback_float_14_3_cdecl(), rb_dl_callback_float_14_4_cdecl(), rb_dl_callback_float_15_0_cdecl(), rb_dl_callback_float_15_1_cdecl(), rb_dl_callback_float_15_2_cdecl(), rb_dl_callback_float_15_3_cdecl(), rb_dl_callback_float_15_4_cdecl(), rb_dl_callback_float_16_0_cdecl(), rb_dl_callback_float_16_1_cdecl(), rb_dl_callback_float_16_2_cdecl(), rb_dl_callback_float_16_3_cdecl(), rb_dl_callback_float_16_4_cdecl(), rb_dl_callback_float_17_0_cdecl(), rb_dl_callback_float_17_1_cdecl(), rb_dl_callback_float_17_2_cdecl(), rb_dl_callback_float_17_3_cdecl(), rb_dl_callback_float_17_4_cdecl(), rb_dl_callback_float_18_0_cdecl(), rb_dl_callback_float_18_1_cdecl(), rb_dl_callback_float_18_2_cdecl(), rb_dl_callback_float_18_3_cdecl(), rb_dl_callback_float_18_4_cdecl(), rb_dl_callback_float_19_0_cdecl(), rb_dl_callback_float_19_1_cdecl(), rb_dl_callback_float_19_2_cdecl(), rb_dl_callback_float_19_3_cdecl(), rb_dl_callback_float_19_4_cdecl(), rb_dl_callback_float_1_0_cdecl(), rb_dl_callback_float_1_1_cdecl(), rb_dl_callback_float_1_2_cdecl(), rb_dl_callback_float_1_3_cdecl(), rb_dl_callback_float_1_4_cdecl(), rb_dl_callback_float_2_0_cdecl(), rb_dl_callback_float_2_1_cdecl(), rb_dl_callback_float_2_2_cdecl(), rb_dl_callback_float_2_3_cdecl(), rb_dl_callback_float_2_4_cdecl(), rb_dl_callback_float_3_0_cdecl(), rb_dl_callback_float_3_1_cdecl(), rb_dl_callback_float_3_2_cdecl(), rb_dl_callback_float_3_3_cdecl(), rb_dl_callback_float_3_4_cdecl(), rb_dl_callback_float_4_0_cdecl(), rb_dl_callback_float_4_1_cdecl(), rb_dl_callback_float_4_2_cdecl(), rb_dl_callback_float_4_3_cdecl(), rb_dl_callback_float_4_4_cdecl(), rb_dl_callback_float_5_0_cdecl(), rb_dl_callback_float_5_1_cdecl(), rb_dl_callback_float_5_2_cdecl(), rb_dl_callback_float_5_3_cdecl(), rb_dl_callback_float_5_4_cdecl(), rb_dl_callback_float_6_0_cdecl(), rb_dl_callback_float_6_1_cdecl(), rb_dl_callback_float_6_2_cdecl(), rb_dl_callback_float_6_3_cdecl(), rb_dl_callback_float_6_4_cdecl(), rb_dl_callback_float_7_0_cdecl(), rb_dl_callback_float_7_1_cdecl(), rb_dl_callback_float_7_2_cdecl(), rb_dl_callback_float_7_3_cdecl(), rb_dl_callback_float_7_4_cdecl(), rb_dl_callback_float_8_0_cdecl(), rb_dl_callback_float_8_1_cdecl(), rb_dl_callback_float_8_2_cdecl(), rb_dl_callback_float_8_3_cdecl(), rb_dl_callback_float_8_4_cdecl(), rb_dl_callback_float_9_0_cdecl(), rb_dl_callback_float_9_1_cdecl(), rb_dl_callback_float_9_2_cdecl(), rb_dl_callback_float_9_3_cdecl(), rb_dl_callback_float_9_4_cdecl(), rb_dl_callback_int_10_0_cdecl(), rb_dl_callback_int_10_1_cdecl(), rb_dl_callback_int_10_2_cdecl(), rb_dl_callback_int_10_3_cdecl(), rb_dl_callback_int_10_4_cdecl(), rb_dl_callback_int_11_0_cdecl(), rb_dl_callback_int_11_1_cdecl(), rb_dl_callback_int_11_2_cdecl(), rb_dl_callback_int_11_3_cdecl(), rb_dl_callback_int_11_4_cdecl(), rb_dl_callback_int_12_0_cdecl(), rb_dl_callback_int_12_1_cdecl(), rb_dl_callback_int_12_2_cdecl(), rb_dl_callback_int_12_3_cdecl(), rb_dl_callback_int_12_4_cdecl(), rb_dl_callback_int_13_0_cdecl(), rb_dl_callback_int_13_1_cdecl(), rb_dl_callback_int_13_2_cdecl(), rb_dl_callback_int_13_3_cdecl(), rb_dl_callback_int_13_4_cdecl(), rb_dl_callback_int_14_0_cdecl(), rb_dl_callback_int_14_1_cdecl(), rb_dl_callback_int_14_2_cdecl(), rb_dl_callback_int_14_3_cdecl(), rb_dl_callback_int_14_4_cdecl(), rb_dl_callback_int_15_0_cdecl(), rb_dl_callback_int_15_1_cdecl(), rb_dl_callback_int_15_2_cdecl(), rb_dl_callback_int_15_3_cdecl(), rb_dl_callback_int_15_4_cdecl(), rb_dl_callback_int_16_0_cdecl(), rb_dl_callback_int_16_1_cdecl(), rb_dl_callback_int_16_2_cdecl(), rb_dl_callback_int_16_3_cdecl(), rb_dl_callback_int_16_4_cdecl(), rb_dl_callback_int_17_0_cdecl(), rb_dl_callback_int_17_1_cdecl(), rb_dl_callback_int_17_2_cdecl(), rb_dl_callback_int_17_3_cdecl(), rb_dl_callback_int_17_4_cdecl(), rb_dl_callback_int_18_0_cdecl(), rb_dl_callback_int_18_1_cdecl(), rb_dl_callback_int_18_2_cdecl(), rb_dl_callback_int_18_3_cdecl(), rb_dl_callback_int_18_4_cdecl(), rb_dl_callback_int_19_0_cdecl(), rb_dl_callback_int_19_1_cdecl(), rb_dl_callback_int_19_2_cdecl(), rb_dl_callback_int_19_3_cdecl(), rb_dl_callback_int_19_4_cdecl(), rb_dl_callback_int_1_0_cdecl(), rb_dl_callback_int_1_1_cdecl(), rb_dl_callback_int_1_2_cdecl(), rb_dl_callback_int_1_3_cdecl(), rb_dl_callback_int_1_4_cdecl(), rb_dl_callback_int_2_0_cdecl(), rb_dl_callback_int_2_1_cdecl(), rb_dl_callback_int_2_2_cdecl(), rb_dl_callback_int_2_3_cdecl(), rb_dl_callback_int_2_4_cdecl(), rb_dl_callback_int_3_0_cdecl(), rb_dl_callback_int_3_1_cdecl(), rb_dl_callback_int_3_2_cdecl(), rb_dl_callback_int_3_3_cdecl(), rb_dl_callback_int_3_4_cdecl(), rb_dl_callback_int_4_0_cdecl(), rb_dl_callback_int_4_1_cdecl(), rb_dl_callback_int_4_2_cdecl(), rb_dl_callback_int_4_3_cdecl(), rb_dl_callback_int_4_4_cdecl(), rb_dl_callback_int_5_0_cdecl(), rb_dl_callback_int_5_1_cdecl(), rb_dl_callback_int_5_2_cdecl(), rb_dl_callback_int_5_3_cdecl(), rb_dl_callback_int_5_4_cdecl(), rb_dl_callback_int_6_0_cdecl(), rb_dl_callback_int_6_1_cdecl(), rb_dl_callback_int_6_2_cdecl(), rb_dl_callback_int_6_3_cdecl(), rb_dl_callback_int_6_4_cdecl(), rb_dl_callback_int_7_0_cdecl(), rb_dl_callback_int_7_1_cdecl(), rb_dl_callback_int_7_2_cdecl(), rb_dl_callback_int_7_3_cdecl(), rb_dl_callback_int_7_4_cdecl(), rb_dl_callback_int_8_0_cdecl(), rb_dl_callback_int_8_1_cdecl(), rb_dl_callback_int_8_2_cdecl(), rb_dl_callback_int_8_3_cdecl(), rb_dl_callback_int_8_4_cdecl(), rb_dl_callback_int_9_0_cdecl(), rb_dl_callback_int_9_1_cdecl(), rb_dl_callback_int_9_2_cdecl(), rb_dl_callback_int_9_3_cdecl(), rb_dl_callback_int_9_4_cdecl(), rb_dl_callback_long_10_0_cdecl(), rb_dl_callback_long_10_1_cdecl(), rb_dl_callback_long_10_2_cdecl(), rb_dl_callback_long_10_3_cdecl(), rb_dl_callback_long_10_4_cdecl(), rb_dl_callback_long_11_0_cdecl(), rb_dl_callback_long_11_1_cdecl(), rb_dl_callback_long_11_2_cdecl(), rb_dl_callback_long_11_3_cdecl(), rb_dl_callback_long_11_4_cdecl(), rb_dl_callback_long_12_0_cdecl(), rb_dl_callback_long_12_1_cdecl(), rb_dl_callback_long_12_2_cdecl(), rb_dl_callback_long_12_3_cdecl(), rb_dl_callback_long_12_4_cdecl(), rb_dl_callback_long_13_0_cdecl(), rb_dl_callback_long_13_1_cdecl(), rb_dl_callback_long_13_2_cdecl(), rb_dl_callback_long_13_3_cdecl(), rb_dl_callback_long_13_4_cdecl(), rb_dl_callback_long_14_0_cdecl(), rb_dl_callback_long_14_1_cdecl(), rb_dl_callback_long_14_2_cdecl(), rb_dl_callback_long_14_3_cdecl(), rb_dl_callback_long_14_4_cdecl(), rb_dl_callback_long_15_0_cdecl(), rb_dl_callback_long_15_1_cdecl(), rb_dl_callback_long_15_2_cdecl(), rb_dl_callback_long_15_3_cdecl(), rb_dl_callback_long_15_4_cdecl(), rb_dl_callback_long_16_0_cdecl(), rb_dl_callback_long_16_1_cdecl(), rb_dl_callback_long_16_2_cdecl(), rb_dl_callback_long_16_3_cdecl(), rb_dl_callback_long_16_4_cdecl(), rb_dl_callback_long_17_0_cdecl(), rb_dl_callback_long_17_1_cdecl(), rb_dl_callback_long_17_2_cdecl(), rb_dl_callback_long_17_3_cdecl(), rb_dl_callback_long_17_4_cdecl(), rb_dl_callback_long_18_0_cdecl(), rb_dl_callback_long_18_1_cdecl(), rb_dl_callback_long_18_2_cdecl(), rb_dl_callback_long_18_3_cdecl(), rb_dl_callback_long_18_4_cdecl(), rb_dl_callback_long_19_0_cdecl(), rb_dl_callback_long_19_1_cdecl(), rb_dl_callback_long_19_2_cdecl(), rb_dl_callback_long_19_3_cdecl(), rb_dl_callback_long_19_4_cdecl(), rb_dl_callback_long_1_0_cdecl(), rb_dl_callback_long_1_1_cdecl(), rb_dl_callback_long_1_2_cdecl(), rb_dl_callback_long_1_3_cdecl(), rb_dl_callback_long_1_4_cdecl(), rb_dl_callback_long_2_0_cdecl(), rb_dl_callback_long_2_1_cdecl(), rb_dl_callback_long_2_2_cdecl(), rb_dl_callback_long_2_3_cdecl(), rb_dl_callback_long_2_4_cdecl(), rb_dl_callback_long_3_0_cdecl(), rb_dl_callback_long_3_1_cdecl(), rb_dl_callback_long_3_2_cdecl(), rb_dl_callback_long_3_3_cdecl(), rb_dl_callback_long_3_4_cdecl(), rb_dl_callback_long_4_0_cdecl(), rb_dl_callback_long_4_1_cdecl(), rb_dl_callback_long_4_2_cdecl(), rb_dl_callback_long_4_3_cdecl(), rb_dl_callback_long_4_4_cdecl(), rb_dl_callback_long_5_0_cdecl(), rb_dl_callback_long_5_1_cdecl(), rb_dl_callback_long_5_2_cdecl(), rb_dl_callback_long_5_3_cdecl(), rb_dl_callback_long_5_4_cdecl(), rb_dl_callback_long_6_0_cdecl(), rb_dl_callback_long_6_1_cdecl(), rb_dl_callback_long_6_2_cdecl(), rb_dl_callback_long_6_3_cdecl(), rb_dl_callback_long_6_4_cdecl(), rb_dl_callback_long_7_0_cdecl(), rb_dl_callback_long_7_1_cdecl(), rb_dl_callback_long_7_2_cdecl(), rb_dl_callback_long_7_3_cdecl(), rb_dl_callback_long_7_4_cdecl(), rb_dl_callback_long_8_0_cdecl(), rb_dl_callback_long_8_1_cdecl(), rb_dl_callback_long_8_2_cdecl(), rb_dl_callback_long_8_3_cdecl(), rb_dl_callback_long_8_4_cdecl(), rb_dl_callback_long_9_0_cdecl(), rb_dl_callback_long_9_1_cdecl(), rb_dl_callback_long_9_2_cdecl(), rb_dl_callback_long_9_3_cdecl(), rb_dl_callback_long_9_4_cdecl(), rb_dl_callback_long_long_10_0_cdecl(), rb_dl_callback_long_long_10_1_cdecl(), rb_dl_callback_long_long_10_2_cdecl(), rb_dl_callback_long_long_10_3_cdecl(), rb_dl_callback_long_long_10_4_cdecl(), rb_dl_callback_long_long_11_0_cdecl(), rb_dl_callback_long_long_11_1_cdecl(), rb_dl_callback_long_long_11_2_cdecl(), rb_dl_callback_long_long_11_3_cdecl(), rb_dl_callback_long_long_11_4_cdecl(), rb_dl_callback_long_long_12_0_cdecl(), rb_dl_callback_long_long_12_1_cdecl(), rb_dl_callback_long_long_12_2_cdecl(), rb_dl_callback_long_long_12_3_cdecl(), rb_dl_callback_long_long_12_4_cdecl(), rb_dl_callback_long_long_13_0_cdecl(), rb_dl_callback_long_long_13_1_cdecl(), rb_dl_callback_long_long_13_2_cdecl(), rb_dl_callback_long_long_13_3_cdecl(), rb_dl_callback_long_long_13_4_cdecl(), rb_dl_callback_long_long_14_0_cdecl(), rb_dl_callback_long_long_14_1_cdecl(), rb_dl_callback_long_long_14_2_cdecl(), rb_dl_callback_long_long_14_3_cdecl(), rb_dl_callback_long_long_14_4_cdecl(), rb_dl_callback_long_long_15_0_cdecl(), rb_dl_callback_long_long_15_1_cdecl(), rb_dl_callback_long_long_15_2_cdecl(), rb_dl_callback_long_long_15_3_cdecl(), rb_dl_callback_long_long_15_4_cdecl(), rb_dl_callback_long_long_16_0_cdecl(), rb_dl_callback_long_long_16_1_cdecl(), rb_dl_callback_long_long_16_2_cdecl(), rb_dl_callback_long_long_16_3_cdecl(), rb_dl_callback_long_long_16_4_cdecl(), rb_dl_callback_long_long_17_0_cdecl(), rb_dl_callback_long_long_17_1_cdecl(), rb_dl_callback_long_long_17_2_cdecl(), rb_dl_callback_long_long_17_3_cdecl(), rb_dl_callback_long_long_17_4_cdecl(), rb_dl_callback_long_long_18_0_cdecl(), rb_dl_callback_long_long_18_1_cdecl(), rb_dl_callback_long_long_18_2_cdecl(), rb_dl_callback_long_long_18_3_cdecl(), rb_dl_callback_long_long_18_4_cdecl(), rb_dl_callback_long_long_19_0_cdecl(), rb_dl_callback_long_long_19_1_cdecl(), rb_dl_callback_long_long_19_2_cdecl(), rb_dl_callback_long_long_19_3_cdecl(), rb_dl_callback_long_long_19_4_cdecl(), rb_dl_callback_long_long_1_0_cdecl(), rb_dl_callback_long_long_1_1_cdecl(), rb_dl_callback_long_long_1_2_cdecl(), rb_dl_callback_long_long_1_3_cdecl(), rb_dl_callback_long_long_1_4_cdecl(), rb_dl_callback_long_long_2_0_cdecl(), rb_dl_callback_long_long_2_1_cdecl(), rb_dl_callback_long_long_2_2_cdecl(), rb_dl_callback_long_long_2_3_cdecl(), rb_dl_callback_long_long_2_4_cdecl(), rb_dl_callback_long_long_3_0_cdecl(), rb_dl_callback_long_long_3_1_cdecl(), rb_dl_callback_long_long_3_2_cdecl(), rb_dl_callback_long_long_3_3_cdecl(), rb_dl_callback_long_long_3_4_cdecl(), rb_dl_callback_long_long_4_0_cdecl(), rb_dl_callback_long_long_4_1_cdecl(), rb_dl_callback_long_long_4_2_cdecl(), rb_dl_callback_long_long_4_3_cdecl(), rb_dl_callback_long_long_4_4_cdecl(), rb_dl_callback_long_long_5_0_cdecl(), rb_dl_callback_long_long_5_1_cdecl(), rb_dl_callback_long_long_5_2_cdecl(), rb_dl_callback_long_long_5_3_cdecl(), rb_dl_callback_long_long_5_4_cdecl(), rb_dl_callback_long_long_6_0_cdecl(), rb_dl_callback_long_long_6_1_cdecl(), rb_dl_callback_long_long_6_2_cdecl(), rb_dl_callback_long_long_6_3_cdecl(), rb_dl_callback_long_long_6_4_cdecl(), rb_dl_callback_long_long_7_0_cdecl(), rb_dl_callback_long_long_7_1_cdecl(), rb_dl_callback_long_long_7_2_cdecl(), rb_dl_callback_long_long_7_3_cdecl(), rb_dl_callback_long_long_7_4_cdecl(), rb_dl_callback_long_long_8_0_cdecl(), rb_dl_callback_long_long_8_1_cdecl(), rb_dl_callback_long_long_8_2_cdecl(), rb_dl_callback_long_long_8_3_cdecl(), rb_dl_callback_long_long_8_4_cdecl(), rb_dl_callback_long_long_9_0_cdecl(), rb_dl_callback_long_long_9_1_cdecl(), rb_dl_callback_long_long_9_2_cdecl(), rb_dl_callback_long_long_9_3_cdecl(), rb_dl_callback_long_long_9_4_cdecl(), rb_dl_callback_ptr_10_0_cdecl(), rb_dl_callback_ptr_10_1_cdecl(), rb_dl_callback_ptr_10_2_cdecl(), rb_dl_callback_ptr_10_3_cdecl(), rb_dl_callback_ptr_10_4_cdecl(), rb_dl_callback_ptr_11_0_cdecl(), rb_dl_callback_ptr_11_1_cdecl(), rb_dl_callback_ptr_11_2_cdecl(), rb_dl_callback_ptr_11_3_cdecl(), rb_dl_callback_ptr_11_4_cdecl(), rb_dl_callback_ptr_12_0_cdecl(), rb_dl_callback_ptr_12_1_cdecl(), rb_dl_callback_ptr_12_2_cdecl(), rb_dl_callback_ptr_12_3_cdecl(), rb_dl_callback_ptr_12_4_cdecl(), rb_dl_callback_ptr_13_0_cdecl(), rb_dl_callback_ptr_13_1_cdecl(), rb_dl_callback_ptr_13_2_cdecl(), rb_dl_callback_ptr_13_3_cdecl(), rb_dl_callback_ptr_13_4_cdecl(), rb_dl_callback_ptr_14_0_cdecl(), rb_dl_callback_ptr_14_1_cdecl(), rb_dl_callback_ptr_14_2_cdecl(), rb_dl_callback_ptr_14_3_cdecl(), rb_dl_callback_ptr_14_4_cdecl(), rb_dl_callback_ptr_15_0_cdecl(), rb_dl_callback_ptr_15_1_cdecl(), rb_dl_callback_ptr_15_2_cdecl(), rb_dl_callback_ptr_15_3_cdecl(), rb_dl_callback_ptr_15_4_cdecl(), rb_dl_callback_ptr_16_0_cdecl(), rb_dl_callback_ptr_16_1_cdecl(), rb_dl_callback_ptr_16_2_cdecl(), rb_dl_callback_ptr_16_3_cdecl(), rb_dl_callback_ptr_16_4_cdecl(), rb_dl_callback_ptr_17_0_cdecl(), rb_dl_callback_ptr_17_1_cdecl(), rb_dl_callback_ptr_17_2_cdecl(), rb_dl_callback_ptr_17_3_cdecl(), rb_dl_callback_ptr_17_4_cdecl(), rb_dl_callback_ptr_18_0_cdecl(), rb_dl_callback_ptr_18_1_cdecl(), rb_dl_callback_ptr_18_2_cdecl(), rb_dl_callback_ptr_18_3_cdecl(), rb_dl_callback_ptr_18_4_cdecl(), rb_dl_callback_ptr_19_0_cdecl(), rb_dl_callback_ptr_19_1_cdecl(), rb_dl_callback_ptr_19_2_cdecl(), rb_dl_callback_ptr_19_3_cdecl(), rb_dl_callback_ptr_19_4_cdecl(), rb_dl_callback_ptr_1_0_cdecl(), rb_dl_callback_ptr_1_1_cdecl(), rb_dl_callback_ptr_1_2_cdecl(), rb_dl_callback_ptr_1_3_cdecl(), rb_dl_callback_ptr_1_4_cdecl(), rb_dl_callback_ptr_2_0_cdecl(), rb_dl_callback_ptr_2_1_cdecl(), rb_dl_callback_ptr_2_2_cdecl(), rb_dl_callback_ptr_2_3_cdecl(), rb_dl_callback_ptr_2_4_cdecl(), rb_dl_callback_ptr_3_0_cdecl(), rb_dl_callback_ptr_3_1_cdecl(), rb_dl_callback_ptr_3_2_cdecl(), rb_dl_callback_ptr_3_3_cdecl(), rb_dl_callback_ptr_3_4_cdecl(), rb_dl_callback_ptr_4_0_cdecl(), rb_dl_callback_ptr_4_1_cdecl(), rb_dl_callback_ptr_4_2_cdecl(), rb_dl_callback_ptr_4_3_cdecl(), rb_dl_callback_ptr_4_4_cdecl(), rb_dl_callback_ptr_5_0_cdecl(), rb_dl_callback_ptr_5_1_cdecl(), rb_dl_callback_ptr_5_2_cdecl(), rb_dl_callback_ptr_5_3_cdecl(), rb_dl_callback_ptr_5_4_cdecl(), rb_dl_callback_ptr_6_0_cdecl(), rb_dl_callback_ptr_6_1_cdecl(), rb_dl_callback_ptr_6_2_cdecl(), rb_dl_callback_ptr_6_3_cdecl(), rb_dl_callback_ptr_6_4_cdecl(), rb_dl_callback_ptr_7_0_cdecl(), rb_dl_callback_ptr_7_1_cdecl(), rb_dl_callback_ptr_7_2_cdecl(), rb_dl_callback_ptr_7_3_cdecl(), rb_dl_callback_ptr_7_4_cdecl(), rb_dl_callback_ptr_8_0_cdecl(), rb_dl_callback_ptr_8_1_cdecl(), rb_dl_callback_ptr_8_2_cdecl(), rb_dl_callback_ptr_8_3_cdecl(), rb_dl_callback_ptr_8_4_cdecl(), rb_dl_callback_ptr_9_0_cdecl(), rb_dl_callback_ptr_9_1_cdecl(), rb_dl_callback_ptr_9_2_cdecl(), rb_dl_callback_ptr_9_3_cdecl(), rb_dl_callback_ptr_9_4_cdecl(), rb_dl_callback_short_10_0_cdecl(), rb_dl_callback_short_10_1_cdecl(), rb_dl_callback_short_10_2_cdecl(), rb_dl_callback_short_10_3_cdecl(), rb_dl_callback_short_10_4_cdecl(), rb_dl_callback_short_11_0_cdecl(), rb_dl_callback_short_11_1_cdecl(), rb_dl_callback_short_11_2_cdecl(), rb_dl_callback_short_11_3_cdecl(), rb_dl_callback_short_11_4_cdecl(), rb_dl_callback_short_12_0_cdecl(), rb_dl_callback_short_12_1_cdecl(), rb_dl_callback_short_12_2_cdecl(), rb_dl_callback_short_12_3_cdecl(), rb_dl_callback_short_12_4_cdecl(), rb_dl_callback_short_13_0_cdecl(), rb_dl_callback_short_13_1_cdecl(), rb_dl_callback_short_13_2_cdecl(), rb_dl_callback_short_13_3_cdecl(), rb_dl_callback_short_13_4_cdecl(), rb_dl_callback_short_14_0_cdecl(), rb_dl_callback_short_14_1_cdecl(), rb_dl_callback_short_14_2_cdecl(), rb_dl_callback_short_14_3_cdecl(), rb_dl_callback_short_14_4_cdecl(), rb_dl_callback_short_15_0_cdecl(), rb_dl_callback_short_15_1_cdecl(), rb_dl_callback_short_15_2_cdecl(), rb_dl_callback_short_15_3_cdecl(), rb_dl_callback_short_15_4_cdecl(), rb_dl_callback_short_16_0_cdecl(), rb_dl_callback_short_16_1_cdecl(), rb_dl_callback_short_16_2_cdecl(), rb_dl_callback_short_16_3_cdecl(), rb_dl_callback_short_16_4_cdecl(), rb_dl_callback_short_17_0_cdecl(), rb_dl_callback_short_17_1_cdecl(), rb_dl_callback_short_17_2_cdecl(), rb_dl_callback_short_17_3_cdecl(), rb_dl_callback_short_17_4_cdecl(), rb_dl_callback_short_18_0_cdecl(), rb_dl_callback_short_18_1_cdecl(), rb_dl_callback_short_18_2_cdecl(), rb_dl_callback_short_18_3_cdecl(), rb_dl_callback_short_18_4_cdecl(), rb_dl_callback_short_19_0_cdecl(), rb_dl_callback_short_19_1_cdecl(), rb_dl_callback_short_19_2_cdecl(), rb_dl_callback_short_19_3_cdecl(), rb_dl_callback_short_19_4_cdecl(), rb_dl_callback_short_1_0_cdecl(), rb_dl_callback_short_1_1_cdecl(), rb_dl_callback_short_1_2_cdecl(), rb_dl_callback_short_1_3_cdecl(), rb_dl_callback_short_1_4_cdecl(), rb_dl_callback_short_2_0_cdecl(), rb_dl_callback_short_2_1_cdecl(), rb_dl_callback_short_2_2_cdecl(), rb_dl_callback_short_2_3_cdecl(), rb_dl_callback_short_2_4_cdecl(), rb_dl_callback_short_3_0_cdecl(), rb_dl_callback_short_3_1_cdecl(), rb_dl_callback_short_3_2_cdecl(), rb_dl_callback_short_3_3_cdecl(), rb_dl_callback_short_3_4_cdecl(), rb_dl_callback_short_4_0_cdecl(), rb_dl_callback_short_4_1_cdecl(), rb_dl_callback_short_4_2_cdecl(), rb_dl_callback_short_4_3_cdecl(), rb_dl_callback_short_4_4_cdecl(), rb_dl_callback_short_5_0_cdecl(), rb_dl_callback_short_5_1_cdecl(), rb_dl_callback_short_5_2_cdecl(), rb_dl_callback_short_5_3_cdecl(), rb_dl_callback_short_5_4_cdecl(), rb_dl_callback_short_6_0_cdecl(), rb_dl_callback_short_6_1_cdecl(), rb_dl_callback_short_6_2_cdecl(), rb_dl_callback_short_6_3_cdecl(), rb_dl_callback_short_6_4_cdecl(), rb_dl_callback_short_7_0_cdecl(), rb_dl_callback_short_7_1_cdecl(), rb_dl_callback_short_7_2_cdecl(), rb_dl_callback_short_7_3_cdecl(), rb_dl_callback_short_7_4_cdecl(), rb_dl_callback_short_8_0_cdecl(), rb_dl_callback_short_8_1_cdecl(), rb_dl_callback_short_8_2_cdecl(), rb_dl_callback_short_8_3_cdecl(), rb_dl_callback_short_8_4_cdecl(), rb_dl_callback_short_9_0_cdecl(), rb_dl_callback_short_9_1_cdecl(), rb_dl_callback_short_9_2_cdecl(), rb_dl_callback_short_9_3_cdecl(), rb_dl_callback_short_9_4_cdecl(), rb_dl_callback_void_10_0_cdecl(), rb_dl_callback_void_10_1_cdecl(), rb_dl_callback_void_10_2_cdecl(), rb_dl_callback_void_10_3_cdecl(), rb_dl_callback_void_10_4_cdecl(), rb_dl_callback_void_11_0_cdecl(), rb_dl_callback_void_11_1_cdecl(), rb_dl_callback_void_11_2_cdecl(), rb_dl_callback_void_11_3_cdecl(), rb_dl_callback_void_11_4_cdecl(), rb_dl_callback_void_12_0_cdecl(), rb_dl_callback_void_12_1_cdecl(), rb_dl_callback_void_12_2_cdecl(), rb_dl_callback_void_12_3_cdecl(), rb_dl_callback_void_12_4_cdecl(), rb_dl_callback_void_13_0_cdecl(), rb_dl_callback_void_13_1_cdecl(), rb_dl_callback_void_13_2_cdecl(), rb_dl_callback_void_13_3_cdecl(), rb_dl_callback_void_13_4_cdecl(), rb_dl_callback_void_14_0_cdecl(), rb_dl_callback_void_14_1_cdecl(), rb_dl_callback_void_14_2_cdecl(), rb_dl_callback_void_14_3_cdecl(), rb_dl_callback_void_14_4_cdecl(), rb_dl_callback_void_15_0_cdecl(), rb_dl_callback_void_15_1_cdecl(), rb_dl_callback_void_15_2_cdecl(), rb_dl_callback_void_15_3_cdecl(), rb_dl_callback_void_15_4_cdecl(), rb_dl_callback_void_16_0_cdecl(), rb_dl_callback_void_16_1_cdecl(), rb_dl_callback_void_16_2_cdecl(), rb_dl_callback_void_16_3_cdecl(), rb_dl_callback_void_16_4_cdecl(), rb_dl_callback_void_17_0_cdecl(), rb_dl_callback_void_17_1_cdecl(), rb_dl_callback_void_17_2_cdecl(), rb_dl_callback_void_17_3_cdecl(), rb_dl_callback_void_17_4_cdecl(), rb_dl_callback_void_18_0_cdecl(), rb_dl_callback_void_18_1_cdecl(), rb_dl_callback_void_18_2_cdecl(), rb_dl_callback_void_18_3_cdecl(), rb_dl_callback_void_18_4_cdecl(), rb_dl_callback_void_19_0_cdecl(), rb_dl_callback_void_19_1_cdecl(), rb_dl_callback_void_19_2_cdecl(), rb_dl_callback_void_19_3_cdecl(), rb_dl_callback_void_19_4_cdecl(), rb_dl_callback_void_1_0_cdecl(), rb_dl_callback_void_1_1_cdecl(), rb_dl_callback_void_1_2_cdecl(), rb_dl_callback_void_1_3_cdecl(), rb_dl_callback_void_1_4_cdecl(), rb_dl_callback_void_2_0_cdecl(), rb_dl_callback_void_2_1_cdecl(), rb_dl_callback_void_2_2_cdecl(), rb_dl_callback_void_2_3_cdecl(), rb_dl_callback_void_2_4_cdecl(), rb_dl_callback_void_3_0_cdecl(), rb_dl_callback_void_3_1_cdecl(), rb_dl_callback_void_3_2_cdecl(), rb_dl_callback_void_3_3_cdecl(), rb_dl_callback_void_3_4_cdecl(), rb_dl_callback_void_4_0_cdecl(), rb_dl_callback_void_4_1_cdecl(), rb_dl_callback_void_4_2_cdecl(), rb_dl_callback_void_4_3_cdecl(), rb_dl_callback_void_4_4_cdecl(), rb_dl_callback_void_5_0_cdecl(), rb_dl_callback_void_5_1_cdecl(), rb_dl_callback_void_5_2_cdecl(), rb_dl_callback_void_5_3_cdecl(), rb_dl_callback_void_5_4_cdecl(), rb_dl_callback_void_6_0_cdecl(), rb_dl_callback_void_6_1_cdecl(), rb_dl_callback_void_6_2_cdecl(), rb_dl_callback_void_6_3_cdecl(), rb_dl_callback_void_6_4_cdecl(), rb_dl_callback_void_7_0_cdecl(), rb_dl_callback_void_7_1_cdecl(), rb_dl_callback_void_7_2_cdecl(), rb_dl_callback_void_7_3_cdecl(), rb_dl_callback_void_7_4_cdecl(), rb_dl_callback_void_8_0_cdecl(), rb_dl_callback_void_8_1_cdecl(), rb_dl_callback_void_8_2_cdecl(), rb_dl_callback_void_8_3_cdecl(), rb_dl_callback_void_8_4_cdecl(), rb_dl_callback_void_9_0_cdecl(), rb_dl_callback_void_9_1_cdecl(), rb_dl_callback_void_9_2_cdecl(), rb_dl_callback_void_9_3_cdecl(), rb_dl_callback_void_9_4_cdecl(), rb_exit(), rb_f_abort(), 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(), ripper_compile_error(), run_finalizer(), run_single_final(), take_items(), thread_start_func_2(), unix_s_socketpair(), warn_printf(), yyparse(), zip_ary(), and zip_i().

Definition at line 5755 of file ripper.y.

literal dsym

Definition at line 4099 of file ripper.y.

block_param f_block_optarg

Definition at line 5514 of file ripper.y.

f_margs f_marg_list

Definition at line 5475 of file ripper.y.

opt_else for_var

Definition at line 5453 of file ripper.y.

keyword_do_cond

Definition at line 5439 of file ripper.y.

struct kw_assoc keyword_to_name[] [static]
lex_state = EXPR_BEG

Definition at line 6410 of file ripper.y.

Definition at line 6409 of file ripper.y.

arg lhs
Initial value:
' command_asgn
                    {




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

                    }

Definition at line 3504 of file ripper.y.

mlhs mlhs_basic

Definition at line 3609 of file ripper.y.

mlhs_item mlhs_head

Definition at line 3824 of file ripper.y.

mlhs mlhs_inner

Definition at line 3609 of file ripper.y.

Definition at line 3824 of file ripper.y.

opt_ensure none

Definition at line 6058 of file ripper.y.

Referenced by enum_none().

Initial value:
 {
    "parser",
    {
        parser_mark,
        parser_free,
        parser_memsize,
    },
}

Definition at line 7561 of file ripper.y.

block_param_def Qnil

Definition at line 5715 of file ripper.y.

string regexp
string string1

Definition at line 6124 of file ripper.y.

cname tCONSTANT

Definition at line 3953 of file ripper.y.

trailer term

Definition at line 4110 of file ripper.y.

string words

Definition at line 6124 of file ripper.y.

string xstring

Definition at line 6124 of file ripper.y.


Generated on 1 Aug 2012 for Ruby by  doxygen 1.6.1