diff options
author | dos-reis <gdr@axiomatics.org> | 2012-06-01 09:09:23 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2012-06-01 09:09:23 +0000 |
commit | 967f23ac31a0833c680ba4144c28e27bae8c7ee1 (patch) | |
tree | ece4e7f1d9efc4568b617922075fee8851ad6a9a /src/boot/strap/parser.clisp | |
parent | 04db207b8714da06dd02bdf68163604aeb5e401c (diff) | |
download | open-axiom-967f23ac31a0833c680ba4144c28e27bae8c7ee1.tar.gz |
* boot/ast.boot (%LoadUnit): Add field for enclosing function.
Remove references to $op.
Diffstat (limited to 'src/boot/strap/parser.clisp')
-rw-r--r-- | src/boot/strap/parser.clisp | 79 |
1 files changed, 41 insertions, 38 deletions
diff --git a/src/boot/strap/parser.clisp b/src/boot/strap/parser.clisp index 01a10a34..8bd130d9 100644 --- a/src/boot/strap/parser.clisp +++ b/src/boot/strap/parser.clisp @@ -1033,9 +1033,10 @@ (T (|bpRestore| |ps| |a|) NIL)))))) (DEFUN |bpStoreName| (|ps|) - (DECLARE (SPECIAL |$typings| |$op|)) + (DECLARE (SPECIAL |$typings|)) (PROGN - (SETQ |$op| (CAR (|parserTrees| |ps|))) + (SETF (|enclosingFunction| (|parserLoadUnit| |ps|)) + (CAR (|parserTrees| |ps|))) (SETF (|sideConditions| (|parserLoadUnit| |ps|)) NIL) (SETQ |$typings| NIL) T)) @@ -1376,42 +1377,44 @@ (|bpPush| |ps| (|bfCaseItem| (|bpPop2| |ps|) (|bpPop1| |ps|))))) (DEFUN |bpOutItem| (|ps|) - (LET* (|t| |r| |ISTMP#2| |l| |ISTMP#1| |b| |varno|) + (LET* (|t| |r| |ISTMP#2| |l| |ISTMP#1| |b| |varno| |op|) (DECLARE (SPECIAL |$InteractiveMode|)) - (LET ((|$op| NIL)) - (DECLARE (SPECIAL |$op|)) - (PROGN - (SETQ |varno| (|parserGensymSequenceNumber| |ps|)) - (UNWIND-PROTECT - (LET ((#1=#:G721 - (CATCH :OPEN-AXIOM-CATCH-POINT - (PROGN - (SETF (|parserGensymSequenceNumber| |ps|) 0) - (|bpRequire| |ps| #'|bpComma|))))) + (PROGN + (SETQ |op| (|enclosingFunction| (|parserLoadUnit| |ps|))) + (SETQ |varno| (|parserGensymSequenceNumber| |ps|)) + (UNWIND-PROTECT + (LET ((#1=#:G721 + (CATCH :OPEN-AXIOM-CATCH-POINT + (PROGN + (SETF (|enclosingFunction| (|parserLoadUnit| |ps|)) NIL) + (SETF (|parserGensymSequenceNumber| |ps|) 0) + (|bpRequire| |ps| #'|bpComma|))))) + (COND + ((AND (CONSP #1#) (EQUAL (CAR #1#) :OPEN-AXIOM-CATCH-POINT)) (COND - ((AND (CONSP #1#) (EQUAL (CAR #1#) :OPEN-AXIOM-CATCH-POINT)) - (COND - ((EQUAL (CAR #2=(CDR #1#)) '(|BootSpecificError|)) - (LET ((|e| (CDR #2#))) - (PROGN (|bpSpecificErrorHere| |ps| |e|) (|bpTrap| |ps|)))) - (T (THROW :OPEN-AXIOM-CATCH-POINT #1#)))) - (T #1#))) - (SETF (|parserGensymSequenceNumber| |ps|) |varno|)) - (SETQ |b| (|bpPop1| |ps|)) - (SETQ |t| - (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| |ps| |b| NIL)))) - (|bpPush| |ps| |t|))))) + ((EQUAL (CAR #2=(CDR #1#)) '(|BootSpecificError|)) + (LET ((|e| (CDR #2#))) + (PROGN (|bpSpecificErrorHere| |ps| |e|) (|bpTrap| |ps|)))) + (T (THROW :OPEN-AXIOM-CATCH-POINT #1#)))) + (T #1#))) + (PROGN + (SETF (|parserGensymSequenceNumber| |ps|) |varno|) + (SETF (|enclosingFunction| (|parserLoadUnit| |ps|)) |op|))) + (SETQ |b| (|bpPop1| |ps|)) + (SETQ |t| + (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| |ps| |b| NIL)))) + (|bpPush| |ps| |t|)))) |