diff options
Diffstat (limited to 'src/boot/strap/parser.clisp')
-rw-r--r-- | src/boot/strap/parser.clisp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/boot/strap/parser.clisp b/src/boot/strap/parser.clisp index 53eb4f53..e4862eb5 100644 --- a/src/boot/strap/parser.clisp +++ b/src/boot/strap/parser.clisp @@ -585,14 +585,18 @@ (|bpPush| (|%Forall| (|bpPop2|) (|bpPop1|)))) (T (OR (|bpMapping|) (|bpSimpleMapping|))))) -(DEFUN |bpTagged| () +(DEFUN |bpTyped| () (AND (|bpApplication|) - (OR - (AND (|bpEqKey| 'COLON) (|bpRequire| #'|bpTyping|) - (|bpPush| (|bfTagged| (|bpPop2|) (|bpPop1|)))) - T))) + (COND + ((|bpEqKey| 'COLON) + (AND (|bpRequire| #'|bpTyping|) + (|bpPush| (|bfTagged| (|bpPop2|) (|bpPop1|))))) + ((|bpEqKey| 'AT) + (AND (|bpRequire| #'|bpTyping|) + (|bpPush| (|bfRestrict| (|bpPop2|) (|bpPop1|))))) + (T T)))) -(DEFUN |bpExpt| () (|bpRightAssoc| '(POWER) #'|bpTagged|)) +(DEFUN |bpExpt| () (|bpRightAssoc| '(POWER) #'|bpTyped|)) (DEFUN |bpInfKey| (|s|) (DECLARE (SPECIAL |$ttok| |$stok|)) |