From f905c6332417ccd8266e921cfbd716db6c64c9aa Mon Sep 17 00:00:00 2001 From: dos-reis Date: Sat, 15 May 2010 21:06:57 +0000 Subject: * boot/ast.boot (shoeCompTran1): Handle %Leave expressions. * boot/parser.boot (bpReturn): Parse leave-expressions too. * interp/mark.boot (markInsertBodyParts): properly escape Boot keywords. --- src/boot/parser.boot | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/boot/parser.boot') diff --git a/src/boot/parser.boot b/src/boot/parser.boot index e754375d..9525c6db 100644 --- a/src/boot/parser.boot +++ b/src/boot/parser.boot @@ -734,11 +734,15 @@ bpLeave() == ++ Return: ++ RETURN Assign +++ Leave +++ Throw +++ And bpReturn()== (bpEqKey "RETURN" and (bpAssign() or bpTrap()) and bpPush bfReturnNoName bpPop1()) - or bpThrow() - or bpAnd() + or bpLeave() + or bpThrow() + or bpAnd() bpLogical()== bpLeftAssoc('(OR),function bpReturn) -- cgit v1.2.3