Update to changes in icode format

This commit is contained in:
Ulf Norell 2019-03-26 11:17:44 +01:00
parent 71b97cba62
commit d2dbb98b7f

View File

@ -40,12 +40,19 @@ compile(ICode, Options) ->
functions := Functions } = ICode, functions := Functions } = ICode,
SFuns = functions_to_scode(Functions, Options), SFuns = functions_to_scode(Functions, Options),
SFuns1 = optimize_scode(SFuns, Options), SFuns1 = optimize_scode(SFuns, Options),
to_basic_blocks(SFuns1, Options). BBFuns = to_basic_blocks(SFuns1, Options),
#{ functions => BBFuns }.
is_init([_, "init"]) -> true;
is_init(_Other) -> false.
make_function_name([_, Name]) -> list_to_binary(Name);
make_function_name(Other) -> error({todo, namespace_stuff, Other}).
functions_to_scode(Functions, Options) -> functions_to_scode(Functions, Options) ->
maps:from_list( maps:from_list(
[ {list_to_binary(Name), function_to_scode(Name, Args, Body, Type, Options)} [ {make_function_name(Name), function_to_scode(Name, Args, Body, Type, Options)}
|| {Name, _Ann, Args, Body, Type} <- Functions, Name /= "init" ]). %% TODO: skip init for now || {Name, _Ann, Args, Body, Type} <- Functions, not is_init(Name) ]). %% TODO: skip init for now
function_to_scode(Name, Args, Body, Type, Options) -> function_to_scode(Name, Args, Body, Type, Options) ->
debug(Options, "Compiling ~p ~p : ~p ->\n ~p\n", [Name, Args, Type, Body]), debug(Options, "Compiling ~p ~p : ~p ->\n ~p\n", [Name, Args, Type, Body]),