aboutsummaryrefslogtreecommitdiff
path: root/src/boot/parser.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/boot/parser.boot')
-rw-r--r--src/boot/parser.boot8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/boot/parser.boot b/src/boot/parser.boot
index 87ade687..8bf5086d 100644
--- a/src/boot/parser.boot
+++ b/src/boot/parser.boot
@@ -462,10 +462,14 @@ bpModule() ==
++ IMPORT QUOTE String
bpImport() ==
bpEqKey "IMPORT" =>
+ a := bpState()
bpName() or bpTrap()
- bpEqKey "FOR" =>
+ bpEqPeek "COLON" =>
+ bpRestore a
(bpSignature() or bpTrap()) and
- bpPush ImportSignature(bpPop2(), bpPop1())
+ (bpEqKey "FOR" or bpTrap()) and
+ (bpName() or bpTrap()) and
+ bpPush ImportSignature(bpPop1(), bpPop1())
bpPush Import bpPop1()
false