aboutsummaryrefslogtreecommitdiff
path: root/src/boot/strap
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2008-09-07 20:13:42 +0000
committerdos-reis <gdr@axiomatics.org>2008-09-07 20:13:42 +0000
commitc0f80aca887462749a7cdc4fcacc579ee59aa850 (patch)
treef0e7543a797c0072415c80f36327f3b52309ec10 /src/boot/strap
parent18b7b4b5d3511211092796bd8d593d5c9debec02 (diff)
downloadopen-axiom-c0f80aca887462749a7cdc4fcacc579ee59aa850.tar.gz
* boot/parser.boot (bpImport): Invert syntax for importing foreign
functions. * boot/strap/parser.clisp: Update. * interp/sys-os.boot: Change to new syntax throughout.
Diffstat (limited to 'src/boot/strap')
-rw-r--r--src/boot/strap/ast.clisp11
-rw-r--r--src/boot/strap/parser.clisp28
-rw-r--r--src/boot/strap/translator.clisp20
3 files changed, 43 insertions, 16 deletions
diff --git a/src/boot/strap/ast.clisp b/src/boot/strap/ast.clisp
index 8f1b5b77..f5536c0c 100644
--- a/src/boot/strap/ast.clisp
+++ b/src/boot/strap/ast.clisp
@@ -2206,9 +2206,14 @@
(RETURN
(COND
((NULL |t|) |t|)
- ((SETQ |t'| (ASSOC (|coreSymbol| |t|) |$NativeTypeTable|))
- (CDR |t'|))
- ('T
+ ((SETQ |t'|
+ (CDR (ASSOC (|coreSymbol| |t|) |$NativeTypeTable|)))
+ (COND
+ ((AND (EQ |t| '|string|) (|%hasFeature| :SBCL))
+ (LIST |t'| :EXTERNAL-FORMAT :ASCII :ELEMENT-TYPE
+ 'BASE-CHAR))
+ (#0='T |t'|)))
+ (#0#
(|fatalError|
(CONCAT "unsupported native type: " (SYMBOL-NAME |t|))))))))
diff --git a/src/boot/strap/parser.clisp b/src/boot/strap/parser.clisp
index 9cd82f72..baea8792 100644
--- a/src/boot/strap/parser.clisp
+++ b/src/boot/strap/parser.clisp
@@ -483,16 +483,24 @@
('T (|bpPush| (|%Module| (|bpPop1|) NIL)))))))))
(DEFUN |bpImport| ()
- (COND
- ((|bpEqKey| 'IMPORT)
- (PROGN
- (OR (|bpName|) (|bpTrap|))
- (COND
- ((|bpEqKey| 'FOR)
- (AND (OR (|bpSignature|) (|bpTrap|))
- (|bpPush| (|ImportSignature| (|bpPop2|) (|bpPop1|)))))
- (#0='T (|bpPush| (|Import| (|bpPop1|)))))))
- (#0# NIL)))
+ (PROG (|a|)
+ (RETURN
+ (COND
+ ((|bpEqKey| 'IMPORT)
+ (PROGN
+ (SETQ |a| (|bpState|))
+ (OR (|bpName|) (|bpTrap|))
+ (COND
+ ((|bpEqPeek| 'COLON)
+ (PROGN
+ (|bpRestore| |a|)
+ (AND (OR (|bpSignature|) (|bpTrap|))
+ (OR (|bpEqKey| 'FOR) (|bpTrap|))
+ (OR (|bpName|) (|bpTrap|))
+ (|bpPush|
+ (|ImportSignature| (|bpPop1|) (|bpPop1|))))))
+ (#0='T (|bpPush| (|Import| (|bpPop1|)))))))
+ (#0# NIL)))))
(DEFUN |bpTypeAliasDefition| ()
(AND (OR (|bpTerm| #'|bpIdList|) (|bpTrap|)) (|bpEqKey| 'TDEF)
diff --git a/src/boot/strap/translator.clisp b/src/boot/strap/translator.clisp
index 4d1f7fb2..c58a80a2 100644
--- a/src/boot/strap/translator.clisp
+++ b/src/boot/strap/translator.clisp
@@ -93,9 +93,23 @@
(DEFUN |AxiomCore|::|%sysInit| ()
(DECLARE (SPECIAL |$translatingOldBoot|))
- (COND
- ((EQUAL (CDR (ASSOC (|Option| "boot") (|%systemOptions|))) "old")
- (SETQ |$translatingOldBoot| T))))
+ (PROGN
+ (SETQ *LOAD-VERBOSE* NIL)
+ (COND
+ ((OR (|%hasFeature| :GCL) (|%hasFeature| :ECL))
+ (SETF (SYMBOL-VALUE
+ (|bfColonColon| 'COMPILER '*COMPILE-VERBOSE*))
+ NIL)
+ (SETF (SYMBOL-VALUE
+ (|bfColonColon| 'COMPILER
+ 'SUPPRESS-COMPILER-WARNINGS*))
+ NIL)
+ (SETF (SYMBOL-VALUE
+ (|bfColonColon| 'COMPILER 'SUPPRESS-COMPILER-NOTES*))
+ T)))
+ (COND
+ ((EQUAL (CDR (ASSOC (|Option| "boot") (|%systemOptions|))) "old")
+ (SETQ |$translatingOldBoot| T)))))
(DECLAIM (FTYPE (FUNCTION (|%Thing|) |%Thing|) |setCurrentPackage|))