static SV *new_Token(pTHX_ Token *token) { HV *hash = (HV*)new_Hash(); (void)hv_stores(hash, "stype", set(new_Int(token->stype))); (void)hv_stores(hash, "type", set(new_Int(token->info.type))); (void)hv_stores(hash, "kind", set(new_Int(token->info.kind))); (void)hv_stores(hash, "line", set(new_Int(token->finfo.start_line_num))); (void)hv_stores(hash, "has_warnings", set(new_Int(token->info.has_warnings))); (void)hv_stores(hash, "name", set(new_String(token->info.name, strlen(token->info.name)))); (void)hv_stores(hash, "data", set(new_String(token->data.c_str(), strlen(token->data.c_str())))); HV *stash = (HV *)gv_stashpv("Compiler::Lexer::Token", sizeof("Compiler::Lexer::Token") + 1); return sv_bless(new_Ref(hash), stash); }
#ifndef _KNH_ON_T2K #include "../konoha_mpi.h" #endif /* ------------------------------------------------------------------------ */ /* TYPEMAP */ TYPEMAP Int_MPIData(CTX ctx, ksfp_t *sfp _RIX) { MPID(data, new_O(MPIData, knh_getcid(ctx, B("konoha.mpi.MPIData")))); data->i = new_Int(ctx, sfp[1].ivalue); MPID_TYPE(data) = MPI_LONG; MPID_DCID(data) = CLASS_Int; MPID_POFS(data) = 0; RETURN_(data); } TYPEMAP int___MPIData(CTX ctx, ksfp_t *sfp _RIX) { MPID(data, new_O(MPIData, knh_getcid(ctx, B("konoha.mpi.MPIData")))); data->a = sfp[1].a; MPID_TYPE(data) = MPI_LONG; MPID_DCID(data) = CLASS_Array; MPID_POFS(data) = 0; RETURN_(data); } TYPEMAP Float_MPIData(CTX ctx, ksfp_t *sfp _RIX) { MPID(data, new_O(MPIData, knh_getcid(ctx, B("konoha.mpi.MPIData")))); data->f = new_Float_(ctx, CLASS_Float, sfp[1].fvalue);
#include "../konoha_mpi.h" /* ------------------------------------------------------------------------ */ /* TYPEMAP */ TYPEMAP Int_MPIData(CTX ctx, ksfp_t *sfp _RIX) { MPID(data, new_O(MPIData, knh_getcid(ctx, B("konoha.mpi.MPIData")))); MPID_INIT(data, new_Int(ctx, sfp[1].ivalue), MPI_LONG, CLASS_Int, O_cid(sfp[1].o)); RETURN_(data); } TYPEMAP int___MPIData(CTX ctx, ksfp_t *sfp _RIX) { MPID(data, new_O(MPIData, knh_getcid(ctx, B("konoha.mpi.MPIData")))); MPID_INIT(data, sfp[1].a, MPI_LONG, CLASS_Array, O_cid(sfp[1].o)); RETURN_(data); } TYPEMAP Float_MPIData(CTX ctx, ksfp_t *sfp _RIX) { MPID(data, new_O(MPIData, knh_getcid(ctx, B("konoha.mpi.MPIData")))); MPID_INIT(data, new_Float_(ctx, CLASS_Float, sfp[1].fvalue), MPI_DOUBLE, CLASS_Float, O_cid(sfp[1].o)); RETURN_(data); } TYPEMAP float___MPIData(CTX ctx, ksfp_t *sfp _RIX) { MPID(data, new_O(MPIData, knh_getcid(ctx, B("konoha.mpi.MPIData")))); MPID_INIT(data, sfp[1].a, MPI_DOUBLE, CLASS_Array, O_cid(sfp[1].o)); RETURN_(data);
static void append_common_pointer(pTHX_ HV *hash, Node *node) { (void)hv_stores(hash, "indent", set(new_Int(node->tk->finfo.indent))); add_key(hash, "next", node->next); add_token(hash, node->tk); }