aboutsummaryrefslogtreecommitdiff
path: root/src/boot/strap/parser.clisp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2012-06-01 09:09:23 +0000
committerdos-reis <gdr@axiomatics.org>2012-06-01 09:09:23 +0000
commit967f23ac31a0833c680ba4144c28e27bae8c7ee1 (patch)
treeece4e7f1d9efc4568b617922075fee8851ad6a9a /src/boot/strap/parser.clisp
parent04db207b8714da06dd02bdf68163604aeb5e401c (diff)
downloadopen-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.clisp79
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|))))