diff options
Diffstat (limited to 'src/boot/strap/parser.clisp')
-rw-r--r-- | src/boot/strap/parser.clisp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/boot/strap/parser.clisp b/src/boot/strap/parser.clisp index 867d52e9..06dc31e3 100644 --- a/src/boot/strap/parser.clisp +++ b/src/boot/strap/parser.clisp @@ -818,10 +818,14 @@ (AND (|bpEqKey| 'LEAVE) (OR (|bpLogical|) (|bpTrap|)) (|bpPush| (|bfLeave| (|bpPop1|))))) +(DEFUN |bpDo| () + (AND (|bpEqKey| 'DO) (OR (|bpAssign|) (|bpTrap|)) + (|bpPush| (|bfDo| (|bpPop1|))))) + (DEFUN |bpReturn| () (OR (AND (|bpEqKey| 'RETURN) (OR (|bpAssign|) (|bpTrap|)) (|bpPush| (|bfReturnNoName| (|bpPop1|)))) - (|bpLeave|) (|bpThrow|) (|bpAnd|))) + (|bpLeave|) (|bpThrow|) (|bpAnd|) (|bpDo|))) (DEFUN |bpLogical| () (|bpLeftAssoc| '(OR) #'|bpReturn|)) |