Add loop operator in fcode #889

Open
zxq9 wants to merge 27 commits from loop-op into master
Showing only changes of commit 5575d3cb17 - Show all commits

View File

@ -661,9 +661,9 @@ expr_to_fcode(Env, _Type, {app, _, {'..', _}, [A, B]}) ->
Init = {tuple, [nil, expr_to_fcode(Env, B)]}, Init = {tuple, [nil, expr_to_fcode(Env, B)]},
Loop = {loop, Init, St, Loop = {loop, Init, St,
make_if( make_if(
{op, '=<', [ItProj, {var, AV}]}, {op, '>=', [ItProj, {var, AV}]},
{continue, {tuple, [{op, '::', [ItProj, AcProj]}, {continue, {tuple, [{op, '::', [ItProj, AcProj]},
{op, '+', [ItProj, {lit, {int, 1}}]} {op, '-', [ItProj, {lit, {int, 1}}]}
]}}, ]}},
{break, AcProj} {break, AcProj}
)}, )},