Example #1
0
void
initializeBuiltins(OBJ env) {
    OBJ f;

    // syntax
    defineSyntax(env, schemeBuiltin_if, "if" , 3);
    defineSyntax(env, schemeBuiltin_define, "define" , -1);
    defineSyntax(env, schemeBuiltin_lambda, "lambda" , -1);
    defineSyntax(env, schemeBuiltin_set, "set!" , 2);

    // functions
    defineFunction(env, schemeBuiltin_plus, "+" , -1);
    defineFunction(env, schemeBuiltin_times, "*" , -1);
    defineFunction(env, schemeBuiltin_minus, "-" , -1);

    defineFunction(env, schemeBuiltin_cons, "cons" , 2);
    defineFunction(env, schemeBuiltin_car, "car" , 1);
    defineFunction(env, schemeBuiltin_cdr, "cdr" , 1);

    defineFunction(env, schemeBuiltin_eqP, "eq?" , 2);
    defineFunction(env, schemeBuiltin_display, "display" , 1);

    defineFunction(env, schemeBuiltin_load, "load" , 1);
    defineFunction(env, schemeBuiltin_print, "print" , 1);
}
Example #2
0
Expr
Parser::mkFunction(const std::string& name, const Type& type, uint32_t flags) {
  Debug("parser") << "mkVar(" << name << ", " << type << ")" << std::endl;
  Expr expr = d_exprManager->mkVar(name, type, flags);
  defineFunction(name, expr, flags & ExprManager::VAR_FLAG_GLOBAL);
  return expr;
}
ScriptEngine::ScriptEngine() : m_executor(0), m_engine(new QScriptEngine()) {
  // I must call TRenderer::initialize(), because a script could cause a
  // rendering driven by a working thread
  TRenderer::initialize();

  m_mainThreadEvaluationData = new MainThreadEvaluationData();
  QScriptValue global        = m_engine->globalObject();
  QScriptValue ctor;

  QScriptEngine &engine = *m_engine;

  defineFunction(this, "print", printFunction);
  defineFunction(this, "warning", warningFunction);
  defineFunction(this, "run", runFunction);

  /*
QScriptValue print = engine.newFunction(printFunction);
print.setData(engine.newQObject(this));
engine.globalObject().setProperty("print", print);

QScriptValue print = engine.newFunction(printFunction);
print.setData(engine.newQObject(this));
engine.globalObject().setProperty("print", print);

QScriptValue run = engine.newFunction(runFunction);
run.setData(engine.newQObject(this));
engine.globalObject().setProperty("run", run);

*/
  // QScriptValue g = engine.newFunction(glub);
  // g.setData(engine.newQObject(this));
  // engine.globalObject().setProperty("glub", g);

  // engine.globalObject().setProperty("_engine", engine.newQObject(this));

  m_voidValue  = new QScriptValue();
  *m_voidValue = engine.newQObject(new TScriptBinding::Void(),
                                   QScriptEngine::AutoOwnership);

  engine.globalObject().setProperty("void", *m_voidValue);

  TScriptBinding::bindAll(engine);
  bool ret = connect(this, SIGNAL(mainThreadEvaluationPosted()), this,
                     SLOT(onMainThreadEvaluationPosted()));
  assert(ret);
}
Example #4
0
void
init(Handle<Object> ex) {
    ObjectHandle exports(ex);

    Connection::Initialize(exports);
    Watch::Initialize(exports);
    Timeout::Initialize(exports);
    Message::Initialize(exports);
    MessageIter::Initialize(exports);
    PendingCall::Initialize(exports);
    Server::Initialize(exports);

    defineFunction(exports, "createMethodCall", Message::CreateMethodCall);
    defineFunction(exports, "createMethodReturn", Message::CreateMethodReturn);
    defineFunction(exports, "createErrorMessage", Message::CreateErrorMessage);
    defineFunction(exports, "createSignal", Message::CreateSignal);

    defineFunction(exports, "introspectionXmlToJs", introspectionXmlToJs);
    
    init_constants(exports);
}
Example #5
0
bool register_logger_manual(se::Object* globalObj) {
    se::Object* eeObj = nullptr;
    se::Object* coreObj = nullptr;
    getOrCreatePlainObject_r("ee", globalObj, &eeObj);
    getOrCreatePlainObject_r("core", eeObj, &coreObj);

    auto cls = se::Class::create("Logger", coreObj, nullptr,
                                 _SE(jsb_Logger_constructor));
    cls->defineFinalizeFunction(_SE(jsb_Logger_finalize));

    // Define member functions, member properties
    cls->defineFunction("setEnabled", _SE(jsb_Logger_setEnabled));
    // cls->defineFunction("log", _SE(jsb_Logger_log));
    // cls->defineFunction("verbose", _SE(jsb_Logger_verbose));
    // cls->defineFunction("debug", _SE(jsb_Logger_debug));
    // cls->defineFunction("info", _SE(jsb_Logger_info));
    // cls->defineFunction("warn", _SE(jsb_Logger_warn));
    // cls->defineFunction("error", _SE(jsb_Logger_error));
    // cls->defineFunction("assert", _SE(jsb_Logger_assert));

    // Install the class to JS virtual machine
    cls->install();

    JSBClassType::registerClass<Logger>(cls);

    __jsb_Logger_class = cls;

    // Register static member variables and static member functions
    se::Value ctorVal;
    if (coreObj->getProperty("Logger", &ctorVal) && ctorVal.isObject()) {
        ctorVal.toObject()->defineFunction("getSystemLogger",
                                           _SE(jsb_Logger_getSystemLogger));
        ctorVal.toObject()->defineFunction("setSystemLogger",
                                           _SE(jsb_Logger_setSystemLogger));
    }

    se::ScriptEngine::getInstance()->clearException();
    return true;
}
Example #6
0
void
init(Handle<Object> target) {
    HandleScope scope;

    ServiceRef::Initialize( target );
    TxtRecordRef::Initialize( target );

    defineFunction(target, "DNSServiceRegister", DNSServiceRegister);
    defineFunction(target, "DNSServiceRefSockFD", DNSServiceRefSockFD);
    defineFunction(target, "DNSServiceProcessResult", DNSServiceProcessResult);
    defineFunction(target, "DNSServiceBrowse", DNSServiceBrowse);
    defineFunction(target, "DNSServiceRefDeallocate", DNSServiceRefDeallocate);
    defineFunction(target, "DNSServiceResolve", DNSServiceResolve);
    defineFunction(target, "DNSServiceEnumerateDomains", DNSServiceEnumerateDomains);
#ifdef HAVE_DNSSERVICEGETADDRINFO
    defineFunction(target, "DNSServiceGetAddrInfo", DNSServiceGetAddrInfo);
#endif
    defineFunction(target, "TXTRecordCreate", TXTRecordCreate);
    defineFunction(target, "TXTRecordDeallocate", TXTRecordDeallocate);
    //defineFunction(target, "TXTRecordGetCount", TXTRecordGetCount);
    defineFunction(target, "TXTRecordSetValue", TXTRecordSetValue);
    defineFunction(target, "TXTRecordGetLength", TXTRecordGetLength);

    defineFunction(target, "txtRecordBufferToObject", txtRecordBufferToObject);
    defineFunction(target, "buildException", buildException);
    defineFunction(target, "exportConstants", exportConstants);

    addConstants(target);
}
Example #7
0
void
init(Handle<Object> target) {

    ServiceRef::Initialize( target );
    TxtRecordRef::Initialize( target );
#ifdef NODE_MDNS_USE_SOCKET_WATCHER
    SocketWatcher::Initialize( target );
#endif

    defineFunction(target, "DNSServiceRegister", DNSServiceRegister);
    defineFunction(target, "DNSServiceRefSockFD", DNSServiceRefSockFD);
    defineFunction(target, "DNSServiceProcessResult", DNSServiceProcessResult);
    defineFunction(target, "DNSServiceBrowse", DNSServiceBrowse);
    defineFunction(target, "DNSServiceRefDeallocate", DNSServiceRefDeallocate);
    defineFunction(target, "DNSServiceResolve", DNSServiceResolve);
    defineFunction(target, "DNSServiceEnumerateDomains",
            DNSServiceEnumerateDomains);
#ifdef HAVE_DNSSERVICEGETADDRINFO
    defineFunction(target, "DNSServiceGetAddrInfo", DNSServiceGetAddrInfo);
#endif
    defineFunction(target, "TXTRecordCreate", TXTRecordCreate);
    defineFunction(target, "TXTRecordDeallocate", TXTRecordDeallocate);
    //defineFunction(target, "TXTRecordGetCount", TXTRecordGetCount);
    defineFunction(target, "TXTRecordSetValue", TXTRecordSetValue);
    defineFunction(target, "TXTRecordGetLength", TXTRecordGetLength);

#ifdef NODE_MDNS_HAVE_INTERFACE_NAME_CONVERSION
    defineFunction(target, "if_nametoindex", if_nametoindex);
    defineFunction(target, "if_indextoname", if_indextoname);
#endif

    defineFunction(target, "txtRecordBufferToObject", txtRecordBufferToObject);
    defineFunction(target, "buildException", buildException);
    defineFunction(target, "exportConstants", exportConstants);

    addConstants(target);
}
Example #8
0
void EXParser::loadDefaultFunctions(void)

{

	/* Load Default Functions Here */

	defineFunction("asin",	asin);

	defineFunction("acos",	acos);

	defineFunction("atan",	atan);

	defineFunction("sinh",	sinh);

	defineFunction("cosh",	cosh);

	defineFunction("tanh",	tanh);

	defineFunction("sin",	sin);

	defineFunction("cos",	cos);

	defineFunction("tan",	tan);

	defineFunction("sqrt",	sqrt);

	defineFunction("fac",	factorial);

	defineFunction("exp",	exp);

	defineFunction("ln" ,	log);

	defineFunction("log10",	log10);





}