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:
+7
-2
@@ -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
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user