diff options
Diffstat (limited to 'src/boot/strap/parser.clisp')
-rw-r--r-- | src/boot/strap/parser.clisp | 1294 |
1 files changed, 612 insertions, 682 deletions
diff --git a/src/boot/strap/parser.clisp b/src/boot/strap/parser.clisp index 0d5f4199..898c6192 100644 --- a/src/boot/strap/parser.clisp +++ b/src/boot/strap/parser.clisp @@ -10,39 +10,32 @@ (PROVIDE "parser") (DEFUN |bpFirstToken| () - (DECLARE (SPECIAL |$ttok| |$stok| |$inputStream|)) + (DECLARE (SPECIAL |$inputStream| |$stok| |$ttok|)) (PROGN - (SETQ |$stok| - (COND + (SETQ |$stok| + (COND ((NULL |$inputStream|) - (|shoeTokConstruct| 'ERROR 'NOMORE - (|shoeTokPosn| |$stok|))) + (|shoeTokConstruct| 'ERROR 'NOMORE (|shoeTokPosn| |$stok|))) (T (CAR |$inputStream|)))) - (SETQ |$ttok| (|shoeTokPart| |$stok|)) - T)) + (SETQ |$ttok| (|shoeTokPart| |$stok|)) + T)) (DEFUN |bpFirstTok| () - (DECLARE (SPECIAL |$bpCount| |$bpParenCount| |$ttok| |$stok| - |$inputStream|)) + (DECLARE (SPECIAL |$inputStream| |$stok| |$ttok| |$bpParenCount| |$bpCount|)) (PROGN - (SETQ |$stok| - (COND + (SETQ |$stok| + (COND ((NULL |$inputStream|) - (|shoeTokConstruct| 'ERROR 'NOMORE - (|shoeTokPosn| |$stok|))) + (|shoeTokConstruct| 'ERROR 'NOMORE (|shoeTokPosn| |$stok|))) (T (CAR |$inputStream|)))) - (SETQ |$ttok| (|shoeTokPart| |$stok|)) - (COND - ((AND (PLUSP |$bpParenCount|) (CONSP |$stok|) - (EQ (CAR |$stok|) 'KEY)) - (COND - ((EQ |$ttok| 'SETTAB) (SETQ |$bpCount| (+ |$bpCount| 1)) - (|bpNext|)) - ((EQ |$ttok| 'BACKTAB) (SETQ |$bpCount| (- |$bpCount| 1)) - (|bpNext|)) - ((EQ |$ttok| 'BACKSET) (|bpNext|)) - (T T))) - (T T)))) + (SETQ |$ttok| (|shoeTokPart| |$stok|)) + (COND + ((AND (PLUSP |$bpParenCount|) (CONSP |$stok|) (EQ (CAR |$stok|) 'KEY)) + (COND ((EQ |$ttok| 'SETTAB) (SETQ |$bpCount| (+ |$bpCount| 1)) (|bpNext|)) + ((EQ |$ttok| 'BACKTAB) (SETQ |$bpCount| (- |$bpCount| 1)) + (|bpNext|)) + ((EQ |$ttok| 'BACKSET) (|bpNext|)) (T T))) + (T T)))) (DEFUN |bpNext| () (DECLARE (SPECIAL |$inputStream|)) @@ -53,201 +46,179 @@ (PROGN (SETQ |$inputStream| (CDR |$inputStream|)) (|bpFirstToken|))) (DEFUN |bpState| () - (DECLARE (SPECIAL |$bpCount| |$bpParenCount| |$stack| |$inputStream|)) + (DECLARE (SPECIAL |$inputStream| |$stack| |$bpParenCount| |$bpCount|)) (LIST |$inputStream| |$stack| |$bpParenCount| |$bpCount|)) (DEFUN |bpRestore| (|x|) - (DECLARE (SPECIAL |$bpCount| |$bpParenCount| |$stack| |$inputStream|)) + (DECLARE (SPECIAL |$inputStream| |$stack| |$bpParenCount| |$bpCount|)) (PROGN - (SETQ |$inputStream| (CAR |x|)) - (|bpFirstToken|) - (SETQ |$stack| (CADR |x|)) - (SETQ |$bpParenCount| (CADDR |x|)) - (SETQ |$bpCount| (CADDDR |x|)) - T)) + (SETQ |$inputStream| (CAR |x|)) + (|bpFirstToken|) + (SETQ |$stack| (CADR |x|)) + (SETQ |$bpParenCount| (CADDR |x|)) + (SETQ |$bpCount| (CADDDR |x|)) + T)) (DEFUN |bpPush| (|x|) (DECLARE (SPECIAL |$stack|)) (SETQ |$stack| (CONS |x| |$stack|))) (DEFUN |bpPushId| () - (DECLARE (SPECIAL |$stack| |$ttok|)) + (DECLARE (SPECIAL |$ttok| |$stack|)) (SETQ |$stack| (CONS (|bfReName| |$ttok|) |$stack|))) (DEFUN |bpPop1| () (PROG (|a|) (DECLARE (SPECIAL |$stack|)) (RETURN - (PROGN - (SETQ |a| (CAR |$stack|)) - (SETQ |$stack| (CDR |$stack|)) - |a|)))) + (PROGN (SETQ |a| (CAR |$stack|)) (SETQ |$stack| (CDR |$stack|)) |a|)))) (DEFUN |bpPop2| () (PROG (|a|) (DECLARE (SPECIAL |$stack|)) (RETURN - (PROGN - (SETQ |a| (CADR |$stack|)) - (RPLACD |$stack| (CDDR |$stack|)) - |a|)))) + (PROGN (SETQ |a| (CADR |$stack|)) (RPLACD |$stack| (CDDR |$stack|)) |a|)))) (DEFUN |bpPop3| () (PROG (|a|) (DECLARE (SPECIAL |$stack|)) (RETURN - (PROGN - (SETQ |a| (CADDR |$stack|)) - (RPLACD (CDR |$stack|) (CDDDR |$stack|)) - |a|)))) + (PROGN + (SETQ |a| (CADDR |$stack|)) + (RPLACD (CDR |$stack|) (CDDDR |$stack|)) + |a|)))) (DEFUN |bpIndentParenthesized| (|f|) (PROG (|$bpCount| |a|) - (DECLARE (SPECIAL |$inputStream| |$bpCount| |$bpParenCount| - |$stok|)) + (DECLARE (SPECIAL |$stok| |$bpParenCount| |$inputStream| |$bpCount|)) (RETURN - (PROGN - (SETQ |$bpCount| 0) - (SETQ |a| |$stok|) + (PROGN + (SETQ |$bpCount| 0) + (SETQ |a| |$stok|) + (COND + ((|bpEqPeek| 'OPAREN) (SETQ |$bpParenCount| (+ |$bpParenCount| 1)) + (|bpNext|) (COND - ((|bpEqPeek| 'OPAREN) - (SETQ |$bpParenCount| (+ |$bpParenCount| 1)) (|bpNext|) - (COND - ((AND (APPLY |f| NIL) (|bpFirstTok|) - (OR (|bpEqPeek| 'CPAREN) (|bpParenTrap| |a|))) - (SETQ |$bpParenCount| (- |$bpParenCount| 1)) - (|bpNextToken|) - (COND - ((EQL |$bpCount| 0) T) - (T (SETQ |$inputStream| - (|append| (|bpAddTokens| |$bpCount|) - |$inputStream|)) - (|bpFirstToken|) - (COND - ((EQL |$bpParenCount| 0) (|bpCancel|) T) - (T T))))) - ((|bpEqPeek| 'CPAREN) (|bpPush| (|bfTuple| NIL)) - (SETQ |$bpParenCount| (- |$bpParenCount| 1)) - (|bpNextToken|) T) - (T (|bpParenTrap| |a|)))) - (T NIL)))))) + ((AND (APPLY |f| NIL) (|bpFirstTok|) + (OR (|bpEqPeek| 'CPAREN) (|bpParenTrap| |a|))) + (SETQ |$bpParenCount| (- |$bpParenCount| 1)) (|bpNextToken|) + (COND ((EQL |$bpCount| 0) T) + (T + (SETQ |$inputStream| + (|append| (|bpAddTokens| |$bpCount|) |$inputStream|)) + (|bpFirstToken|) + (COND ((EQL |$bpParenCount| 0) (|bpCancel|) T) (T T))))) + ((|bpEqPeek| 'CPAREN) (|bpPush| (|bfTuple| NIL)) + (SETQ |$bpParenCount| (- |$bpParenCount| 1)) (|bpNextToken|) T) + (T (|bpParenTrap| |a|)))) + (T NIL)))))) (DEFUN |bpParenthesized| (|f|) (PROG (|a|) (DECLARE (SPECIAL |$stok|)) (RETURN - (PROGN - (SETQ |a| |$stok|) + (PROGN + (SETQ |a| |$stok|) + (COND + ((|bpEqKey| 'OPAREN) (COND - ((|bpEqKey| 'OPAREN) - (COND - ((AND (APPLY |f| NIL) - (OR (|bpEqKey| 'CPAREN) (|bpParenTrap| |a|))) - T) - ((|bpEqKey| 'CPAREN) (|bpPush| (|bfTuple| NIL)) T) - (T (|bpParenTrap| |a|)))) - (T NIL)))))) + ((AND (APPLY |f| NIL) (OR (|bpEqKey| 'CPAREN) (|bpParenTrap| |a|))) T) + ((|bpEqKey| 'CPAREN) (|bpPush| (|bfTuple| NIL)) T) + (T (|bpParenTrap| |a|)))) + (T NIL)))))) (DEFUN |bpBracket| (|f|) (PROG (|a|) (DECLARE (SPECIAL |$stok|)) (RETURN - (PROGN - (SETQ |a| |$stok|) + (PROGN + (SETQ |a| |$stok|) + (COND + ((|bpEqKey| 'OBRACK) (COND - ((|bpEqKey| 'OBRACK) - (COND - ((AND (APPLY |f| NIL) - (OR (|bpEqKey| 'CBRACK) (|bpBrackTrap| |a|))) - (|bpPush| (|bfBracket| (|bpPop1|)))) - ((|bpEqKey| 'CBRACK) (|bpPush| NIL)) - (T (|bpBrackTrap| |a|)))) - (T NIL)))))) + ((AND (APPLY |f| NIL) (OR (|bpEqKey| 'CBRACK) (|bpBrackTrap| |a|))) + (|bpPush| (|bfBracket| (|bpPop1|)))) + ((|bpEqKey| 'CBRACK) (|bpPush| NIL)) (T (|bpBrackTrap| |a|)))) + (T NIL)))))) (DEFUN |bpPileBracketed| (|f|) (COND - ((|bpEqKey| 'SETTAB) - (COND - ((|bpEqKey| 'BACKTAB) T) - ((AND (APPLY |f| NIL) (OR (|bpEqKey| 'BACKTAB) (|bpPileTrap|))) - (|bpPush| (|bfPile| (|bpPop1|)))) - (T NIL))) - (T NIL))) + ((|bpEqKey| 'SETTAB) + (COND ((|bpEqKey| 'BACKTAB) T) + ((AND (APPLY |f| NIL) (OR (|bpEqKey| 'BACKTAB) (|bpPileTrap|))) + (|bpPush| (|bfPile| (|bpPop1|)))) + (T NIL))) + (T NIL))) (DEFUN |bpListof| (|f| |str1| |g|) (PROG (|a|) (DECLARE (SPECIAL |$stack|)) (RETURN - (COND - ((APPLY |f| NIL) - (COND - ((AND (|bpEqKey| |str1|) (OR (APPLY |f| NIL) (|bpTrap|))) - (SETQ |a| |$stack|) (SETQ |$stack| NIL) - (LOOP - (COND - ((NOT (AND (|bpEqKey| |str1|) - (OR (APPLY |f| NIL) (|bpTrap|)))) - (RETURN NIL)) - (T 0))) - (SETQ |$stack| (CONS (|reverse!| |$stack|) |a|)) - (|bpPush| - (FUNCALL |g| - (CONS (|bpPop3|) (CONS (|bpPop2|) (|bpPop1|)))))) - (T T))) - (T NIL))))) + (COND + ((APPLY |f| NIL) + (COND + ((AND (|bpEqKey| |str1|) (OR (APPLY |f| NIL) (|bpTrap|))) + (SETQ |a| |$stack|) (SETQ |$stack| NIL) + (LOOP + (COND + ((NOT (AND (|bpEqKey| |str1|) (OR (APPLY |f| NIL) (|bpTrap|)))) + (RETURN NIL)) + (T 0))) + (SETQ |$stack| (CONS (|reverse!| |$stack|) |a|)) + (|bpPush| + (FUNCALL |g| (CONS (|bpPop3|) (CONS (|bpPop2|) (|bpPop1|)))))) + (T T))) + (T NIL))))) (DEFUN |bpListofFun| (|f| |h| |g|) (PROG (|a|) (DECLARE (SPECIAL |$stack|)) (RETURN - (COND - ((APPLY |f| NIL) - (COND - ((AND (APPLY |h| NIL) (OR (APPLY |f| NIL) (|bpTrap|))) - (SETQ |a| |$stack|) (SETQ |$stack| NIL) - (LOOP - (COND - ((NOT (AND (APPLY |h| NIL) - (OR (APPLY |f| NIL) (|bpTrap|)))) - (RETURN NIL)) - (T 0))) - (SETQ |$stack| (CONS (|reverse!| |$stack|) |a|)) - (|bpPush| - (FUNCALL |g| - (CONS (|bpPop3|) (CONS (|bpPop2|) (|bpPop1|)))))) - (T T))) - (T NIL))))) + (COND + ((APPLY |f| NIL) + (COND + ((AND (APPLY |h| NIL) (OR (APPLY |f| NIL) (|bpTrap|))) + (SETQ |a| |$stack|) (SETQ |$stack| NIL) + (LOOP + (COND + ((NOT (AND (APPLY |h| NIL) (OR (APPLY |f| NIL) (|bpTrap|)))) + (RETURN NIL)) + (T 0))) + (SETQ |$stack| (CONS (|reverse!| |$stack|) |a|)) + (|bpPush| + (FUNCALL |g| (CONS (|bpPop3|) (CONS (|bpPop2|) (|bpPop1|)))))) + (T T))) + (T NIL))))) (DEFUN |bpList| (|f| |str1|) (PROG (|a|) (DECLARE (SPECIAL |$stack|)) (RETURN - (COND - ((APPLY |f| NIL) - (COND - ((AND (|bpEqKey| |str1|) (OR (APPLY |f| NIL) (|bpTrap|))) - (SETQ |a| |$stack|) (SETQ |$stack| NIL) - (LOOP - (COND - ((NOT (AND (|bpEqKey| |str1|) - (OR (APPLY |f| NIL) (|bpTrap|)))) - (RETURN NIL)) - (T 0))) - (SETQ |$stack| (CONS (|reverse!| |$stack|) |a|)) - (|bpPush| (CONS (|bpPop3|) (CONS (|bpPop2|) (|bpPop1|))))) - (T (|bpPush| (LIST (|bpPop1|)))))) - (T (|bpPush| NIL)))))) + (COND + ((APPLY |f| NIL) + (COND + ((AND (|bpEqKey| |str1|) (OR (APPLY |f| NIL) (|bpTrap|))) + (SETQ |a| |$stack|) (SETQ |$stack| NIL) + (LOOP + (COND + ((NOT (AND (|bpEqKey| |str1|) (OR (APPLY |f| NIL) (|bpTrap|)))) + (RETURN NIL)) + (T 0))) + (SETQ |$stack| (CONS (|reverse!| |$stack|) |a|)) + (|bpPush| (CONS (|bpPop3|) (CONS (|bpPop2|) (|bpPop1|))))) + (T (|bpPush| (LIST (|bpPop1|)))))) + (T (|bpPush| NIL)))))) (DEFUN |bpOneOrMore| (|f|) (PROG (|a|) (DECLARE (SPECIAL |$stack|)) (RETURN - (COND - ((APPLY |f| NIL) (SETQ |a| |$stack|) (SETQ |$stack| NIL) - (LOOP (COND ((NOT (APPLY |f| NIL)) (RETURN NIL)) (T 0))) - (SETQ |$stack| (CONS (|reverse!| |$stack|) |a|)) - (|bpPush| (CONS (|bpPop2|) (|bpPop1|)))) - (T NIL))))) + (COND + ((APPLY |f| NIL) (SETQ |a| |$stack|) (SETQ |$stack| NIL) + (LOOP (COND ((NOT (APPLY |f| NIL)) (RETURN NIL)) (T 0))) + (SETQ |$stack| (CONS (|reverse!| |$stack|) |a|)) + (|bpPush| (CONS (|bpPop2|) (|bpPop1|)))) + (T NIL))))) (DEFUN |bpAnyNo| (|s|) (PROGN (LOOP (COND ((NOT (APPLY |s| NIL)) (RETURN NIL)) (T 0))) T)) @@ -258,48 +229,44 @@ (DEFUN |bpConditional| (|f|) (COND - ((AND (|bpEqKey| 'IF) (OR (|bpWhere|) (|bpTrap|)) - (OR (|bpEqKey| 'BACKSET) T)) - (COND - ((|bpEqKey| 'SETTAB) - (COND - ((|bpEqKey| 'THEN) - (AND (OR (APPLY |f| NIL) (|bpTrap|)) (|bpElse| |f|) - (|bpEqKey| 'BACKTAB))) - (T (|bpMissing| 'THEN)))) + ((AND (|bpEqKey| 'IF) (OR (|bpWhere|) (|bpTrap|)) + (OR (|bpEqKey| 'BACKSET) T)) + (COND + ((|bpEqKey| 'SETTAB) + (COND ((|bpEqKey| 'THEN) - (AND (OR (APPLY |f| NIL) (|bpTrap|)) (|bpElse| |f|))) - (T (|bpMissing| '|then|)))) - (T NIL))) + (AND (OR (APPLY |f| NIL) (|bpTrap|)) (|bpElse| |f|) + (|bpEqKey| 'BACKTAB))) + (T (|bpMissing| 'THEN)))) + ((|bpEqKey| 'THEN) (AND (OR (APPLY |f| NIL) (|bpTrap|)) (|bpElse| |f|))) + (T (|bpMissing| '|then|)))) + (T NIL))) (DEFUN |bpElse| (|f|) (PROG (|a|) (RETURN - (PROGN - (SETQ |a| (|bpState|)) - (COND - ((|bpBacksetElse|) - (AND (OR (APPLY |f| NIL) (|bpTrap|)) - (|bpPush| (|bfIf| (|bpPop3|) (|bpPop2|) (|bpPop1|))))) - (T (|bpRestore| |a|) - (|bpPush| (|bfIfThenOnly| (|bpPop2|) (|bpPop1|))))))))) + (PROGN + (SETQ |a| (|bpState|)) + (COND + ((|bpBacksetElse|) + (AND (OR (APPLY |f| NIL) (|bpTrap|)) + (|bpPush| (|bfIf| (|bpPop3|) (|bpPop2|) (|bpPop1|))))) + (T (|bpRestore| |a|) + (|bpPush| (|bfIfThenOnly| (|bpPop2|) (|bpPop1|))))))))) (DEFUN |bpBacksetElse| () - (COND - ((|bpEqKey| 'BACKSET) (|bpEqKey| 'ELSE)) - (T (|bpEqKey| 'ELSE)))) + (COND ((|bpEqKey| 'BACKSET) (|bpEqKey| 'ELSE)) (T (|bpEqKey| 'ELSE)))) (DEFUN |bpEqPeek| (|s|) - (DECLARE (SPECIAL |$ttok| |$stok|)) + (DECLARE (SPECIAL |$stok| |$ttok|)) (AND (CONSP |$stok|) (EQ (CAR |$stok|) 'KEY) (EQ |s| |$ttok|))) (DEFUN |bpEqKey| (|s|) - (DECLARE (SPECIAL |$ttok| |$stok|)) - (AND (CONSP |$stok|) (EQ (CAR |$stok|) 'KEY) (EQ |s| |$ttok|) - (|bpNext|))) + (DECLARE (SPECIAL |$stok| |$ttok|)) + (AND (CONSP |$stok|) (EQ (CAR |$stok|) 'KEY) (EQ |s| |$ttok|) (|bpNext|))) (DEFUN |bpEqKeyNextTok| (|s|) - (DECLARE (SPECIAL |$ttok| |$stok|)) + (DECLARE (SPECIAL |$stok| |$ttok|)) (AND (CONSP |$stok|) (EQ (CAR |$stok|) 'KEY) (EQ |s| |$ttok|) (|bpNextToken|))) @@ -311,200 +278,186 @@ (DEFUN |bpMissingMate| (|close| |open|) (PROGN - (|bpSpecificErrorAtToken| |open| "possibly missing mate") - (|bpMissing| |close|))) + (|bpSpecificErrorAtToken| |open| "possibly missing mate") + (|bpMissing| |close|))) (DEFUN |bpMissing| (|s|) (PROGN - (|bpSpecificErrorHere| (CONCAT (PNAME |s|) " possibly missing")) - (THROW :OPEN-AXIOM-CATCH-POINT - (CONS :OPEN-AXIOM-CATCH-POINT - (CONS '(|BootParserException|) 'TRAPPED))))) + (|bpSpecificErrorHere| (CONCAT (PNAME |s|) " possibly missing")) + (THROW :OPEN-AXIOM-CATCH-POINT + (CONS :OPEN-AXIOM-CATCH-POINT (CONS '(|BootParserException|) 'TRAPPED))))) (DEFUN |bpCompMissing| (|s|) (OR (|bpEqKey| |s|) (|bpMissing| |s|))) (DEFUN |bpTrap| () (PROGN - (|bpGeneralErrorHere|) - (THROW :OPEN-AXIOM-CATCH-POINT - (CONS :OPEN-AXIOM-CATCH-POINT - (CONS '(|BootParserException|) 'TRAPPED))))) + (|bpGeneralErrorHere|) + (THROW :OPEN-AXIOM-CATCH-POINT + (CONS :OPEN-AXIOM-CATCH-POINT (CONS '(|BootParserException|) 'TRAPPED))))) (DEFUN |bpRecoverTrap| () (PROG (|pos2| |pos1|) (DECLARE (SPECIAL |$stok|)) (RETURN - (PROGN - (|bpFirstToken|) - (SETQ |pos1| (|shoeTokPosn| |$stok|)) - (|bpMoveTo| 0) - (SETQ |pos2| (|shoeTokPosn| |$stok|)) - (|bpIgnoredFromTo| |pos1| |pos2|) - (|bpPush| (LIST (LIST "pile syntax error"))))))) + (PROGN + (|bpFirstToken|) + (SETQ |pos1| (|shoeTokPosn| |$stok|)) + (|bpMoveTo| 0) + (SETQ |pos2| (|shoeTokPosn| |$stok|)) + (|bpIgnoredFromTo| |pos1| |pos2|) + (|bpPush| (LIST (LIST "pile syntax error"))))))) (DEFUN |bpListAndRecover| (|f|) (PROG (|found| |c| |done| |b| |a|) - (DECLARE (SPECIAL |$inputStream| |$stack|)) + (DECLARE (SPECIAL |$stack| |$inputStream|)) (RETURN - (PROGN - (SETQ |a| |$stack|) - (SETQ |b| NIL) - (SETQ |$stack| NIL) - (SETQ |done| NIL) - (SETQ |c| |$inputStream|) - (LOOP - (COND - (|done| (RETURN NIL)) - (T (SETQ |found| - (LET ((#0=#:G1354 - (CATCH :OPEN-AXIOM-CATCH-POINT - (APPLY |f| NIL)))) - (COND - ((AND (CONSP #0#) - (EQUAL (CAR #0#) - :OPEN-AXIOM-CATCH-POINT)) + (PROGN + (SETQ |a| |$stack|) + (SETQ |b| NIL) + (SETQ |$stack| NIL) + (SETQ |done| NIL) + (SETQ |c| |$inputStream|) + (LOOP + (COND (|done| (RETURN NIL)) + (T + (SETQ |found| + (LET ((#1=#:G719 + (CATCH :OPEN-AXIOM-CATCH-POINT (APPLY |f| NIL)))) + (COND + ((AND (CONSP #1#) + (EQUAL (CAR #1#) :OPEN-AXIOM-CATCH-POINT)) (COND - ((EQUAL (CAR #1=(CDR #0#)) - '(|BootParserException|)) - (LET ((|e| (CDR #1#))) |e|)) - (T (THROW :OPEN-AXIOM-CATCH-POINT #0#)))) - (T #0#)))) - (COND - ((EQ |found| 'TRAPPED) (SETQ |$inputStream| |c|) - (|bpRecoverTrap|)) - ((NOT |found|) (SETQ |$inputStream| |c|) - (|bpGeneralErrorHere|) (|bpRecoverTrap|))) - (COND - ((|bpEqKey| 'BACKSET) (SETQ |c| |$inputStream|)) - ((OR (|bpEqPeek| 'BACKTAB) (NULL |$inputStream|)) - (SETQ |done| T)) - (T (SETQ |$inputStream| |c|) (|bpGeneralErrorHere|) - (|bpRecoverTrap|) - (COND + ((EQUAL (CAR #2=(CDR #1#)) '(|BootParserException|)) + (LET ((|e| (CDR #2#))) + |e|)) + (T (THROW :OPEN-AXIOM-CATCH-POINT #1#)))) + (T #1#)))) + (COND + ((EQ |found| 'TRAPPED) (SETQ |$inputStream| |c|) + (|bpRecoverTrap|)) + ((NOT |found|) (SETQ |$inputStream| |c|) (|bpGeneralErrorHere|) + (|bpRecoverTrap|))) + (COND ((|bpEqKey| 'BACKSET) (SETQ |c| |$inputStream|)) + ((OR (|bpEqPeek| 'BACKTAB) (NULL |$inputStream|)) + (SETQ |done| T)) + (T (SETQ |$inputStream| |c|) (|bpGeneralErrorHere|) + (|bpRecoverTrap|) + (COND ((OR (|bpEqPeek| 'BACKTAB) (NULL |$inputStream|)) (SETQ |done| T)) (T (|bpNext|) (SETQ |c| |$inputStream|))))) - (SETQ |b| (CONS (|bpPop1|) |b|))))) - (SETQ |$stack| |a|) - (|bpPush| (|reverse!| |b|)))))) + (SETQ |b| (CONS (|bpPop1|) |b|))))) + (SETQ |$stack| |a|) + (|bpPush| (|reverse!| |b|)))))) (DEFUN |bpMoveTo| (|n|) - (DECLARE (SPECIAL |$bpParenCount| |$bpCount| |$inputStream|)) - (COND - ((NULL |$inputStream|) T) - ((|bpEqPeek| 'BACKTAB) - (COND - ((EQL |n| 0) T) - (T (|bpNextToken|) (SETQ |$bpCount| (- |$bpCount| 1)) - (|bpMoveTo| (- |n| 1))))) - ((|bpEqPeek| 'BACKSET) - (COND ((EQL |n| 0) T) (T (|bpNextToken|) (|bpMoveTo| |n|)))) - ((|bpEqPeek| 'SETTAB) (|bpNextToken|) (|bpMoveTo| (+ |n| 1))) - ((|bpEqPeek| 'OPAREN) (|bpNextToken|) - (SETQ |$bpParenCount| (+ |$bpParenCount| 1)) (|bpMoveTo| |n|)) - ((|bpEqPeek| 'CPAREN) (|bpNextToken|) - (SETQ |$bpParenCount| (- |$bpParenCount| 1)) (|bpMoveTo| |n|)) - (T (|bpNextToken|) (|bpMoveTo| |n|)))) + (DECLARE (SPECIAL |$inputStream| |$bpCount| |$bpParenCount|)) + (COND ((NULL |$inputStream|) T) + ((|bpEqPeek| 'BACKTAB) + (COND ((EQL |n| 0) T) + (T (|bpNextToken|) (SETQ |$bpCount| (- |$bpCount| 1)) + (|bpMoveTo| (- |n| 1))))) + ((|bpEqPeek| 'BACKSET) + (COND ((EQL |n| 0) T) (T (|bpNextToken|) (|bpMoveTo| |n|)))) + ((|bpEqPeek| 'SETTAB) (|bpNextToken|) (|bpMoveTo| (+ |n| 1))) + ((|bpEqPeek| 'OPAREN) (|bpNextToken|) + (SETQ |$bpParenCount| (+ |$bpParenCount| 1)) (|bpMoveTo| |n|)) + ((|bpEqPeek| 'CPAREN) (|bpNextToken|) + (SETQ |$bpParenCount| (- |$bpParenCount| 1)) (|bpMoveTo| |n|)) + (T (|bpNextToken|) (|bpMoveTo| |n|)))) (DEFUN |bpQualifiedName| () (DECLARE (SPECIAL |$stok|)) (COND - ((|bpEqPeek| 'COLON-COLON) (|bpNext|) - (AND (CONSP |$stok|) (EQ (CAR |$stok|) 'ID) (|bpPushId|) - (|bpNext|) (|bpPush| (|bfColonColon| (|bpPop2|) (|bpPop1|))))) - (T NIL))) + ((|bpEqPeek| 'COLON-COLON) (|bpNext|) + (AND (CONSP |$stok|) (EQ (CAR |$stok|) 'ID) (|bpPushId|) (|bpNext|) + (|bpPush| (|bfColonColon| (|bpPop2|) (|bpPop1|))))) + (T NIL))) (DEFUN |bpName| () (DECLARE (SPECIAL |$stok|)) (COND - ((AND (CONSP |$stok|) (EQ (CAR |$stok|) 'ID)) (|bpPushId|) - (|bpNext|) (|bpAnyNo| #'|bpQualifiedName|)) - (T NIL))) + ((AND (CONSP |$stok|) (EQ (CAR |$stok|) 'ID)) (|bpPushId|) (|bpNext|) + (|bpAnyNo| #'|bpQualifiedName|)) + (T NIL))) (DEFUN |bpConstTok| () - (DECLARE (SPECIAL |$ttok| |$stok|)) + (DECLARE (SPECIAL |$stok| |$ttok|)) (COND - ((|symbolMember?| (|shoeTokType| |$stok|) '(INTEGER FLOAT)) - (|bpPush| |$ttok|) (|bpNext|)) - ((AND (CONSP |$stok|) (EQ (CAR |$stok|) 'LISP)) - (AND (|bpPush| (|%Lisp| |$ttok|)) (|bpNext|))) - ((AND (CONSP |$stok|) (EQ (CAR |$stok|) 'LISPEXP)) - (AND (|bpPush| |$ttok|) (|bpNext|))) - ((AND (CONSP |$stok|) (EQ (CAR |$stok|) 'LINE)) - (AND (|bpPush| (LIST '+LINE |$ttok|)) (|bpNext|))) - ((|bpEqPeek| 'QUOTE) (|bpNext|) - (AND (OR (|bpSexp|) (|bpTrap|)) - (|bpPush| (|bfSymbol| (|bpPop1|))))) - (T (|bpString|)))) + ((|symbolMember?| (|shoeTokType| |$stok|) '(INTEGER FLOAT)) + (|bpPush| |$ttok|) (|bpNext|)) + ((AND (CONSP |$stok|) (EQ (CAR |$stok|) 'LISP)) + (AND (|bpPush| (|%Lisp| |$ttok|)) (|bpNext|))) + ((AND (CONSP |$stok|) (EQ (CAR |$stok|) 'LISPEXP)) + (AND (|bpPush| |$ttok|) (|bpNext|))) + ((AND (CONSP |$stok|) (EQ (CAR |$stok|) 'LINE)) + (AND (|bpPush| (LIST '+LINE |$ttok|)) (|bpNext|))) + ((|bpEqPeek| 'QUOTE) (|bpNext|) + (AND (OR (|bpSexp|) (|bpTrap|)) (|bpPush| (|bfSymbol| (|bpPop1|))))) + (T (|bpString|)))) (DEFUN |bpExportItemTail| () - (OR (AND (|bpEqKey| 'BEC) (OR (|bpAssign|) (|bpTrap|)) - (|bpPush| (|%Assignment| (|bpPop2|) (|bpPop1|)))) - (|bpSimpleDefinitionTail|))) + (OR + (AND (|bpEqKey| 'BEC) (OR (|bpAssign|) (|bpTrap|)) + (|bpPush| (|%Assignment| (|bpPop2|) (|bpPop1|)))) + (|bpSimpleDefinitionTail|))) (DEFUN |bpExportItem| () (PROG (|a|) (RETURN - (COND - ((|bpEqPeek| 'STRUCTURE) (|bpStruct|)) - (T (SETQ |a| (|bpState|)) - (COND + (COND ((|bpEqPeek| 'STRUCTURE) (|bpStruct|)) + (T (SETQ |a| (|bpState|)) + (COND ((|bpName|) (COND - ((|bpEqPeek| 'COLON) (|bpRestore| |a|) - (OR (|bpSignature|) (|bpTrap|)) - (OR (|bpExportItemTail|) T)) - (T (|bpRestore| |a|) (|bpTypeAliasDefition|)))) + ((|bpEqPeek| 'COLON) (|bpRestore| |a|) + (OR (|bpSignature|) (|bpTrap|)) (OR (|bpExportItemTail|) T)) + (T (|bpRestore| |a|) (|bpTypeAliasDefition|)))) (T NIL))))))) (DEFUN |bpExportItemList| () (|bpListAndRecover| #'|bpExportItem|)) (DEFUN |bpModuleInterface| () (COND - ((|bpEqKey| 'WHERE) - (OR (|bpPileBracketed| #'|bpExportItemList|) - (AND (|bpExportItem|) (|bpPush| (LIST (|bpPop1|)))) - (|bpTrap|))) - (T (|bpPush| NIL)))) + ((|bpEqKey| 'WHERE) + (OR (|bpPileBracketed| #'|bpExportItemList|) + (AND (|bpExportItem|) (|bpPush| (LIST (|bpPop1|)))) (|bpTrap|))) + (T (|bpPush| NIL)))) (DEFUN |bpModuleExports| () - (COND - ((|bpParenthesized| #'|bpIdList|) - (|bpPush| (|bfUntuple| (|bpPop1|)))) - (T (|bpPush| NIL)))) + (COND ((|bpParenthesized| #'|bpIdList|) (|bpPush| (|bfUntuple| (|bpPop1|)))) + (T (|bpPush| NIL)))) (DEFUN |bpModule| () (COND - ((|bpEqKey| 'MODULE) (OR (|bpName|) (|bpTrap|)) (|bpModuleExports|) - (|bpModuleInterface|) - (|bpPush| (|%Module| (|bpPop3|) (|bpPop2|) (|bpPop1|)))) - (T NIL))) + ((|bpEqKey| 'MODULE) (OR (|bpName|) (|bpTrap|)) (|bpModuleExports|) + (|bpModuleInterface|) + (|bpPush| (|%Module| (|bpPop3|) (|bpPop2|) (|bpPop1|)))) + (T NIL))) (DEFUN |bpImport| () (PROG (|a|) (RETURN - (COND - ((|bpEqKey| 'IMPORT) - (COND - ((|bpNamespace|) (|bpPush| (|%Import| (|bpPop1|)))) - (T (SETQ |a| (|bpState|)) (OR (|bpName|) (|bpTrap|)) + (COND + ((|bpEqKey| 'IMPORT) + (COND ((|bpNamespace|) (|bpPush| (|%Import| (|bpPop1|)))) + (T (SETQ |a| (|bpState|)) (OR (|bpName|) (|bpTrap|)) (COND - ((|bpEqPeek| 'COLON) (|bpRestore| |a|) - (AND (OR (|bpSignature|) (|bpTrap|)) - (OR (|bpEqKey| 'FOR) (|bpTrap|)) - (OR (|bpName|) (|bpTrap|)) - (|bpPush| - (|%ImportSignature| (|bpPop1|) (|bpPop1|))))) - (T (|bpPush| (|%Import| (|bpPop1|)))))))) - (T NIL))))) + ((|bpEqPeek| 'COLON) (|bpRestore| |a|) + (AND (OR (|bpSignature|) (|bpTrap|)) + (OR (|bpEqKey| 'FOR) (|bpTrap|)) + (OR (|bpName|) (|bpTrap|)) + (|bpPush| (|%ImportSignature| (|bpPop1|) (|bpPop1|))))) + (T (|bpPush| (|%Import| (|bpPop1|)))))))) + (T NIL))))) (DEFUN |bpNamespace| () (AND (|bpEqKey| 'NAMESPACE) (OR (|bpName|) (|bpDot|)) (|bpPush| (|bfNamespace| (|bpPop1|))))) (DEFUN |bpTypeAliasDefition| () - (AND (OR (|bpTerm| #'|bpIdList|) (|bpTrap|)) (|bpEqKey| 'TDEF) - (|bpLogical|) (|bpPush| (|%TypeAlias| (|bpPop2|) (|bpPop1|))))) + (AND (OR (|bpTerm| #'|bpIdList|) (|bpTrap|)) (|bpEqKey| 'TDEF) (|bpLogical|) + (|bpPush| (|%TypeAlias| (|bpPop2|) (|bpPop1|))))) (DEFUN |bpSignature| () (AND (|bpName|) (|bpEqKey| 'COLON) (|bpTyping|) @@ -512,11 +465,11 @@ (DEFUN |bpSimpleMapping| () (COND - ((|bpApplication|) - (AND (|bpEqKey| 'ARROW) (OR (|bpApplication|) (|bpTrap|)) - (|bpPush| (|%Mapping| (|bpPop1|) (LIST (|bpPop1|))))) - T) - (T NIL))) + ((|bpApplication|) + (AND (|bpEqKey| 'ARROW) (OR (|bpApplication|) (|bpTrap|)) + (|bpPush| (|%Mapping| (|bpPop1|) (LIST (|bpPop1|))))) + T) + (T NIL))) (DEFUN |bpArgtypeList| () (|bpTuple| #'|bpApplication|)) @@ -528,28 +481,25 @@ (DEFUN |bpCancel| () (PROG (|a|) (RETURN - (PROGN - (SETQ |a| (|bpState|)) + (PROGN + (SETQ |a| (|bpState|)) + (COND + ((|bpEqKeyNextTok| 'SETTAB) (COND - ((|bpEqKeyNextTok| 'SETTAB) - (COND - ((|bpCancel|) - (COND - ((|bpEqKeyNextTok| 'BACKTAB) T) - (T (|bpRestore| |a|) NIL))) - ((|bpEqKeyNextTok| 'BACKTAB) T) - (T (|bpRestore| |a|) NIL))) - (T NIL)))))) + ((|bpCancel|) + (COND ((|bpEqKeyNextTok| 'BACKTAB) T) (T (|bpRestore| |a|) NIL))) + ((|bpEqKeyNextTok| 'BACKTAB) T) (T (|bpRestore| |a|) NIL))) + (T NIL)))))) (DEFUN |bpAddTokens| (|n|) (DECLARE (SPECIAL |$stok|)) - (COND - ((EQL |n| 0) NIL) - ((PLUSP |n|) - (CONS (|shoeTokConstruct| 'KEY 'SETTAB (|shoeTokPosn| |$stok|)) - (|bpAddTokens| (- |n| 1)))) - (T (CONS (|shoeTokConstruct| 'KEY 'BACKTAB (|shoeTokPosn| |$stok|)) - (|bpAddTokens| (+ |n| 1)))))) + (COND ((EQL |n| 0) NIL) + ((PLUSP |n|) + (CONS (|shoeTokConstruct| 'KEY 'SETTAB (|shoeTokPosn| |$stok|)) + (|bpAddTokens| (- |n| 1)))) + (T + (CONS (|shoeTokConstruct| 'KEY 'BACKTAB (|shoeTokPosn| |$stok|)) + (|bpAddTokens| (+ |n| 1)))))) (DEFUN |bpExceptions| () (OR (|bpEqPeek| 'DOT) (|bpEqPeek| 'QUOTE) (|bpEqPeek| 'OPAREN) @@ -558,27 +508,24 @@ (DEFUN |bpSexpKey| () (PROG (|a|) - (DECLARE (SPECIAL |$ttok| |$stok|)) + (DECLARE (SPECIAL |$stok| |$ttok|)) (RETURN - (COND - ((AND (CONSP |$stok|) (EQ (CAR |$stok|) 'KEY) - (NOT (|bpExceptions|))) - (SETQ |a| (GET |$ttok| 'SHOEINF)) - (COND - ((NULL |a|) (AND (|bpPush| |$ttok|) (|bpNext|))) - (T (AND (|bpPush| |a|) (|bpNext|))))) - (T NIL))))) + (COND + ((AND (CONSP |$stok|) (EQ (CAR |$stok|) 'KEY) (NOT (|bpExceptions|))) + (SETQ |a| (GET |$ttok| 'SHOEINF)) + (COND ((NULL |a|) (AND (|bpPush| |$ttok|) (|bpNext|))) + (T (AND (|bpPush| |a|) (|bpNext|))))) + (T NIL))))) (DEFUN |bpAnyId| () - (DECLARE (SPECIAL |$ttok| |$stok|)) - (OR (AND (|bpEqKey| 'MINUS) - (OR (AND (CONSP |$stok|) (EQ (CAR |$stok|) 'INTEGER)) - (|bpTrap|)) - (|bpPush| (- |$ttok|)) (|bpNext|)) - (|bpSexpKey|) - (AND (|symbolMember?| (|shoeTokType| |$stok|) - '(ID INTEGER STRING FLOAT)) - (|bpPush| |$ttok|) (|bpNext|)))) + (DECLARE (SPECIAL |$stok| |$ttok|)) + (OR + (AND (|bpEqKey| 'MINUS) + (OR (AND (CONSP |$stok|) (EQ (CAR |$stok|) 'INTEGER)) (|bpTrap|)) + (|bpPush| (- |$ttok|)) (|bpNext|)) + (|bpSexpKey|) + (AND (|symbolMember?| (|shoeTokType| |$stok|) '(ID INTEGER STRING FLOAT)) + (|bpPush| |$ttok|) (|bpNext|)))) (DEFUN |bpSexp| () (OR (|bpAnyId|) @@ -587,24 +534,23 @@ (|bpIndentParenthesized| #'|bpSexp1|))) (DEFUN |bpSexp1| () - (OR (AND (|bpFirstTok|) (|bpSexp|) - (OR (AND (|bpEqKey| 'DOT) (|bpSexp|) - (|bpPush| (CONS (|bpPop2|) (|bpPop1|)))) - (AND (|bpSexp1|) - (|bpPush| (CONS (|bpPop2|) (|bpPop1|)))))) - (|bpPush| NIL))) + (OR + (AND (|bpFirstTok|) (|bpSexp|) + (OR + (AND (|bpEqKey| 'DOT) (|bpSexp|) + (|bpPush| (CONS (|bpPop2|) (|bpPop1|)))) + (AND (|bpSexp1|) (|bpPush| (CONS (|bpPop2|) (|bpPop1|)))))) + (|bpPush| NIL))) (DEFUN |bpPrimary1| () - (OR (|bpParenthesizedApplication|) (|bpDot|) (|bpConstTok|) - (|bpConstruct|) (|bpCase|) (|bpStruct|) (|bpPDefinition|) - (|bpBPileDefinition|))) + (OR (|bpParenthesizedApplication|) (|bpDot|) (|bpConstTok|) (|bpConstruct|) + (|bpCase|) (|bpStruct|) (|bpPDefinition|) (|bpBPileDefinition|))) (DEFUN |bpParenthesizedApplication| () (AND (|bpName|) (|bpAnyNo| #'|bpArgumentList|))) (DEFUN |bpArgumentList| () - (AND (|bpPDefinition|) - (|bpPush| (|bfApplication| (|bpPop2|) (|bpPop1|))))) + (AND (|bpPDefinition|) (|bpPush| (|bfApplication| (|bpPop2|) (|bpPop1|))))) (DEFUN |bpPrimary| () (AND (|bpFirstTok|) (OR (|bpPrimary1|) (|bpPrefixOperator|)))) @@ -612,95 +558,94 @@ (DEFUN |bpDot| () (AND (|bpEqKey| 'DOT) (|bpPush| (|bfDot|)))) (DEFUN |bpPrefixOperator| () - (DECLARE (SPECIAL |$ttok| |$stok|)) + (DECLARE (SPECIAL |$stok| |$ttok|)) (AND (CONSP |$stok|) (EQ (CAR |$stok|) 'KEY) (GET |$ttok| 'SHOEPRE) (|bpPushId|) (|bpNext|))) (DEFUN |bpInfixOperator| () - (DECLARE (SPECIAL |$ttok| |$stok|)) + (DECLARE (SPECIAL |$stok| |$ttok|)) (AND (CONSP |$stok|) (EQ (CAR |$stok|) 'KEY) (GET |$ttok| 'SHOEINF) (|bpPushId|) (|bpNext|))) (DEFUN |bpSelector| () (AND (|bpEqKey| 'DOT) - (OR (AND (|bpPrimary|) - (|bpPush| (|bfElt| (|bpPop2|) (|bpPop1|)))) + (OR (AND (|bpPrimary|) (|bpPush| (|bfElt| (|bpPop2|) (|bpPop1|)))) (|bpPush| (|bfSuffixDot| (|bpPop1|)))))) (DEFUN |bpApplication| () - (OR (AND (|bpPrimary|) (|bpAnyNo| #'|bpSelector|) - (OR (AND (|bpApplication|) - (|bpPush| (|bfApplication| (|bpPop2|) (|bpPop1|)))) - T)) - (|bpNamespace|))) + (OR + (AND (|bpPrimary|) (|bpAnyNo| #'|bpSelector|) + (OR + (AND (|bpApplication|) + (|bpPush| (|bfApplication| (|bpPop2|) (|bpPop1|)))) + T)) + (|bpNamespace|))) (DEFUN |bpTyping| () (COND - ((|bpEqKey| 'FORALL) (OR (|bpVariable|) (|bpTrap|)) - (OR (AND (|bpDot|) (|bpPop1|)) (|bpTrap|)) - (OR (|bpTyping|) (|bpTrap|)) - (|bpPush| (|%Forall| (|bpPop2|) (|bpPop1|)))) - (T (OR (|bpMapping|) (|bpSimpleMapping|))))) + ((|bpEqKey| 'FORALL) (OR (|bpVariable|) (|bpTrap|)) + (OR (AND (|bpDot|) (|bpPop1|)) (|bpTrap|)) (OR (|bpTyping|) (|bpTrap|)) + (|bpPush| (|%Forall| (|bpPop2|) (|bpPop1|)))) + (T (OR (|bpMapping|) (|bpSimpleMapping|))))) (DEFUN |bpTagged| () (AND (|bpApplication|) - (OR (AND (|bpEqKey| 'COLON) (OR (|bpTyping|) (|bpTrap|)) - (|bpPush| (|bfTagged| (|bpPop2|) (|bpPop1|)))) - T))) + (OR + (AND (|bpEqKey| 'COLON) (OR (|bpTyping|) (|bpTrap|)) + (|bpPush| (|bfTagged| (|bpPop2|) (|bpPop1|)))) + T))) (DEFUN |bpExpt| () (|bpRightAssoc| '(POWER) #'|bpTagged|)) (DEFUN |bpInfKey| (|s|) - (DECLARE (SPECIAL |$ttok| |$stok|)) - (AND (CONSP |$stok|) (EQ (CAR |$stok|) 'KEY) - (|symbolMember?| |$ttok| |s|) (|bpPushId|) (|bpNext|))) + (DECLARE (SPECIAL |$stok| |$ttok|)) + (AND (CONSP |$stok|) (EQ (CAR |$stok|) 'KEY) (|symbolMember?| |$ttok| |s|) + (|bpPushId|) (|bpNext|))) -(DEFUN |bpInfGeneric| (|s|) - (AND (|bpInfKey| |s|) (OR (|bpEqKey| 'BACKSET) T))) +(DEFUN |bpInfGeneric| (|s|) (AND (|bpInfKey| |s|) (OR (|bpEqKey| 'BACKSET) T))) (DEFUN |bpRightAssoc| (|o| |p|) (PROG (|a|) (RETURN - (PROGN - (SETQ |a| (|bpState|)) - (COND - ((APPLY |p| NIL) - (LOOP - (COND - ((NOT (AND (|bpInfGeneric| |o|) - (OR (|bpRightAssoc| |o| |p|) (|bpTrap|)))) - (RETURN NIL)) - (T (|bpPush| - (|bfInfApplication| (|bpPop2|) (|bpPop2|) - (|bpPop1|)))))) - T) - (T (|bpRestore| |a|) NIL)))))) + (PROGN + (SETQ |a| (|bpState|)) + (COND + ((APPLY |p| NIL) + (LOOP + (COND + ((NOT + (AND (|bpInfGeneric| |o|) + (OR (|bpRightAssoc| |o| |p|) (|bpTrap|)))) + (RETURN NIL)) + (T + (|bpPush| (|bfInfApplication| (|bpPop2|) (|bpPop2|) (|bpPop1|)))))) + T) + (T (|bpRestore| |a|) NIL)))))) (DEFUN |bpLeftAssoc| (|operations| |parser|) (COND - ((APPLY |parser| NIL) - (LOOP - (COND - ((NOT (AND (|bpInfGeneric| |operations|) - (OR (APPLY |parser| NIL) (|bpTrap|)))) - (RETURN NIL)) - (T (|bpPush| - (|bfInfApplication| (|bpPop2|) (|bpPop2|) (|bpPop1|)))))) - T) - (T NIL))) + ((APPLY |parser| NIL) + (LOOP + (COND + ((NOT + (AND (|bpInfGeneric| |operations|) + (OR (APPLY |parser| NIL) (|bpTrap|)))) + (RETURN NIL)) + (T (|bpPush| (|bfInfApplication| (|bpPop2|) (|bpPop2|) (|bpPop1|)))))) + T) + (T NIL))) (DEFUN |bpString| () - (DECLARE (SPECIAL |$ttok| |$stok|)) + (DECLARE (SPECIAL |$stok| |$ttok|)) (AND (EQ (|shoeTokType| |$stok|) 'STRING) (|bpPush| (|quote| (INTERN |$ttok|))) (|bpNext|))) (DEFUN |bpThetaName| () - (DECLARE (SPECIAL |$ttok| |$stok|)) + (DECLARE (SPECIAL |$stok| |$ttok|)) (COND - ((AND (CONSP |$stok|) (EQ (CAR |$stok|) 'ID) - (GET |$ttok| 'SHOETHETA)) - (|bpPushId|) (|bpNext|)) - (T NIL))) + ((AND (CONSP |$stok|) (EQ (CAR |$stok|) 'ID) (GET |$ttok| 'SHOETHETA)) + (|bpPushId|) (|bpNext|)) + (T NIL))) (DEFUN |bpReduceOperator| () (OR (|bpInfixOperator|) (|bpString|) (|bpThetaName|))) @@ -708,82 +653,80 @@ (DEFUN |bpReduce| () (PROG (|a|) (RETURN - (PROGN - (SETQ |a| (|bpState|)) + (PROGN + (SETQ |a| (|bpState|)) + (COND + ((AND (|bpReduceOperator|) (|bpEqKey| 'SLASH)) (COND - ((AND (|bpReduceOperator|) (|bpEqKey| 'SLASH)) - (COND - ((|bpEqPeek| 'OBRACK) - (AND (OR (|bpDConstruct|) (|bpTrap|)) - (|bpPush| (|bfReduceCollect| (|bpPop2|) (|bpPop1|))))) - (T (AND (OR (|bpApplication|) (|bpTrap|)) - (|bpPush| (|bfReduce| (|bpPop2|) (|bpPop1|))))))) - (T (|bpRestore| |a|) NIL)))))) + ((|bpEqPeek| 'OBRACK) + (AND (OR (|bpDConstruct|) (|bpTrap|)) + (|bpPush| (|bfReduceCollect| (|bpPop2|) (|bpPop1|))))) + (T + (AND (OR (|bpApplication|) (|bpTrap|)) + (|bpPush| (|bfReduce| (|bpPop2|) (|bpPop1|))))))) + (T (|bpRestore| |a|) NIL)))))) -(DEFUN |bpTimes| () - (OR (|bpReduce|) (|bpLeftAssoc| '(TIMES SLASH) #'|bpExpt|))) +(DEFUN |bpTimes| () (OR (|bpReduce|) (|bpLeftAssoc| '(TIMES SLASH) #'|bpExpt|))) (DEFUN |bpEuclid| () (|bpLeftAssoc| '(QUO REM) #'|bpTimes|)) (DEFUN |bpMinus| () - (OR (AND (|bpInfGeneric| '(MINUS)) (OR (|bpEuclid|) (|bpTrap|)) - (|bpPush| (|bfApplication| (|bpPop2|) (|bpPop1|)))) - (|bpEuclid|))) + (OR + (AND (|bpInfGeneric| '(MINUS)) (OR (|bpEuclid|) (|bpTrap|)) + (|bpPush| (|bfApplication| (|bpPop2|) (|bpPop1|)))) + (|bpEuclid|))) (DEFUN |bpArith| () (|bpLeftAssoc| '(PLUS MINUS) #'|bpMinus|)) (DEFUN |bpIs| () (AND (|bpArith|) (COND - ((AND (|bpInfKey| '(IS ISNT)) (OR (|bpPattern|) (|bpTrap|))) - (|bpPush| - (|bfISApplication| (|bpPop2|) (|bpPop2|) (|bpPop1|)))) - ((AND (|bpEqKey| 'HAS) (OR (|bpApplication|) (|bpTrap|))) - (|bpPush| (|bfHas| (|bpPop2|) (|bpPop1|)))) - (T T)))) + ((AND (|bpInfKey| '(IS ISNT)) (OR (|bpPattern|) (|bpTrap|))) + (|bpPush| (|bfISApplication| (|bpPop2|) (|bpPop2|) (|bpPop1|)))) + ((AND (|bpEqKey| 'HAS) (OR (|bpApplication|) (|bpTrap|))) + (|bpPush| (|bfHas| (|bpPop2|) (|bpPop1|)))) + (T T)))) (DEFUN |bpBracketConstruct| (|f|) (AND (|bpBracket| |f|) (|bpPush| (|bfConstruct| (|bpPop1|))))) (DEFUN |bpCompare| () - (OR (AND (|bpIs|) - (OR (AND (|bpInfKey| '(SHOEEQ SHOENE LT LE GT GE IN)) - (OR (|bpIs|) (|bpTrap|)) - (|bpPush| - (|bfInfApplication| (|bpPop2|) (|bpPop2|) - (|bpPop1|)))) - T)) - (|bpLeave|) (|bpThrow|))) + (OR + (AND (|bpIs|) + (OR + (AND (|bpInfKey| '(SHOEEQ SHOENE LT LE GT GE IN)) + (OR (|bpIs|) (|bpTrap|)) + (|bpPush| (|bfInfApplication| (|bpPop2|) (|bpPop2|) (|bpPop1|)))) + T)) + (|bpLeave|) (|bpThrow|))) (DEFUN |bpAnd| () (|bpLeftAssoc| '(AND) #'|bpCompare|)) (DEFUN |bpThrow| () (COND - ((AND (|bpEqKey| 'THROW) (|bpApplication|)) - (COND - ((|bpEqKey| 'COLON) (OR (|bpApplication|) (|bpTrap|)) - (|bpPush| (|%Pretend| (|bpPop2|) (|bpPop1|))))) - (|bpPush| (|bfThrow| (|bpPop1|)))) - (T NIL))) + ((AND (|bpEqKey| 'THROW) (|bpApplication|)) + (COND + ((|bpEqKey| 'COLON) (OR (|bpApplication|) (|bpTrap|)) + (|bpPush| (|%Pretend| (|bpPop2|) (|bpPop1|))))) + (|bpPush| (|bfThrow| (|bpPop1|)))) + (T NIL))) (DEFUN |bpTry| () (PROG (|cs|) (RETURN - (COND - ((|bpEqKey| 'TRY) (|bpAssign|) (SETQ |cs| NIL) - (LOOP - (COND - ((NOT (|bpHandler| 'CATCH)) (RETURN NIL)) - (T (|bpCatchItem|) (SETQ |cs| (CONS (|bpPop1|) |cs|))))) - (COND - ((|bpHandler| 'FINALLY) - (AND (|bpFinally|) - (|bpPush| - (|bfTry| (|bpPop2|) - (|reverse!| (CONS (|bpPop1|) |cs|)))))) - ((NULL |cs|) (|bpTrap|)) - (T (|bpPush| (|bfTry| (|bpPop1|) (|reverse!| |cs|)))))) - (T NIL))))) + (COND + ((|bpEqKey| 'TRY) (|bpAssign|) (SETQ |cs| NIL) + (LOOP + (COND ((NOT (|bpHandler| 'CATCH)) (RETURN NIL)) + (T (|bpCatchItem|) (SETQ |cs| (CONS (|bpPop1|) |cs|))))) + (COND + ((|bpHandler| 'FINALLY) + (AND (|bpFinally|) + (|bpPush| + (|bfTry| (|bpPop2|) (|reverse!| (CONS (|bpPop1|) |cs|)))))) + ((NULL |cs|) (|bpTrap|)) + (T (|bpPush| (|bfTry| (|bpPop1|) (|reverse!| |cs|)))))) + (T NIL))))) (DEFUN |bpCatchItem| () (AND (OR (|bpExceptionVariable|) (|bpTrap|)) @@ -794,11 +737,12 @@ (PROG (|t|) (DECLARE (SPECIAL |$stok|)) (RETURN - (PROGN - (SETQ |t| |$stok|) - (OR (AND (|bpEqKey| 'OPAREN) (OR (|bpSignature|) (|bpTrap|)) - (OR (|bpEqKey| 'CPAREN) (|bpMissing| |t|))) - (|bpTrap|)))))) + (PROGN + (SETQ |t| |$stok|) + (OR + (AND (|bpEqKey| 'OPAREN) (OR (|bpSignature|) (|bpTrap|)) + (OR (|bpEqKey| 'CPAREN) (|bpMissing| |t|))) + (|bpTrap|)))))) (DEFUN |bpFinally| () (AND (OR (|bpAssign|) (|bpTrap|)) (|bpPush| (|%Finally| (|bpPop1|))))) @@ -806,13 +750,13 @@ (DEFUN |bpHandler| (|key|) (PROG (|s|) (RETURN - (PROGN - (SETQ |s| (|bpState|)) - (COND - ((AND (OR (|bpEqKey| 'BACKSET) (|bpEqKey| 'SEMICOLON)) - (|bpEqKey| |key|)) - T) - (T (|bpRestore| |s|) NIL)))))) + (PROGN + (SETQ |s| (|bpState|)) + (COND + ((AND (OR (|bpEqKey| 'BACKSET) (|bpEqKey| 'SEMICOLON)) + (|bpEqKey| |key|)) + T) + (T (|bpRestore| |s|) NIL)))))) (DEFUN |bpLeave| () (AND (|bpEqKey| 'LEAVE) (OR (|bpLogical|) (|bpTrap|)) @@ -820,36 +764,36 @@ (DEFUN |bpDo| () (COND - ((|bpEqKey| 'IN) (OR (|bpNamespace|) (|bpTrap|)) - (OR (|bpDo|) (|bpTrap|)) - (|bpPush| (|bfAtScope| (|bpPop2|) (|bpPop1|)))) - (T (AND (|bpEqKey| 'DO) (OR (|bpAssign|) (|bpTrap|)) - (|bpPush| (|bfDo| (|bpPop1|))))))) + ((|bpEqKey| 'IN) (OR (|bpNamespace|) (|bpTrap|)) (OR (|bpDo|) (|bpTrap|)) + (|bpPush| (|bfAtScope| (|bpPop2|) (|bpPop1|)))) + (T + (AND (|bpEqKey| 'DO) (OR (|bpAssign|) (|bpTrap|)) + (|bpPush| (|bfDo| (|bpPop1|))))))) (DEFUN |bpReturn| () - (OR (AND (|bpEqKey| 'RETURN) (OR (|bpAssign|) (|bpTrap|)) - (|bpPush| (|bfReturnNoName| (|bpPop1|)))) - (|bpLeave|) (|bpThrow|) (|bpAnd|) (|bpDo|))) + (OR + (AND (|bpEqKey| 'RETURN) (OR (|bpAssign|) (|bpTrap|)) + (|bpPush| (|bfReturnNoName| (|bpPop1|)))) + (|bpLeave|) (|bpThrow|) (|bpAnd|) (|bpDo|))) (DEFUN |bpLogical| () (|bpLeftAssoc| '(OR) #'|bpReturn|)) (DEFUN |bpExpression| () - (OR (AND (|bpEqKey| 'COLON) - (OR (AND (|bpLogical|) - (|bpPush| (|bfApplication| 'COLON (|bpPop1|)))) - (|bpTrap|))) - (|bpLogical|))) + (OR + (AND (|bpEqKey| 'COLON) + (OR (AND (|bpLogical|) (|bpPush| (|bfApplication| 'COLON (|bpPop1|)))) + (|bpTrap|))) + (|bpLogical|))) (DEFUN |bpStatement| () - (OR (|bpConditional| #'|bpWhere|) (|bpLoop|) (|bpExpression|) - (|bpTry|))) + (OR (|bpConditional| #'|bpWhere|) (|bpLoop|) (|bpExpression|) (|bpTry|))) (DEFUN |bpLoop| () - (OR (AND (|bpIterators|) (|bpCompMissing| 'REPEAT) - (OR (|bpWhere|) (|bpTrap|)) - (|bpPush| (|bfLp| (|bpPop2|) (|bpPop1|)))) - (AND (|bpEqKey| 'REPEAT) (OR (|bpLogical|) (|bpTrap|)) - (|bpPush| (|bfLoop1| (|bpPop1|)))))) + (OR + (AND (|bpIterators|) (|bpCompMissing| 'REPEAT) (OR (|bpWhere|) (|bpTrap|)) + (|bpPush| (|bfLp| (|bpPop2|) (|bpPop1|)))) + (AND (|bpEqKey| 'REPEAT) (OR (|bpLogical|) (|bpTrap|)) + (|bpPush| (|bfLoop1| (|bpPop1|)))))) (DEFUN |bpSuchThat| () (|bpAndOr| 'BAR #'|bpWhere| #'|bfSuchthat|)) @@ -860,32 +804,28 @@ (DEFUN |bpFormal| () (OR (|bpVariable|) (|bpDot|))) (DEFUN |bpForIn| () - (AND (|bpEqKey| 'FOR) (OR (|bpFormal|) (|bpTrap|)) - (|bpCompMissing| 'IN) - (OR (AND (OR (|bpSeg|) (|bpTrap|)) (|bpEqKey| 'BY) - (OR (|bpArith|) (|bpTrap|)) - (|bpPush| - (|bfForInBy| (|bpPop3|) (|bpPop2|) (|bpPop1|)))) - (|bpPush| (|bfForin| (|bpPop2|) (|bpPop1|)))))) + (AND (|bpEqKey| 'FOR) (OR (|bpFormal|) (|bpTrap|)) (|bpCompMissing| 'IN) + (OR + (AND (OR (|bpSeg|) (|bpTrap|)) (|bpEqKey| 'BY) + (OR (|bpArith|) (|bpTrap|)) + (|bpPush| (|bfForInBy| (|bpPop3|) (|bpPop2|) (|bpPop1|)))) + (|bpPush| (|bfForin| (|bpPop2|) (|bpPop1|)))))) (DEFUN |bpSeg| () (AND (|bpArith|) - (OR (AND (|bpEqKey| 'SEG) - (OR (AND (|bpArith|) - (|bpPush| - (|bfSegment2| (|bpPop2|) (|bpPop1|)))) - (|bpPush| (|bfSegment1| (|bpPop1|))))) - T))) + (OR + (AND (|bpEqKey| 'SEG) + (OR + (AND (|bpArith|) (|bpPush| (|bfSegment2| (|bpPop2|) (|bpPop1|)))) + (|bpPush| (|bfSegment1| (|bpPop1|))))) + T))) -(DEFUN |bpIterator| () - (OR (|bpForIn|) (|bpSuchThat|) (|bpWhile|) (|bpUntil|))) +(DEFUN |bpIterator| () (OR (|bpForIn|) (|bpSuchThat|) (|bpWhile|) (|bpUntil|))) (DEFUN |bpIteratorList| () - (AND (|bpOneOrMore| #'|bpIterator|) - (|bpPush| (|bfIterators| (|bpPop1|))))) + (AND (|bpOneOrMore| #'|bpIterator|) (|bpPush| (|bfIterators| (|bpPop1|))))) -(DEFUN |bpCrossBackSet| () - (AND (|bpEqKey| 'CROSS) (OR (|bpEqKey| 'BACKSET) T))) +(DEFUN |bpCrossBackSet| () (AND (|bpEqKey| 'CROSS) (OR (|bpEqKey| 'BACKSET) T))) (DEFUN |bpIterators| () (|bpListofFun| #'|bpIteratorList| #'|bpCrossBackSet| #'|bfCross|)) @@ -893,21 +833,18 @@ (DEFUN |bpAssign| () (PROG (|a|) (RETURN - (PROGN - (SETQ |a| (|bpState|)) + (PROGN + (SETQ |a| (|bpState|)) + (COND + ((|bpStatement|) (COND - ((|bpStatement|) - (COND - ((|bpEqPeek| 'BEC) (|bpRestore| |a|) - (OR (|bpAssignment|) (|bpTrap|))) - ((|bpEqPeek| 'GIVES) (|bpRestore| |a|) - (OR (|bpLambda|) (|bpTrap|))) - (T T))) - (T (|bpRestore| |a|) NIL)))))) + ((|bpEqPeek| 'BEC) (|bpRestore| |a|) (OR (|bpAssignment|) (|bpTrap|))) + ((|bpEqPeek| 'GIVES) (|bpRestore| |a|) (OR (|bpLambda|) (|bpTrap|))) + (T T))) + (T (|bpRestore| |a|) NIL)))))) (DEFUN |bpAssignment| () - (AND (|bpAssignVariable|) (|bpEqKey| 'BEC) - (OR (|bpAssign|) (|bpTrap|)) + (AND (|bpAssignVariable|) (|bpEqKey| 'BEC) (OR (|bpAssign|) (|bpTrap|)) (|bpPush| (|bfAssign| (|bpPop2|) (|bpPop1|))))) (DEFUN |bpLambda| () @@ -916,35 +853,35 @@ (DEFUN |bpExit| () (AND (|bpAssign|) - (OR (AND (|bpEqKey| 'EXIT) (OR (|bpWhere|) (|bpTrap|)) - (|bpPush| (|bfExit| (|bpPop2|) (|bpPop1|)))) - T))) + (OR + (AND (|bpEqKey| 'EXIT) (OR (|bpWhere|) (|bpTrap|)) + (|bpPush| (|bfExit| (|bpPop2|) (|bpPop1|)))) + T))) (DEFUN |bpDefinition| () (PROG (|a|) (RETURN - (COND - ((|bpEqKey| 'MACRO) - (OR (AND (|bpName|) (|bpStoreName|) - (|bpCompoundDefinitionTail| #'|%Macro|)) - (|bpTrap|))) - (T (SETQ |a| (|bpState|)) - (COND - ((|bpExit|) - (COND - ((|bpEqPeek| 'DEF) (|bpRestore| |a|) (|bpDef|)) - ((|bpEqPeek| 'TDEF) (|bpRestore| |a|) - (|bpTypeAliasDefition|)) - (T T))) - (T (|bpRestore| |a|) NIL))))))) + (COND + ((|bpEqKey| 'MACRO) + (OR + (AND (|bpName|) (|bpStoreName|) + (|bpCompoundDefinitionTail| #'|%Macro|)) + (|bpTrap|))) + (T (SETQ |a| (|bpState|)) + (COND + ((|bpExit|) + (COND ((|bpEqPeek| 'DEF) (|bpRestore| |a|) (|bpDef|)) + ((|bpEqPeek| 'TDEF) (|bpRestore| |a|) (|bpTypeAliasDefition|)) + (T T))) + (T (|bpRestore| |a|) NIL))))))) (DEFUN |bpStoreName| () - (DECLARE (SPECIAL |$typings| |$wheredefs| |$op| |$stack|)) + (DECLARE (SPECIAL |$stack| |$op| |$wheredefs| |$typings|)) (PROGN - (SETQ |$op| (CAR |$stack|)) - (SETQ |$wheredefs| NIL) - (SETQ |$typings| NIL) - T)) + (SETQ |$op| (CAR |$stack|)) + (SETQ |$wheredefs| NIL) + (SETQ |$typings| NIL) + T)) (DEFUN |bpDef| () (AND (|bpName|) (|bpStoreName|) (|bpDefTail| #'|%Definition|))) @@ -964,24 +901,22 @@ (DEFUN |bpWhere| () (AND (|bpDefinition|) - (OR (AND (|bpEqKey| 'WHERE) (OR (|bpDefinitionItem|) (|bpTrap|)) - (|bpPush| (|bfWhere| (|bpPop1|) (|bpPop1|)))) - T))) + (OR + (AND (|bpEqKey| 'WHERE) (OR (|bpDefinitionItem|) (|bpTrap|)) + (|bpPush| (|bfWhere| (|bpPop1|) (|bpPop1|)))) + T))) (DEFUN |bpDefinitionItem| () (PROG (|a|) (RETURN - (PROGN - (SETQ |a| (|bpState|)) - (COND - ((|bpDDef|) T) - (T (|bpRestore| |a|) - (COND - ((|bpBDefinitionPileItems|) T) - (T (|bpRestore| |a|) - (COND - ((|bpPDefinitionItems|) T) - (T (|bpRestore| |a|) (|bpWhere|))))))))))) + (PROGN + (SETQ |a| (|bpState|)) + (COND ((|bpDDef|) T) + (T (|bpRestore| |a|) + (COND ((|bpBDefinitionPileItems|) T) + (T (|bpRestore| |a|) + (COND ((|bpPDefinitionItems|) T) + (T (|bpRestore| |a|) (|bpWhere|))))))))))) (DEFUN |bpDefinitionPileItems| () (AND (|bpListAndRecover| #'|bpDefinitionItem|) @@ -993,23 +928,18 @@ (DEFUN |bpSemiColonDefinition| () (|bpSemiListing| #'|bpDefinitionItem| #'|%Pile|)) -(DEFUN |bpPDefinitionItems| () - (|bpParenthesized| #'|bpSemiColonDefinition|)) +(DEFUN |bpPDefinitionItems| () (|bpParenthesized| #'|bpSemiColonDefinition|)) (DEFUN |bpComma| () - (OR (|bpModule|) (|bpImport|) (|bpNamespace|) - (|bpTuple| #'|bpWhere|))) + (OR (|bpModule|) (|bpImport|) (|bpNamespace|) (|bpTuple| #'|bpWhere|))) -(DEFUN |bpTuple| (|p|) - (|bpListofFun| |p| #'|bpCommaBackSet| #'|bfTuple|)) +(DEFUN |bpTuple| (|p|) (|bpListofFun| |p| #'|bpCommaBackSet| #'|bfTuple|)) -(DEFUN |bpCommaBackSet| () - (AND (|bpEqKey| 'COMMA) (OR (|bpEqKey| 'BACKSET) T))) +(DEFUN |bpCommaBackSet| () (AND (|bpEqKey| 'COMMA) (OR (|bpEqKey| 'BACKSET) T))) (DEFUN |bpSemiColon| () (|bpSemiListing| #'|bpComma| #'|bfSequence|)) -(DEFUN |bpSemiListing| (|p| |f|) - (|bpListofFun| |p| #'|bpSemiBackSet| |f|)) +(DEFUN |bpSemiListing| (|p| |f|) (|bpListofFun| |p| #'|bpSemiBackSet| |f|)) (DEFUN |bpSemiBackSet| () (AND (|bpEqKey| 'SEMICOLON) (OR (|bpEqKey| 'BACKSET) T))) @@ -1022,39 +952,39 @@ (DEFUN |bpBPileDefinition| () (|bpPileBracketed| #'|bpPileItems|)) -(DEFUN |bpIteratorTail| () - (AND (OR (|bpEqKey| 'REPEAT) T) (|bpIterators|))) +(DEFUN |bpIteratorTail| () (AND (OR (|bpEqKey| 'REPEAT) T) (|bpIterators|))) (DEFUN |bpConstruct| () (|bpBracket| #'|bpConstruction|)) (DEFUN |bpConstruction| () (AND (|bpComma|) - (OR (AND (|bpIteratorTail|) - (|bpPush| (|bfCollect| (|bpPop2|) (|bpPop1|)))) - (|bpPush| (|bfTupleConstruct| (|bpPop1|)))))) + (OR + (AND (|bpIteratorTail|) (|bpPush| (|bfCollect| (|bpPop2|) (|bpPop1|)))) + (|bpPush| (|bfTupleConstruct| (|bpPop1|)))))) (DEFUN |bpDConstruct| () (|bpBracket| #'|bpDConstruction|)) (DEFUN |bpDConstruction| () (AND (|bpComma|) - (OR (AND (|bpIteratorTail|) - (|bpPush| (|bfDCollect| (|bpPop2|) (|bpPop1|)))) - (|bpPush| (|bfDTuple| (|bpPop1|)))))) + (OR + (AND (|bpIteratorTail|) + (|bpPush| (|bfDCollect| (|bpPop2|) (|bpPop1|)))) + (|bpPush| (|bfDTuple| (|bpPop1|)))))) (DEFUN |bpPattern| () (OR (|bpBracketConstruct| #'|bpPatternL|) (|bpName|) (|bpConstTok|))) (DEFUN |bpEqual| () - (AND (|bpEqKey| 'SHOEEQ) - (OR (|bpApplication|) (|bpConstTok|) (|bpTrap|)) + (AND (|bpEqKey| 'SHOEEQ) (OR (|bpApplication|) (|bpConstTok|) (|bpTrap|)) (|bpPush| (|bfEqual| (|bpPop1|))))) (DEFUN |bpRegularPatternItem| () (OR (|bpEqual|) (|bpConstTok|) (|bpDot|) (AND (|bpName|) - (OR (AND (|bpEqKey| 'BEC) (OR (|bpPattern|) (|bpTrap|)) - (|bpPush| (|bfAssign| (|bpPop2|) (|bpPop1|)))) - T)) + (OR + (AND (|bpEqKey| 'BEC) (OR (|bpPattern|) (|bpTrap|)) + (|bpPush| (|bfAssign| (|bpPop2|) (|bpPop1|)))) + T)) (|bpBracketConstruct| #'|bpPatternL|))) (DEFUN |bpRegularPatternItemL| () @@ -1072,37 +1002,40 @@ (DEFUN |bpPatternList| () (COND - ((|bpRegularPatternItemL|) - (LOOP - (COND - ((NOT (AND (|bpEqKey| 'COMMA) - (OR (|bpRegularPatternItemL|) - (PROGN - (OR (AND (|bpPatternTail|) - (|bpPush| - (|append| (|bpPop2|) (|bpPop1|)))) - (|bpTrap|)) - NIL)))) - (RETURN NIL)) - (T (|bpPush| (|append| (|bpPop2|) (|bpPop1|)))))) - T) - (T (|bpPatternTail|)))) + ((|bpRegularPatternItemL|) + (LOOP + (COND + ((NOT + (AND (|bpEqKey| 'COMMA) + (OR (|bpRegularPatternItemL|) + (PROGN + (OR + (AND (|bpPatternTail|) + (|bpPush| (|append| (|bpPop2|) (|bpPop1|)))) + (|bpTrap|)) + NIL)))) + (RETURN NIL)) + (T (|bpPush| (|append| (|bpPop2|) (|bpPop1|)))))) + T) + (T (|bpPatternTail|)))) (DEFUN |bpPatternTail| () (AND (|bpPatternColon|) - (OR (AND (|bpEqKey| 'COMMA) (OR (|bpRegularList|) (|bpTrap|)) - (|bpPush| (|append| (|bpPop2|) (|bpPop1|)))) - T))) + (OR + (AND (|bpEqKey| 'COMMA) (OR (|bpRegularList|) (|bpTrap|)) + (|bpPush| (|append| (|bpPop2|) (|bpPop1|)))) + T))) (DEFUN |bpRegularBVItemTail| () - (OR (AND (|bpEqKey| 'COLON) (OR (|bpApplication|) (|bpTrap|)) - (|bpPush| (|bfTagged| (|bpPop2|) (|bpPop1|)))) - (AND (|bpEqKey| 'BEC) (OR (|bpPattern|) (|bpTrap|)) - (|bpPush| (|bfAssign| (|bpPop2|) (|bpPop1|)))) - (AND (|bpEqKey| 'IS) (OR (|bpPattern|) (|bpTrap|)) - (|bpPush| (|bfAssign| (|bpPop2|) (|bpPop1|)))) - (AND (|bpEqKey| 'DEF) (OR (|bpApplication|) (|bpTrap|)) - (|bpPush| (|%DefaultValue| (|bpPop2|) (|bpPop1|)))))) + (OR + (AND (|bpEqKey| 'COLON) (OR (|bpApplication|) (|bpTrap|)) + (|bpPush| (|bfTagged| (|bpPop2|) (|bpPop1|)))) + (AND (|bpEqKey| 'BEC) (OR (|bpPattern|) (|bpTrap|)) + (|bpPush| (|bfAssign| (|bpPop2|) (|bpPop1|)))) + (AND (|bpEqKey| 'IS) (OR (|bpPattern|) (|bpTrap|)) + (|bpPush| (|bfAssign| (|bpPop2|) (|bpPop1|)))) + (AND (|bpEqKey| 'DEF) (OR (|bpApplication|) (|bpTrap|)) + (|bpPush| (|%DefaultValue| (|bpPop2|) (|bpPop1|)))))) (DEFUN |bpRegularBVItem| () (OR (|bpBVString|) (|bpConstTok|) @@ -1110,7 +1043,7 @@ (|bpBracketConstruct| #'|bpPatternL|))) (DEFUN |bpBVString| () - (DECLARE (SPECIAL |$ttok| |$stok|)) + (DECLARE (SPECIAL |$stok| |$ttok|)) (AND (EQ (|shoeTokType| |$stok|) 'STRING) (|bpPush| (LIST 'BVQUOTE (INTERN |$ttok|))) (|bpNext|))) @@ -1122,54 +1055,53 @@ (DEFUN |bpBoundVariablelist| () (COND - ((|bpRegularBVItemL|) - (LOOP - (COND - ((NOT (AND (|bpEqKey| 'COMMA) - (OR (|bpRegularBVItemL|) - (PROGN - (OR (AND (|bpColonName|) - (|bpPush| - (|bfColonAppend| (|bpPop2|) - (|bpPop1|)))) - (|bpTrap|)) - NIL)))) - (RETURN NIL)) - (T (|bpPush| (|append| (|bpPop2|) (|bpPop1|)))))) - T) - (T (AND (|bpColonName|) - (|bpPush| (|bfColonAppend| NIL (|bpPop1|))))))) + ((|bpRegularBVItemL|) + (LOOP + (COND + ((NOT + (AND (|bpEqKey| 'COMMA) + (OR (|bpRegularBVItemL|) + (PROGN + (OR + (AND (|bpColonName|) + (|bpPush| (|bfColonAppend| (|bpPop2|) (|bpPop1|)))) + (|bpTrap|)) + NIL)))) + (RETURN NIL)) + (T (|bpPush| (|append| (|bpPop2|) (|bpPop1|)))))) + T) + (T (AND (|bpColonName|) (|bpPush| (|bfColonAppend| NIL (|bpPop1|))))))) (DEFUN |bpVariable| () - (OR (AND (|bpParenthesized| #'|bpBoundVariablelist|) - (|bpPush| (|bfTupleIf| (|bpPop1|)))) - (|bpBracketConstruct| #'|bpPatternL|) (|bpName|) (|bpConstTok|))) + (OR + (AND (|bpParenthesized| #'|bpBoundVariablelist|) + (|bpPush| (|bfTupleIf| (|bpPop1|)))) + (|bpBracketConstruct| #'|bpPatternL|) (|bpName|) (|bpConstTok|))) (DEFUN |bpAssignVariable| () (OR (|bpBracketConstruct| #'|bpPatternL|) (|bpAssignLHS|))) (DEFUN |bpAssignLHS| () - (COND - ((NOT (|bpName|)) NIL) - ((|bpEqKey| 'COLON) (OR (|bpApplication|) (|bpTrap|)) - (|bpPush| (|bfLocal| (|bpPop2|) (|bpPop1|)))) - (T (AND (|bpArgumentList|) - (OR (|bpEqPeek| 'DOT) - (AND (|bpEqPeek| 'BEC) - (|bpPush| (|bfPlace| (|bpPop1|)))) - (|bpTrap|))) - (COND - ((|bpEqKey| 'DOT) - (AND (|bpList| #'|bpPrimary| 'DOT) (|bpChecknull|) - (|bpPush| (|bfTuple| (CONS (|bpPop2|) (|bpPop1|)))))) - (T T))))) + (COND ((NOT (|bpName|)) NIL) + ((|bpEqKey| 'COLON) (OR (|bpApplication|) (|bpTrap|)) + (|bpPush| (|bfLocal| (|bpPop2|) (|bpPop1|)))) + (T + (AND (|bpArgumentList|) + (OR (|bpEqPeek| 'DOT) + (AND (|bpEqPeek| 'BEC) (|bpPush| (|bfPlace| (|bpPop1|)))) + (|bpTrap|))) + (COND + ((|bpEqKey| 'DOT) + (AND (|bpList| #'|bpPrimary| 'DOT) (|bpChecknull|) + (|bpPush| (|bfTuple| (CONS (|bpPop2|) (|bpPop1|)))))) + (T T))))) (DEFUN |bpChecknull| () (PROG (|a|) (RETURN - (PROGN - (SETQ |a| (|bpPop1|)) - (COND ((NULL |a|) (|bpTrap|)) (T (|bpPush| |a|))))))) + (PROGN + (SETQ |a| (|bpPop1|)) + (COND ((NULL |a|) (|bpTrap|)) (T (|bpPush| |a|))))))) (DEFUN |bpStruct| () (AND (|bpEqKey| 'STRUCTURE) (OR (|bpName|) (|bpTrap|)) @@ -1185,12 +1117,13 @@ (DEFUN |bpTypeItemList| () (|bpListAndRecover| #'|bpTypeItem|)) (DEFUN |bpTerm| (|idListParser|) - (OR (AND (OR (|bpName|) (|bpTrap|)) - (OR (AND (|bpParenthesized| |idListParser|) - (|bpPush| (|bfNameArgs| (|bpPop2|) (|bpPop1|)))) - (AND (|bpName|) - (|bpPush| (|bfNameArgs| (|bpPop2|) (|bpPop1|)))))) - (|bpPush| (|bfNameOnly| (|bpPop1|))))) + (OR + (AND (OR (|bpName|) (|bpTrap|)) + (OR + (AND (|bpParenthesized| |idListParser|) + (|bpPush| (|bfNameArgs| (|bpPop2|) (|bpPop1|)))) + (AND (|bpName|) (|bpPush| (|bfNameArgs| (|bpPop2|) (|bpPop1|)))))) + (|bpPush| (|bfNameOnly| (|bpPop1|))))) (DEFUN |bpIdList| () (|bpTuple| #'|bpName|)) @@ -1215,29 +1148,26 @@ (DEFUN |bpOutItem| () (PROG (|$GenVarCounter| |$op| |r| |ISTMP#2| |l| |ISTMP#1| |b|) - (DECLARE (SPECIAL |$GenVarCounter| |$op| |$InteractiveMode|)) + (DECLARE (SPECIAL |$op| |$GenVarCounter| |$InteractiveMode|)) (RETURN - (PROGN - (SETQ |$op| NIL) - (SETQ |$GenVarCounter| 0) - (OR (|bpComma|) (|bpTrap|)) - (SETQ |b| (|bpPop1|)) - (|bpPush| - (COND - ((AND (CONSP |b|) (EQ (CAR |b|) '+LINE)) (LIST |b|)) - ((AND (CONSP |b|) (EQ (CAR |b|) 'L%T) - (PROGN - (SETQ |ISTMP#1| (CDR |b|)) - (AND (CONSP |ISTMP#1|) - (PROGN - (SETQ |l| (CAR |ISTMP#1|)) - (SETQ |ISTMP#2| (CDR |ISTMP#1|)) - (AND (CONSP |ISTMP#2|) - (NULL (CDR |ISTMP#2|)) - (PROGN (SETQ |r| (CAR |ISTMP#2|)) T))))) - (SYMBOLP |l|)) - (COND - (|$InteractiveMode| (LIST (LIST 'SETQ |l| |r|))) - (T (LIST (LIST 'DEFPARAMETER |l| |r|))))) - (T (|translateToplevel| |b| NIL)))))))) + (PROGN + (SETQ |$op| NIL) + (SETQ |$GenVarCounter| 0) + (OR (|bpComma|) (|bpTrap|)) + (SETQ |b| (|bpPop1|)) + (|bpPush| + (COND ((AND (CONSP |b|) (EQ (CAR |b|) '+LINE)) (LIST |b|)) + ((AND (CONSP |b|) (EQ (CAR |b|) 'L%T) + (PROGN + (SETQ |ISTMP#1| (CDR |b|)) + (AND (CONSP |ISTMP#1|) + (PROGN + (SETQ |l| (CAR |ISTMP#1|)) + (SETQ |ISTMP#2| (CDR |ISTMP#1|)) + (AND (CONSP |ISTMP#2|) (NULL (CDR |ISTMP#2|)) + (PROGN (SETQ |r| (CAR |ISTMP#2|)) T))))) + (SYMBOLP |l|)) + (COND (|$InteractiveMode| (LIST (LIST 'SETQ |l| |r|))) + (T (LIST (LIST 'DEFPARAMETER |l| |r|))))) + (T (|translateToplevel| |b| NIL)))))))) |