aboutsummaryrefslogtreecommitdiff
path: root/src/boot/strap/parser.clisp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2009-08-29 10:20:34 +0000
committerdos-reis <gdr@axiomatics.org>2009-08-29 10:20:34 +0000
commit5aa380ac80b14927f93494061568c868631c58eb (patch)
treecd1a5bb3ed3491777671ceebc4e39f1cdce550d8 /src/boot/strap/parser.clisp
parentd2aa4652224e0dd476e9bbe53cea718ec3d89506 (diff)
downloadopen-axiom-5aa380ac80b14927f93494061568c868631c58eb.tar.gz
* boot/translator.boot (bpOutItem): Move to parser.boot.
* boot/parser.boot (bpExceptionTail): Fix typo. (bpOutItem): Move from translator.boot.
Diffstat (limited to 'src/boot/strap/parser.clisp')
-rw-r--r--src/boot/strap/parser.clisp31
1 files changed, 30 insertions, 1 deletions
diff --git a/src/boot/strap/parser.clisp b/src/boot/strap/parser.clisp
index 38e0da5d..c4e3cd30 100644
--- a/src/boot/strap/parser.clisp
+++ b/src/boot/strap/parser.clisp
@@ -781,7 +781,7 @@
(DEFUN |bpExceptionTail| ()
(AND (|bpEqKey| 'EXIT) (OR (|bpAssign|) (|bpTrap|))
- (|bpPush| (|Exit| (|bpPop2|) (|bpPop1|)))))
+ (|bpPush| (|%Exit| (|bpPop2|) (|bpPop1|)))))
(DEFUN |bpException| ()
(AND (|bpExceptionHead|) (OR (|bpExceptionTail|) T)))
@@ -1196,3 +1196,32 @@
(OR (|bpEqKey| 'EXIT) (|bpTrap|)) (OR (|bpWhere|) (|bpTrap|))
(|bpPush| (|bfCaseItem| (|bpPop2|) (|bpPop1|)))))
+(DEFUN |bpOutItem| ()
+ (PROG (|r| |ISTMP#2| |l| |ISTMP#1| |b|)
+ (DECLARE (SPECIAL |$InteractiveMode| |$op|))
+ (RETURN
+ (PROGN
+ (SETQ |$op| NIL)
+ (OR (|bpComma|) (|bpTrap|))
+ (SETQ |b| (|bpPop1|))
+ (|bpPush|
+ (COND
+ ((EQCAR |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|)
+ (EQ (CDR |ISTMP#2|) NIL)
+ (PROGN
+ (SETQ |r| (CAR |ISTMP#2|))
+ 'T)))))
+ (IDENTP |l|))
+ (COND
+ (|$InteractiveMode| (LIST (LIST 'SETQ |l| |r|)))
+ (#0='T (LIST (LIST 'DEFPARAMETER |l| |r|)))))
+ (#0# (|translateToplevel| |b| NIL))))))))
+