diff options
author | dos-reis <gdr@axiomatics.org> | 2011-04-19 07:20:55 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2011-04-19 07:20:55 +0000 |
commit | c6179efd4a1f1770d4d31415582eabebbe2ab6a0 (patch) | |
tree | b97b313c66be49e76f6f5fcc7e387ab362105c19 /src/boot/strap/parser.clisp | |
parent | a4a45e923a2435574c09619da442fd15e71b2652 (diff) | |
download | open-axiom-c6179efd4a1f1770d4d31415582eabebbe2ab6a0.tar.gz |
* boot/ast.boot (%Module): Now take three arguments.
* boot/parser.boot (bpModuleInterface): Rename from bpExports.
(bpModuleExports): New.
(bpModule): Now allow specification of exported names.
Diffstat (limited to 'src/boot/strap/parser.clisp')
-rw-r--r-- | src/boot/strap/parser.clisp | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/src/boot/strap/parser.clisp b/src/boot/strap/parser.clisp index 7b978080..89cb3dee 100644 --- a/src/boot/strap/parser.clisp +++ b/src/boot/strap/parser.clisp @@ -461,19 +461,26 @@ (DEFUN |bpExportItemList| () (|bpListAndRecover| #'|bpExportItem|)) -(DEFUN |bpExports| () (|bpPileBracketed| #'|bpExportItemList|)) +(DEFUN |bpModuleInterface| () + (COND + ((|bpEqKey| 'WHERE) + (OR (|bpPileBracketed| #'|bpExportItemList|) + (AND (|bpExportItem|) (|bpPush| (LIST (|bpPop1|)))) + (|bpTrap|))) + (T (|bpPush| NIL)))) + +(DEFUN |bpModuleExports| () + (COND + ((|bpParenthesized| #'|bpIdList|) + (|bpPush| (|bfUntuple| (|bpPop1|)))) + (T (|bpPush| NIL)))) (DEFUN |bpModule| () (COND - ((|bpEqKey| 'MODULE) - (IDENTITY - (PROGN - (OR (|bpName|) (|bpTrap|)) - (COND - ((|bpEqKey| 'WHERE) - (AND (|bpExports|) - (|bpPush| (|%Module| (|bpPop2|) (|bpPop1|))))) - (T (|bpPush| (|%Module| (|bpPop1|) NIL))))))))) + ((|bpEqKey| 'MODULE) (OR (|bpName|) (|bpTrap|)) (|bpModuleExports|) + (|bpModuleInterface|) + (|bpPush| (|%Module| (|bpPop3|) (|bpPop2|) (|bpPop1|)))) + (T NIL))) (DEFUN |bpImport| () (PROG (|a|) |