//================= // Add DFA grammar //================= bool cJulius::addGrammar( char *name, char *dictfile, char *dfafile, bool deleteAll ) { WORD_INFO *winfo; DFA_INFO *dfa; RecogProcess *r; boolean ret; if ( ! m_recog ) return false; r = m_recog->process_list; // load grammar switch( r->lmvar ) { case LM_DFA_WORD: winfo = word_info_new(); dfa = NULL; ret = loadGrammar( winfo, NULL, dictfile, NULL, r ); if ( ! ret ) { word_info_free(winfo); return false; } break; case LM_DFA_GRAMMAR: winfo = word_info_new(); dfa = dfa_info_new(); ret = loadGrammar( winfo, dfa, dictfile, dfafile, r ); if ( ! ret ) { word_info_free(winfo); dfa_info_free(dfa); return false; } } if ( deleteAll ) { /* delete all existing grammars */ multigram_delete_all(r->lm); } /* register the new grammar to multi-gram tree */ multigram_add(dfa, winfo, name, r->lm); /* need to rebuild the global lexicon */ /* tell engine to update at requested timing */ schedule_grammar_update(m_recog); /* make sure this process will be activated */ r->active = 1; PostMessage(getWindow(), WM_JULIUS, JEVENT_GRAM_UPDATE, 0L); return true; }
bool engineInitSystem() { engine_shutdown(); if (!engine_init()) { // } initMapData(); #if defined(ARM_LINUX) loadGrammar(); registerCallback(); #endif g_navDisplay->initContext(); g_navDisplay->initViewport(); g_navDisplay->initDisplay(SCREEN_WIDTH,SCREEN_HEIGHT); LatLongGrid_Init(&g_latLongGrid); LatLongGrid_SetStep(&g_latLongGrid, 100000, 100000); gps_init(); #if defined(ARM_LINUX) gps_setContext(NMEA_CONTEXT_GPS); #else gps_setContext(NMEA_CONTEXT_MANUAL); #endif }
Parser::Parser(QString type) : QObject() { _textType = type; init(); loadGrammar(); loadStyle(); }
static FskErr makeSSLRootVM(const char *calistpath) { #ifdef KPR_CONFIG FskErr err = kFskErrNone; xsBeginHost(gShell->root); xsTry { xsCall1_noResult(xsGet(xsGlobal, xsID("FskSSL")), xsID("loadRootCerts"), xsString((xsStringValue)calistpath)); } xsCatch { err = kFskErrOperationFailed; } xsEndHost(gShell->root); return err; #else char *rootPath, *xsbPath, *xsbName; xsGrammar *grammar; FskErr err; if ((err = FskMemPtrNewClear(sizeof(FskECMAScriptRecord), &gSSLVM)) != kFskErrNone) return err; #if FSK_EMBED FskExtensionsEmbedLoad(SSL_VMNAME); FskExtensionsEmbedGrammar(SSL_VMNAME, &xsbName, &grammar); #else xsbName = "FskCore.xsb"; grammar = &FskCoreGrammar; #endif rootPath = FskEnvironmentDoApply(FskStrDoCopy("[applicationPath]")); xsbPath = FskStrDoCat(rootPath, xsbName); FskMemPtrDispose(rootPath); grammar->name = (xsStringValue)SSL_VMNAME; if ((err = loadGrammar(xsbPath, grammar)) == kFskErrNone) { if ((gSSLVM->the = xsNewMachine(&anAllocation, grammar, gSSLVM)) == NULL) err = kFskErrMemFull; FskMemPtrDispose(grammar->symbols); FskMemPtrDispose(grammar->code); } FskMemPtrDispose(xsbPath); BAIL_IF_ERR(err); xsBeginHost(gSSLVM->the); xsTry { #if !FSK_EMBED /* load Crypt and FskSSL extensions which are only needed for Fsk SSL */ xsCall3_noResult(xsGet(xsGlobal, xsID("System")), xsID("loadExtension"), xsString("Crypt"), xsString("[applicationPath]"), xsInteger(0)); xsCall3_noResult(xsGet(xsGlobal, xsID("System")), xsID("loadExtension"), xsString("FskSSL"), xsString("[applicationPath]"), xsInteger(1)); #endif xsCall1_noResult(xsGet(xsGlobal, xsID("FskSSL")), xsID("loadRootCerts"), xsString((xsStringValue)calistpath)); } xsCatch { err = kFskErrOperationFailed; } xsEndHost(gSSLVM->the); if (err == kFskErrNone) xsShareMachine(gSSLVM->the); bail: if (err != kFskErrNone) disposeSSLRootVM(); return err; #endif }