int main(int argc, char **argv) { int returnValue = 0; char buffer[256]; char *gotline; ficlVm *vm; ficlSystem *system; system = ficlSystemCreate(NULL); ficlSystemCompileExtras(system); vm = ficlSystemCreateVm(system); returnValue = ficlVmEvaluate(vm, ".ver .( " __DATE__ " ) cr quit"); /* ** load files specified on command-line */ if (argc > 1) { sprintf(buffer, ".( loading %s ) cr load %s\n cr", argv[1], argv[1]); returnValue = ficlVmEvaluate(vm, buffer); } while (returnValue != FICL_VM_STATUS_USER_EXIT) { fputs(FICL_PROMPT, stdout); gotline = fgets(buffer, sizeof(buffer), stdin); returnValue = ficlVmEvaluate(vm, gotline); } ficlSystemDestroy(system); return 0; }
void full_simon(void) { int returnValue = 0; char buffer[256]; ficlVm *vm; ficlSystem *system; ficlSystemInformation fsi; ficlDictionary *dict; FILE *fd; int led_id; ficlSystemInformationInitialize(&fsi); fsi.dictionarySize = 256*1024; printf("creating ficl system\n"); system = ficlSystemCreate(&fsi); printf("compiling ficl extras\n"); ficlSystemCompileExtras(system); printf("creating ficl vm\n"); vm = ficlSystemCreateVm(system); printf("initializing silkworm customizations\n"); rf_spi_init(vm); printf("getting ficl version\n"); returnValue = ficlVmEvaluate(vm, ".ver .( " __DATE__ " ) cr quit"); simon_init(vm); rf_spi_init(vm); printf("ficl initialization complete\n"); led_id = ledOpen(fileno(stdin),fileno(stdout),100); while (returnValue != FICL_VM_STATUS_USER_EXIT) { fputs(FICL_PROMPT, stdout); fflush(stdout); ledRead(led_id,buffer,sizeof(buffer)); returnValue = ficlVmEvaluate(vm, buffer); } ledClose(led_id); ficlSystemDestroy(system); }
int simon_boot(char *eval) { ficlVm *vm; ficlSystemInformation fsi; ficlSystemInformationInitialize(&fsi); fsi.dictionarySize = 256*1024; simon_system = ficlSystemCreate(&fsi); ficlSystemCompileExtras(simon_system); vm = ficlSystemCreateVm(simon_system); simon_init(vm); rf_spi_init(vm); if (eval != NULL) ficlVmEvaluate(vm,eval); ficlSystemDestroyVm(vm); return 0; }
int main(int argc, char **argv) { int returnValue = 0; char buffer[256]; ficlVm *vm; ficlSystem *system; int i=0; int ch; char *fileName=(char *)NULL; char *loadPath=(char *)NULL; strcpy(prompt, FICL_PROMPT); verbose=-1; // Default is to be talkative. i = tcgetattr( 0, &orig_termios); loadPath = getenv("FICL_PATH"); system = ficlSystemCreate(NULL); ficlSystemCompileExtras(system); vm = ficlSystemCreateVm(system); if(verbose !=0) { returnValue = ficlVmEvaluate(vm, ".ver .( " __DATE__ " ) cr quit"); // returnValue = ficlVmEvaluate(vm, ".ver cr quit"); } while (returnValue != FICL_VM_STATUS_USER_EXIT) { // fputs(FICL_PROMPT, stdout); fputs(prompt, stdout); if (fgets(buffer, sizeof(buffer), stdin) == NULL) break; returnValue = ficlVmEvaluate(vm, buffer); } ficlSystemDestroy(system); return 0; }
FICL_PLATFORM_EXTERN void buildTestInterface(ficlSystem *system) { ficlSystemCompileExtras(system); }