diff options
author | dos-reis <gdr@axiomatics.org> | 2008-10-08 22:18:38 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2008-10-08 22:18:38 +0000 |
commit | 1fdd3d6b44f1eececda6e23e7f044d911bb9a8eb (patch) | |
tree | 82052b4f8d4aaecbaddac9d7705e850bcfb43265 /src/boot/parser.boot | |
parent | 2a99c68c951cc35192d8f0fe733f0c7ff0b7d31c (diff) | |
download | open-axiom-1fdd3d6b44f1eececda6e23e7f044d911bb9a8eb.tar.gz |
Allow compound argument types in Boot signatures.
* boot/parser.boot (bpArgtypeList): New.
(bpMapping); Use it.
* boot/tokens.boot: Define neutral element for CONCAT.
Diffstat (limited to 'src/boot/parser.boot')
-rw-r--r-- | src/boot/parser.boot | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/boot/parser.boot b/src/boot/parser.boot index 2ad0bac5..b881ffe2 100644 --- a/src/boot/parser.boot +++ b/src/boot/parser.boot @@ -458,8 +458,8 @@ bpModule() == ++ Parse a module import, or a import declaration for a foreign entity. ++ Import: -++ IMPORT Name for Signature -++ IMPORT QUOTE String +++ IMPORT Signature FOR Name +++ IMPORT Name bpImport() == bpEqKey "IMPORT" => a := bpState() @@ -498,12 +498,20 @@ bpSimpleMapping() == true false +++ ArgtypeList: +++ ( ArgtypeSequence ) +++ ArgtypeSequence: +++ Application +++ Application , ArgtypeSequence +bpArgtypeList() == + bpTuple function bpApplication + ++ Parse a mapping expression ++ Mapping: -++ (IdList) -> Application -++ SimpleMapping +++ ArgtypeList -> Application +++ SimpleMapping bpMapping() == - bpParenthesized function bpIdList and + bpParenthesized function bpArgtypeList and bpEqKey "ARROW" and bpApplication() and bpPush Mapping(bpPop1(), bfUntuple bpPop1()) or bpSimpleMapping() |