The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
# Copyright 2016 Jeffrey Kegler
# Marpa::R3 is Copyright (C) 2016, Jeffrey Kegler.
#
# This module is free software; you can redistribute it and/or modify it
# under the same terms as Perl 5.10.1. For more details, see the full text
# of the licenses in the directory LICENSES.
#
# This program is distributed in the hope that it will be
# useful, but it is provided “as is” and without any express
# or implied warranties. For details, see the full text of
# of the licenses in the directory LICENSES.

G_Wrapper * T_MARPA_G_W
R_Wrapper * T_MARPA_R_W
B_Wrapper * T_MARPA_B_W
O_Wrapper * T_MARPA_O_W
T_Wrapper * T_MARPA_T_W
V_Wrapper * T_MARPA_V_W
Scanless_G * T_SCANLESS_G
Outer_R * T_SCANLESS_R
Marpa_Lua * T_MARPA_LUA

Marpa_AHM_ID T_IV
Marpa_And_Node_ID T_IV
Marpa_Assertion_ID T_IV
Marpa_Earleme T_IV
Marpa_Earley_Item_ID T_IV
Marpa_Earley_Set_ID T_IV
Marpa_IRL_ID T_IV
Marpa_Nook_ID T_IV
Marpa_NSY_ID T_IV
Marpa_Or_Node_ID T_IV
Marpa_Rank T_IV
Marpa_Rule_ID T_IV
Marpa_Symbol_ID T_IV

INPUT

T_MARPA_G_W
        if (sv_isa($arg, \"Marpa::R3::Thin::G\")) {
            IV tmp = SvIV((SV*)SvRV($arg));
            $var = INT2PTR(G_Wrapper *, tmp);
        } else
            Perl_croak(aTHX_ \"%s: %s is not of type Marpa::R3::Thin::G\",
                        ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
                        \"$var\")

T_MARPA_R_W
        if (sv_isa($arg, \"Marpa::R3::Thin::R\")) {
            IV tmp = SvIV((SV*)SvRV($arg));
            $var = INT2PTR(R_Wrapper *, tmp);
        } else
            Perl_croak(aTHX_ \"%s: %s is not of type Marpa::R3::Thin::R\",
                        ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
                        \"$var\")

T_MARPA_B_W
        if (sv_isa($arg, \"Marpa::R3::Thin::B\")) {
            IV tmp = SvIV((SV*)SvRV($arg));
            $var = INT2PTR(B_Wrapper *, tmp);
        } else
            Perl_croak(aTHX_ \"%s: %s is not of type Marpa::R3::Thin::B\",
                        ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
                        \"$var\")

T_MARPA_O_W
        if (sv_isa($arg, \"Marpa::R3::Thin::O\")) {
            IV tmp = SvIV((SV*)SvRV($arg));
            $var = INT2PTR(O_Wrapper *, tmp);
        } else
            Perl_croak(aTHX_ \"%s: %s is not of type Marpa::R3::Thin::O\",
                        ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
                        \"$var\")

T_MARPA_T_W
        if (sv_isa($arg, \"Marpa::R3::Thin::T\")) {
            IV tmp = SvIV((SV*)SvRV($arg));
            $var = INT2PTR(T_Wrapper *, tmp);
        } else
            Perl_croak(aTHX_ \"%s: %s is not of type Marpa::R3::Thin::T\",
                        ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
                        \"$var\")

T_MARPA_V_W
        if (sv_isa($arg, \"Marpa::R3::Thin::V\")) {
            IV tmp = SvIV((SV*)SvRV($arg));
            $var = INT2PTR(V_Wrapper *, tmp);
        } else
            Perl_croak(aTHX_ \"%s: %s is not of type Marpa::R3::Thin::V\",
                        ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
                        \"$var\")

T_SCANLESS_G
        if (sv_isa($arg, \"Marpa::R3::Thin::SLG\")) {
            IV tmp = SvIV((SV*)SvRV($arg));
            $var = INT2PTR(Scanless_G *, tmp);
        } else
            Perl_croak(aTHX_ \"%s: %s is not of type Marpa::R3::Thin::SLG\",
                        ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
                        \"$var\")


T_SCANLESS_R
        if (sv_isa($arg, \"Marpa::R3::Thin::SLR\")) {
            IV tmp = SvIV((SV*)SvRV($arg));
            $var = INT2PTR(Outer_R *, tmp);
        } else
            Perl_croak(aTHX_ \"%s: %s is not of type Marpa::R3::Thin::SLR\",
                        ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
                        \"$var\")

T_MARPA_LUA
        if (sv_isa($arg, \"Marpa::R3::Lua\")) {
            IV tmp = SvIV((SV*)SvRV($arg));
            $var = INT2PTR(Marpa_Lua *, tmp);
        } else
            Perl_croak(aTHX_ \"%s: %s is not of type Marpa::R3::Lua\",
                        ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
                        \"$var\")

/* vim: set expandtab shiftwidth=4: */