aboutsummaryrefslogtreecommitdiff
path: root/src/boot/parser.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-05-16 19:51:01 +0000
committerdos-reis <gdr@axiomatics.org>2011-05-16 19:51:01 +0000
commitcfda765b2e6342596df91ac9d4110f3fa95f5d75 (patch)
tree7ce481c4b5aa82371cd0a0a57fac7e2807e3dcbf /src/boot/parser.boot
parent3537b6ab6e6696fb5def82cde4c9c9e843f84ce9 (diff)
downloadopen-axiom-cfda765b2e6342596df91ac9d4110f3fa95f5d75.tar.gz
* boot/ast.boot (bfAtScope): New.
* boot/parser.boot (bpDo): Accept scoped expressions. * boot/translator.boot: Cleanup.
Diffstat (limited to 'src/boot/parser.boot')
-rw-r--r--src/boot/parser.boot5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/boot/parser.boot b/src/boot/parser.boot
index db07d2f9..472d98ac 100644
--- a/src/boot/parser.boot
+++ b/src/boot/parser.boot
@@ -757,8 +757,13 @@ bpLeave() ==
bpPush bfLeave bpPop1()
++ Do:
+++ IN Namespace Do
++ DO Assign
bpDo() ==
+ bpEqKey "IN" =>
+ bpNamespace() or bpTrap()
+ bpDo() or bpTrap()
+ bpPush bfAtScope(bpPop2(),bpPop1())
bpEqKey "DO" and (bpAssign() or bpTrap()) and bpPush bfDo bpPop1()
++ Return: