简单指令的句法树:A = 2 + 3

hom*_*rew 1 erlang

我想知道是否有人可以帮助我在erlang中绘制一个非常简单的指令的语法树:一个简单的赋值,如A = 2 + 3.使用当然可以在http://svn.ulf.wiger获得的erlang官方语法达网络/凹痕/中继/ erl_parse.yrl

谢谢你的一切

Hyn*_*dil 6

你可以简单地使用Erlang自己的工具:

1> {ok, Toks, _} = erl_scan:string("A=2+3.").
{ok,[{var,1,'A'},
     {'=',1},
     {integer,1,2},
     {'+',1},
     {integer,1,3},
     {dot,1}],
    1}
2> {ok, [AST]} = erl_parse:parse_exprs(Toks).
{ok,[{match,1,
            {var,1,'A'},
            {op,1,'+',{integer,1,2},{integer,1,3}}}]}
3> AST.
{match,1,{var,1,'A'},{op,1,'+',{integer,1,2},{integer,1,3}}}
Run Code Online (Sandbox Code Playgroud)