class Racc::Parser
Constants
- Racc_Runtime_Core_Id_C
 - Racc_Runtime_Core_Version_C
 
Private Instance Methods
                              _racc_do_parse_c(p1, p2)
                              click to toggle source
                            
                            static VALUE
racc_cparse(VALUE parser, VALUE arg, VALUE sysdebug)
{
    VALUE vparams;
    struct cparse_params *v;
    vparams = TypedData_Make_Struct(CparseParams, struct cparse_params,
                                    &cparse_params_type, v);
    D_puts("starting cparse");
    v->sys_debug = RTEST(sysdebug);
    vparams = initialize_params(vparams, parser, arg, Qnil, Qnil);
    v->lex_is_iterator = FALSE;
    parse_main(v, Qnil, Qnil, 0);
    RB_GC_GUARD(vparams);
    return v->retval;
}
                              
                              _racc_yyparse_c(p1, p2, p3, p4)
                              click to toggle source
                            
                            static VALUE
racc_yyparse(VALUE parser, VALUE lexer, VALUE lexmid, VALUE arg, VALUE sysdebug)
{
    VALUE vparams;
    struct cparse_params *v;
    vparams = TypedData_Make_Struct(CparseParams, struct cparse_params,
                                    &cparse_params_type, v);
    v->sys_debug = RTEST(sysdebug);
    D_puts("start C yyparse");
    vparams = initialize_params(vparams, parser, arg, lexer, lexmid);
    v->lex_is_iterator = TRUE;
    D_puts("params initialized");
    parse_main(v, Qnil, Qnil, 0);
    call_lexer(v);
    if (!v->fin) {
        rb_raise(rb_eArgError, "%s() is finished before EndOfToken",
                 rb_id2name(v->lexmid));
    }
    RB_GC_GUARD(vparams);
    return v->retval;
}