Синтаксическое дерево простой инструкции: A = 2 + 3 - PullRequest
1 голос
/ 23 декабря 2010

Мне было интересно, может ли кто-нибудь помочь мне нарисовать синтаксическое дерево очень очень простой инструкции на эрланге: простое задание, например, А = 2 + 3, используя, конечно, официальную грамматику эрланга, доступную по адресу http://svn.ulf.wiger.net/indent/trunk/erl_parse.yrl

Спасибо за все

1 Ответ

6 голосов
/ 23 декабря 2010

Вы можете просто использовать собственные инструменты 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}}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...