📄 language.c
字号:
#line 147 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"#include "mal_config.h"#include "language.h"strCMDraise(str *ret, str *msg){ *ret = GDKstrdup(*msg); return GDKstrdup(*msg);}strMALassertBit(int *ret, bit *val, str *msg){ (void) ret; if( *val == 0 || *val == bit_nil) throw(MAL, "mal.assert",*msg); return MAL_SUCCEED;}strMALassertInt(int *ret, int *val, str *msg){ (void) ret; if( *val == 0 || *val == int_nil) throw(MAL, "mal.assert",*msg); return MAL_SUCCEED;}strMALassertLng(int *ret, lng *val, str *msg){ (void) ret; if( *val == 0 || *val == lng_nil) throw(MAL, "mal.assert",*msg); return MAL_SUCCEED;}strMALassertSht(int *ret, sht *val, str *msg){ (void) ret; if( *val == 0 || *val == sht_nil) throw(MAL, "mal.assert",*msg); return MAL_SUCCEED;}strMALassertOid(int *ret, oid *val, str *msg){ (void) ret; if( *val == oid_nil) throw(MAL, "mal.assert",*msg); return MAL_SUCCEED;}strMALassertStr(int *ret, str *val, str *msg){ (void) ret; if( *val == str_nil) throw(MAL, "mal.assert",*msg); return MAL_SUCCEED;}strMALassertTriple(MalBlkPtr mb, MalStkPtr stk, InstrPtr p){ (void) mb; (void) stk; (void) p; throw(MAL, "mal.assert","Command not yet available");}#line 221 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"strCMDcallString(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){ str *s; (void) mb; /* fool compiler */ s = (str *) getArgReference(stk, pci, 1); if (strlen(*s) == 0) return MAL_SUCCEED; callString(MCgetClient(), *s, FALSE); return MAL_SUCCEED;}strMALstartDataflow( MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){ int *ret; str msg= MAL_SUCCEED; ret= (int*) getArgReference(stk,pci,0); if( pci == NULL || stk == NULL){ *ret = 1; /* ignore dataflow request */ return MAL_SUCCEED; } msg= runMALdataflow(MCgetClient(), mb, getPC(mb,pci), pci->jump, stk,0,0); if( msg == MAL_SUCCEED) *ret = 0; return MAL_SUCCEED;}str CMDregisterFunction(int *ret, str *m, str *f, str *code, str *help){ Client c; Symbol sym= NULL; MalBlkPtr mb;/* InstrPtr sig;*/ str msg; (void) m; (void) f; c= MCgetClient(); msg= compileString(&sym, c,*code); if( sym) { stream_printf(GDKout,"REGISTER FUNCTIOn %s.%s\n", getModuleId(sym->def->stmt[0]), getFunctionId(sym->def->stmt[0])); mb= sym->def; if( help) mb->help= GDKstrdup(*help); printFunction(c->fdout, mb,0);/* sig= getSignature(sym); renameFunction( getModuleId(sig), getFunctionId(sig), putName(*m, strlen(*m)), putName(*f,strlen(*f)));*/ } *ret = 0; return msg;}strCMDevalFile(int *ret, str *fnme){ str s = *fnme; Client c = MCgetClient(); char buffer[1024]; (void) ret; /* fool compiler */ if (s == 0) { throw(MAL, "mal.setCwd", "File name missing\n"); } if (strlen(s) + strlen(c->cwd) + 2 >= 1024) { throw(MAL, "mal.setCwd", "Evaluation buffer too small\n"); } buffer[0] = 0; if (*s != '/') { strcpy(buffer, c->cwd); strcat(buffer, "/"); } strcat(buffer, s); return evalFile(c, buffer, 0);}#line 308 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"strCMDcallBAT(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){ (void) mb; (void) stk; (void) pci; /* fool compiler */ throw(MAL, "mal.call", "Not yet implemented");}strCMDincludeFile(MalBlkPtr mb, MalStkPtr stk, InstrPtr pci){ (void) mb; (void) stk; (void) pci; /* fool compiler */ throw(MAL, "mal.include", "Not yet implemented");}strCMDdebug(int *ret, int *flg){ *ret = GDKdebug; if (*flg) GDKdebug = *flg; return MAL_SUCCEED;}strCMDsetCwd(str *ret, str *fnme){ Client c = MCgetClient(); *ret = c->cwd; c->cwd = GDKstrdup(*fnme); return MAL_SUCCEED;}#line 380 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"#line 363 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"language_export str RNGnewRange_oid(bit *res, oid *i, oid *first);str RNGnewRange_oid(bit *res, oid *i, oid *first){ *res = TRUE; *i= *first; return MAL_SUCCEED;}#line 381 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"#line 363 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"language_export str RNGnewRange_lng(bit *res, lng *i, lng *first);str RNGnewRange_lng(bit *res, lng *i, lng *first){ *res = TRUE; *i= *first; return MAL_SUCCEED;}#line 382 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"#line 363 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"language_export str RNGnewRange_int(bit *res, int *i, int *first);str RNGnewRange_int(bit *res, int *i, int *first){ *res = TRUE; *i= *first; return MAL_SUCCEED;}#line 383 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"#line 363 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"language_export str RNGnewRange_sht(bit *res, sht *i, sht *first);str RNGnewRange_sht(bit *res, sht *i, sht *first){ *res = TRUE; *i= *first; return MAL_SUCCEED;}#line 384 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"#line 363 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"language_export str RNGnewRange_flt(bit *res, flt *i, flt *first);str RNGnewRange_flt(bit *res, flt *i, flt *first){ *res = TRUE; *i= *first; return MAL_SUCCEED;}#line 385 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"#line 363 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"language_export str RNGnewRange_dbl(bit *res, dbl *i, dbl *first);str RNGnewRange_dbl(bit *res, dbl *i, dbl *first){ *res = TRUE; *i= *first; return MAL_SUCCEED;}#line 386 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"#line 371 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"language_export str RNGnextElement_oid(bit *res, oid *i, oid *step, oid *last);str RNGnextElement_oid(bit *res, oid *i, oid *step, oid *last){ oid v = *i; v = v + *step; *i = v; *res = v < *last; return MAL_SUCCEED;}#line 388 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"#line 371 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"language_export str RNGnextElement_lng(bit *res, lng *i, lng *step, lng *last);str RNGnextElement_lng(bit *res, lng *i, lng *step, lng *last){ lng v = *i; v = v + *step; *i = v; *res = v < *last; return MAL_SUCCEED;}#line 389 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"#line 371 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"language_export str RNGnextElement_int(bit *res, int *i, int *step, int *last);str RNGnextElement_int(bit *res, int *i, int *step, int *last){ int v = *i; v = v + *step; *i = v; *res = v < *last; return MAL_SUCCEED;}#line 390 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"#line 371 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"language_export str RNGnextElement_sht(bit *res, sht *i, sht *step, sht *last);str RNGnextElement_sht(bit *res, sht *i, sht *step, sht *last){ sht v = *i; v = v + *step; *i = v; *res = v < *last; return MAL_SUCCEED;}#line 391 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"#line 371 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"language_export str RNGnextElement_flt(bit *res, flt *i, flt *step, flt *last);str RNGnextElement_flt(bit *res, flt *i, flt *step, flt *last){ flt v = *i; v = v + *step; *i = v; *res = v < *last; return MAL_SUCCEED;}#line 392 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"#line 371 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"language_export str RNGnextElement_dbl(bit *res, dbl *i, dbl *step, dbl *last);str RNGnextElement_dbl(bit *res, dbl *i, dbl *step, dbl *last){ dbl v = *i; v = v + *step; *i = v; *res = v < *last; return MAL_SUCCEED;}#line 393 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/mal/language.mx"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -