Lines Matching refs:pVM

57 static void ficlGetCWD(FICL_VM *pVM)
62 vmTextOut(pVM, cp, 1);
74 static void ficlChDir(FICL_VM *pVM)
76 FICL_STRING *pFS = (FICL_STRING *)pVM->pad;
77 vmGetString(pVM, pFS, '\n');
83 vmTextOut(pVM, "Error: path not found", 1);
84 vmThrow(pVM, VM_QUIT);
89 vmTextOut(pVM, "Warning (chdir): nothing happened", 1);
102 static void ficlSystem(FICL_VM *pVM)
104 FICL_STRING *pFS = (FICL_STRING *)pVM->pad;
106 vmGetString(pVM, pFS, '\n');
112 sprintf(pVM->pad, "System call returned %d", err);
113 vmTextOut(pVM, pVM->pad, 1);
114 vmThrow(pVM, VM_QUIT);
119 vmTextOut(pVM, "Warning (system): nothing happened", 1);
132 static void ficlLoad(FICL_VM *pVM)
144 vmGetString(pVM, pFilename, '\n');
148 vmTextOut(pVM, "Warning (load): nothing happened", 1);
159 vmTextOut(pVM, "Unable to stat file: ", 0);
160 vmTextOut(pVM, pFilename->text, 1);
161 vmThrow(pVM, VM_QUIT);
167 vmTextOut(pVM, "Unable to open file ", 0);
168 vmTextOut(pVM, pFilename->text, 1);
169 vmThrow(pVM, VM_QUIT);
172 id = pVM->sourceID;
173 pVM->sourceID.p = (void *)fp;
184 result = ficlExecC(pVM, cp, len);
187 pVM->sourceID = id;
189 vmThrowErr(pVM, "Error loading file <%s> line %d", pFilename->text, nLine);
197 pVM->sourceID.i = -1;
198 ficlExec(pVM, "");
200 pVM->sourceID = id;
205 vmThrow(pVM, VM_USEREXIT);
213 static void spewHash(FICL_VM *pVM)
215 FICL_HASH *pHash = vmGetDict(pVM)->pForthWords;
221 if (!vmGetWordToPad(pVM))
222 vmThrow(pVM, VM_OUTOFTEXT);
224 pOut = fopen(pVM->pad, "w");
227 vmTextOut(pVM, "unable to open file", 1);
258 static void ficlBreak(FICL_VM *pVM)
260 pVM->state = pVM->state;
264 static void ficlClock(FICL_VM *pVM)
267 stackPushUNS(pVM->pStack, (FICL_UNS)now);
271 static void clocksPerSec(FICL_VM *pVM)
273 stackPushUNS(pVM->pStack, CLOCKS_PER_SEC);
278 static void execxt(FICL_VM *pVM)
282 vmCheckStack(pVM, 1, 0);
285 pFW = stackPopPtr(pVM->pStack);
286 ficlExecXT(pVM, pFW);
312 FICL_VM *pVM;
317 pVM = ficlNewVM(pSys);
319 ficlEvaluate(pVM, ".ver .( " __DATE__ " ) cr quit");
327 ficlEvaluate(pVM, in);
335 ret = ficlExec(pVM, in);