/programs/cmm/lisp/lisp.c |
---|
55,7 → 55,7 |
{ |
s = DSBYTE[code]; |
while(s == ' ') |
while (s == ' ') || (s == 9) |
{ |
code++; |
s = DSBYTE[code]; |
184,13 → 184,13 |
else |
{ |
consoleInit(); |
con_printf stdcall ("Lisp interpreter v1.3"); |
con_printf stdcall ("Lisp interpreter v1.4\r\n"); |
while(maxLoop) |
{ |
con_printf stdcall ("\r\n\r\nEnter code: "); |
con_printf stdcall ("\r\n$ "); |
con_gets stdcall(buffer, bufferSize); |
code = EAX; |
code = txt; |
//code = txt; |
con_printf stdcall ("Output: "); |
evalLisp(); |
maxLoop--; |
/programs/cmm/lisp/stdcall.h |
---|
1,5 → 1,11 |
/* Lisp functions */ |
:dword std_exit() |
{ |
con_exit stdcall (1); |
ExitProcess(); |
} |
:dword std_set(dword count, args) |
{ |
dword name = 0; |
103,7 → 109,7 |
functions.set("str", #std_str); |
/* System functions */ |
functions.set("exit", #ExitProcess); |
functions.set("exit", #std_exit); |
/* Math functions */ |
functions.set("+", #std_add); |