Зачем самому, если уже есть родной для ерланга leex/yecc
http://erlang.org/doc/man/leex.htmlhttp://erlang.org/doc/man/yecc.htmlПричем, парсер LALR-1. А не LL1 как у некоторых (например Python вроде такой имел, еще LL1 и стейта достаточно для Паскаля, оберона).
leex/yecc вполне нормально может разбирать. Там только на настройку правил инструмента уйдет куча времени. Это явно меньше, чем на создание инструмента самому и его настройку. К тому же, после получения дерева будет еще куча работы. Зачем себе жизнь усложнять? У меня есть примеры, где люди на этом встряли и так дальше парсера не ушли.