1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2026-04-20 16:16:34 +00:00

Fix . operator parsing and error in SUBST

This commit is contained in:
David Schmenk
2024-07-08 14:29:59 -07:00
parent 06a3bd55e1
commit 0004ec0cd0
4 changed files with 31 additions and 20 deletions
+7 -2
View File
@@ -432,10 +432,11 @@ export def parse_expr(evalptr, level, refill)#2 // return evalptr, exprptr
//
if not (consptr and consptr=>car)
puts("Invalid . operator\n")
return evalptr, NULL
return evalptr, exprptr
fin
consptr=>cdr = elemptr
return evalptr, exprptr
elemptr = NULL
break
otherwise
if (^evalptr == '-' and is_int(^(evalptr+1))) or is_int(^evalptr)
evalptr, elemptr = parse_int(evalptr)
@@ -458,6 +459,10 @@ export def parse_expr(evalptr, level, refill)#2 // return evalptr, exprptr
consptr = new_cons
exprptr = consptr
else
if consptr=>cdr
puts("Improperly formed .\n")
return evalptr, exprptr
fin
consptr=>cdr = new_cons
consptr = consptr=>cdr
fin
-10
View File
@@ -1,14 +1,4 @@
(define
(equal (lambda (x y)
(cond ((atom x) (cond ((atom y) (eq x y))
( t f)
)
)
((equal (car x) (car y)) (equal (cdr x) (cdr y)))
( t f)
))
)
(member (lambda (a x)
(cond ((null x) f)
((eq a (car x)) t)
+23 -8
View File
@@ -1,8 +1,23 @@
cp ../sysfiles/BLANK140.po PLASMA-2.1-LISP.po
./ac.jar -n PLASMA-2.1-LISP.po PLASMA.LISP
cat rel/SEXPR#FE1000 | ./ac.jar -p PLASMA-2.1-LISP.po SEXPR REL
cat lisp/s-expr.pla | ./ac.jar -ptx PLASMA-2.1-LISP.po SEXPR.PLA TXT
cat rel/DRAWL#FE1000 | ./ac.jar -p PLASMA-2.1-LISP.po DRAWL REL
cat lisp/drawl.pla | ./ac.jar -ptx PLASMA-2.1-LISP.po DRAWL.PLA TXT
cat lisp/set.lisp | ./ac.jar -ptx PLASMA-2.1-LISP.po SET.LISP TXT
cat lisp/maplist.lisp | ./ac.jar -ptx PLASMA-2.1-LISP.po MAPLIST.LISP TXT
cp ../sysfiles/BLANK140.po DRAWL.po
./ac.jar -n DRAWL.po PLASMA.LISP
cat ../sysfiles/PRODOS#FF0000 | ./ac.jar -p DRAWL.po PRODOS SYS
cat rel/apple/CMD#061000 | ./ac.jar -p DRAWL.po CMD BIN $1000
cat rel/apple/CMD128#061000 | ./ac.jar -p DRAWL.po CMD128 BIN $1000
cat rel/apple/PLASMA.SYSTEM#FF2000 | ./ac.jar -p DRAWL.po PLASMA.SYSTEM SYS
cat rel/apple/PLVM.128#FF2000 | ./ac.jar -p DRAWL.po PLVM.128 SYS
cat rel/apple/PLVM16#FF2000 | ./ac.jar -p DRAWL.po PLVM16 SYS
cat rel/apple/JIT#FE1000 | ./ac.jar -p DRAWL.po sys/JIT REL
cat rel/apple/JIT16#FE1000 | ./ac.jar -p DRAWL.po sys/JIT16 REL
cat rel/apple/FILEIO#FE1000 | ./ac.jar -p DRAWL.po sys/FILEIO REL
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/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 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/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
+1
View File
@@ -179,6 +179,7 @@ cp lisp/s-expr.pla prodos/bld/lisp/SEXPR.PLA.TXT
cp rel/DRAWL#FE1000 prodos/bld/lisp/DRAWL.REL
cp lisp/drawl.pla prodos/bld/lisp/DRAWL.PLA.TXT
cp lisp/set.lisp prodos/bld/lisp/SET.LISP.TXT
cp lisp/list.lisp prodos/bld/lisp/LIST.LISP.TXT
cp lisp/maplist.lisp prodos/bld/lisp/MAPLIST.LISP.TXT
#mkdir prodos/bld/examples