diff options
author | dos-reis <gdr@axiomatics.org> | 2011-05-14 18:37:20 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2011-05-14 18:37:20 +0000 |
commit | dd965c88c412be8646c4180d05d2270cf223f35c (patch) | |
tree | 16e0f2f16b2ca4da9e91d7d13faaf1aee1a474cf | |
parent | 41799861da0bd4f8a68acb2634e2ecb3e9038fc4 (diff) | |
download | open-axiom-dd965c88c412be8646c4180d05d2270cf223f35c.tar.gz |
* boot/parser.boot (bpNamedScope): New.
(bpApplication): Call it.
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/boot/parser.boot | 7 | ||||
-rw-r--r-- | src/boot/strap/parser.clisp | 13 |
3 files changed, 21 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index cdae0388..79f51db3 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2011-05-14 Gabriel Dos Reis <gdr@cs.tamu.edu> + + * boot/parser.boot (bpNamedScope): New. + (bpApplication): Call it. + 2011-05-13 Gabriel Dos Reis <gdr@cs.tamu.edu> * boot/utility.boot (charPosition): New. 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 |