diff options
Diffstat (limited to 'src/interp/g-util.boot')
-rw-r--r-- | src/interp/g-util.boot | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/interp/g-util.boot b/src/interp/g-util.boot index 957d676a..0d786928 100644 --- a/src/interp/g-util.boot +++ b/src/interp/g-util.boot @@ -212,6 +212,9 @@ expandCollect ["%collect",:iters,body] == expandRepeat ["%repeat",:iters,body] == expandLoop(iters,body,["voidValue"]) +expandReturn(x is ['%return,.,y]) == + $FUNNAME = nil => systemErrorHere ['expandReturn,x] + ['RETURN_-FROM,$FUNNAME,expandToVMForm y] -- Logical operators @@ -330,6 +333,7 @@ for x in [ for x in [ ["%collect",:function expandCollect], ["%repeat",:function expandRepeat], + ['%return, :function expandReturn], ["%eq",:function expandEq], |