1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2025-01-23 14:30:48 +00:00

Update LISP floppy image

This commit is contained in:
David Schmenk 2024-07-19 15:43:21 -07:00
parent 7ee1c2f524
commit 22046c55ae
4 changed files with 24 additions and 18 deletions

Binary file not shown.

View File

@ -47,6 +47,7 @@ import sexpr
predef new_int(intlo, inthi)#1
predef new_sym(symstr)#1
predef new_assoc(symptr, valptr)#0
predef set_assoc(symptr, valptr)#1
predef print_expr(expr)#0
predef parse_expr(evalptr, level, refill)#2
predef eval_expr(expr)#1
@ -140,6 +141,18 @@ def natv_go(symptr, expr)
return NULL
end
def natv_set(symptr, expr)
symptr = eval_expr(expr=>car)
set_assoc(symptr, eval_expr(expr=>cdr=>car))
return symptr
end
def natv_setq(symptr, expr)
symptr = expr=>car
set_assoc(symptr, eval_expr(expr=>cdr=>car))
return symptr
end
//
// REPL native helper functions
//
@ -266,6 +279,8 @@ sym_if = new_sym("IF") // This should actually match IF
new_sym("PROG")=>natv = @natv_prog
new_sym("GO")=>natv = @natv_go
new_sym("RETURN")=>natv = @natv_return
new_sym("SET")=>natv = @natv_set
new_sym("SETQ")=>natv = @natv_setq
new_sym("GC")=>natv = @natv_gc
new_sym("QUIT")=>natv = @natv_bye

View File

@ -1207,18 +1207,6 @@ def natv_csetq(symptr, expr)
return symptr
end
def natv_set(symptr, expr)
symptr = eval_expr(expr=>car)
set_assoc(symptr, eval_expr(expr=>cdr=>car))
return symptr
end
def natv_setq(symptr, expr)
symptr = expr=>car
set_assoc(symptr, eval_expr(expr=>cdr=>car))
return symptr
end
def natv_pri(symptr, expr)
var result
@ -1393,8 +1381,6 @@ new_sym("DEFINE")=>natv = @natv_define
new_sym("ARRAY")=>natv = @natv_array
new_sym("CSET")=>natv = @natv_cset
new_sym("CSETQ")=>natv = @natv_csetq
new_sym("SET")=>natv = @natv_set
new_sym("SETQ")=>natv = @natv_setq
new_sym("PRI")=>natv = @natv_pri
new_sym("PRHEX")=>natv = @natv_prhex
new_sym("PRINT")=>natv = @natv_print

View File

@ -13,13 +13,18 @@ cat rel/apple/CONIO#FE1000 | ./ac.jar -p DRAWL.po sys/CONIO REL
cat rel/ARGS#FE1000 | ./ac.jar -p DRAWL.po sys/ARGS REL
cat rel/LONGJMP#FE1000 | ./ac.jar -p DRAWL.po sys/LONGJMP REL
cat rel/INT32#FE1000 | ./ac.jar -p DRAWL.po sys/INT32 REL
cat rel/ED#FE1000 | ./ac.jar -p DRAWL.po sys/ED REL
cat rel/FPSTR#FE1000 | ./ac.jar -p DRAWL.po sys/FPSTR REL
cat rel/FPU#FE1000 | ./ac.jar -p DRAWL.po sys/FPU REL
cat rel/SANE#FE1000 | ./ac.jar -p DRAWL.po sys/SANE REL
cat ../sysfiles/FP6502.CODE#060000 | ./ac.jar -p DRAWL.po sys/FP6502.CODE BIN
cat ../sysfiles/ELEMS.CODE#060000 | ./ac.jar -p DRAWL.po sys/ELEMS.CODE BIN
cat rel/ED#FE1000 | ./ac.jar -p DRAWL.po sys/ED REL
cat rel/SEXPR#FE1000 | ./ac.jar -p DRAWL.po lisp/SEXPR REL
cat lisp/s-expr.pla | ./ac.jar -ptx DRAWL.po lisp/SEXPR.PLA TXT
#cat lisp/s-expr.pla | ./ac.jar -ptx DRAWL.po lisp/SEXPR.PLA TXT
cat rel/SMATH#FE1000 | ./ac.jar -p DRAWL.po lisp/SMATH REL
cat lisp/s-math.pla | ./ac.jar -ptx DRAWL.po lisp/SMATH.PLA TXT
#cat lisp/s-math.pla | ./ac.jar -ptx DRAWL.po lisp/SMATH.PLA TXT
cat rel/DRAWL#FE1000 | ./ac.jar -p DRAWL.po lisp/DRAWL REL
cat lisp/drawl.pla | ./ac.jar -ptx DRAWL.po lisp/DRAWL.PLA TXT
#cat lisp/drawl.pla | ./ac.jar -ptx DRAWL.po lisp/DRAWL.PLA TXT
cat lisp/set.lisp | ./ac.jar -ptx DRAWL.po lisp/SET.LISP TXT
cat lisp/list.lisp | ./ac.jar -ptx DRAWL.po lisp/LIST.LISP TXT
cat lisp/maplist.lisp | ./ac.jar -ptx DRAWL.po lisp/MAPLIST.LISP TXT