aboutsummaryrefslogtreecommitdiff
path: root/src/boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-05-14 18:37:20 +0000
committerdos-reis <gdr@axiomatics.org>2011-05-14 18:37:20 +0000
commitdd965c88c412be8646c4180d05d2270cf223f35c (patch)
tree16e0f2f16b2ca4da9e91d7d13faaf1aee1a474cf /src/boot
parent41799861da0bd4f8a68acb2634e2ecb3e9038fc4 (diff)
downloadopen-axiom-dd965c88c412be8646c4180d05d2270cf223f35c.tar.gz
* boot/parser.boot (bpNamedScope): New.
(bpApplication): Call it.
Diffstat (limited to 'src/boot')
-rw-r--r--src/boot/parser.boot7
-rw-r--r--src/boot/strap/parser.clisp13
2 files changed, 16 insertions, 4 deletions
diff --git a/src/boot/parser.boot b/src/boot/parser.boot
index 0149687e..6d27017b 100644
--- a/src/boot/parser.boot
+++ b/src/boot/parser.boot
@@ -592,10 +592,17 @@ bpSelector()==
and bpPush(bfElt(bpPop2(),bpPop1()))
or bpPush bfSuffixDot bpPop1() )
+++ NamedScope:
+++ NAMESPACE (Name | DOT)
+bpNamedScope() ==
+ bpEqKey "NAMESPACE" and (bpName() or bpDot() or bpTrap()) and
+ bpPush %Namespace bpPop1()
+
bpApplication()==
bpPrimary() and bpAnyNo function bpSelector and
(bpApplication() and
bpPush(bfApplication(bpPop2(),bpPop1())) or true)
+ or bpNamedScope()
++ Typing:
++ SimpleType
diff --git a/src/boot/strap/parser.clisp b/src/boot/strap/parser.clisp
index fc6e7dda..00381889 100644
--- a/src/boot/strap/parser.clisp
+++ b/src/boot/strap/parser.clisp
@@ -627,11 +627,16 @@
(|bpPush| (|bfElt| (|bpPop2|) (|bpPop1|))))
(|bpPush| (|bfSuffixDot| (|bpPop1|))))))
+(DEFUN |bpNamedScope| ()
+ (AND (|bpEqKey| 'NAMESPACE) (OR (|bpName|) (|bpDot|) (|bpTrap|))
+ (|bpPush| (|%Namespace| (|bpPop1|)))))
+
(DEFUN |bpApplication| ()
- (AND (|bpPrimary|) (|bpAnyNo| #'|bpSelector|)
- (OR (AND (|bpApplication|)
- (|bpPush| (|bfApplication| (|bpPop2|) (|bpPop1|))))
- T)))
+ (OR (AND (|bpPrimary|) (|bpAnyNo| #'|bpSelector|)
+ (OR (AND (|bpApplication|)
+ (|bpPush| (|bfApplication| (|bpPop2|) (|bpPop1|))))
+ T))
+ (|bpNamedScope|)))
(DEFUN |bpTyping| ()
(COND