diff options
author | dos-reis <gdr@axiomatics.org> | 2008-04-30 01:54:09 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2008-04-30 01:54:09 +0000 |
commit | e739fdc538405684ca1a4c7e58ef26bb9d5eacad (patch) | |
tree | 2f226cabef54a8cbe3f6be16465c8c4a5d3447cf /src/boot/strap/parser.clisp | |
parent | bce316614ee1d8dbb77aff1b6a13c354c16f63ea (diff) | |
download | open-axiom-e739fdc538405684ca1a4c7e58ef26bb9d5eacad.tar.gz |
* boot/parser.boot (bpExportItemList): New.
(bpExports): Likewise.
(bpModule): Use it.
* boot/ast.boot (bfCreateDef): Tidy.
* boot/strap: Update cached Lisp translation.
Diffstat (limited to 'src/boot/strap/parser.clisp')
-rw-r--r-- | src/boot/strap/parser.clisp | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/boot/strap/parser.clisp b/src/boot/strap/parser.clisp index f7139d25..d07e1228 100644 --- a/src/boot/strap/parser.clisp +++ b/src/boot/strap/parser.clisp @@ -1,4 +1,4 @@ -(EVAL-WHEN (:COMPILE-TOPLEVEL) (PROVIDE "parser")) +(PROVIDE "parser") (IMPORT-MODULE "includer") @@ -442,9 +442,21 @@ (|bpPush| (|bfSymbol| (|bpPop1|)))))) ('T (|bpString|)))) +(DEFUN |bpExportItemList| () (|bpListAndRecover| #'|bpSignature|)) + +(DEFUN |bpExports| () (|bpPileBracketed| #'|bpExportItemList|)) + (DEFUN |bpModule| () - (AND (|bpEqKey| 'MODULE) (OR (|bpName|) (|bpTrap|)) - (|bpPush| (|%Module| (|bpPop1|))))) + (COND + ((|bpEqKey| 'MODULE) + (IDENTITY + (PROGN + (OR (|bpName|) (|bpTrap|)) + (COND + ((|bpEqKey| 'WHERE) + (AND (|bpExports|) + (|bpPush| (|%Module| (|bpPop2|) (|bpPop1|))))) + ('T (|bpPush| (|%Module| (|bpPop1|) NIL))))))))) (DEFUN |bpImport| () (COND |