Evaluation of string to erlang’s term:
-module(evaluator_utils).
-export([eval_string/1]).
eval_string([]) -> [];
eval_string(String) ->
{ok, Tokens, _} = erl_scan:string(lists:concat([String, "."])),
{Status, Term} = erl_parse:parse_term(Tokens),
case Status of
ok -> {ok, Term};
error ->
{_, _, ErrorMessage} = Term,
{error, ErrorMessage}
end.
Advertisement