From cb1eff07e9bc02df65fd78b1dc6241f3fb07e95b Mon Sep 17 00:00:00 2001 From: dos-reis Date: Sun, 20 Feb 2011 14:33:39 +0000 Subject: * interp/parse.boot (transSeq): Aggregate branches of toplevel conditionals so that implications propagate down the pipe. --- src/interp/parse.boot | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/interp') diff --git a/src/interp/parse.boot b/src/interp/parse.boot index 5d2974c3..9a66be2b 100644 --- a/src/interp/parse.boot +++ b/src/interp/parse.boot @@ -390,6 +390,8 @@ transSeq l == ["IF",decExitLevel a,decExitLevel b,transSeq tail] item is ["IF",a,"%noBranch",["exit",1,b]] => ["IF",decExitLevel a,transSeq tail,decExitLevel b] + item is ["IF",a,["exit",1,b],c] => + ["IF",decExitLevel a,decExitLevel b,transSeq [c,:tail]] (y:= transSeq tail) is ["SEQ",:s] => ["SEQ",item,:s] ["SEQ",item,["exit",1,incExitLevel y]] -- cgit v1.2.3