Позвольте мне упростить задачу: невозможно сгенерировать AST Scala-программы с помощью одного парсера. Это абсолютно необходимо для запуска typer, а это означает вывод типа и последствия.
После этого вы можете делать все, что захотите. Но эти первые несколько этапов компилятора (четыре в самых последних версиях, считая typer) необходимы.
По совпадению, это фазы, выполняемые компилятором представления , который используется в Scala IDE для Eclipse . Мне кажется, что это может быть идеальным интерфейсом для вас.
ENSIME также использует его , который, по-видимому, является лучшим источником информации о нем, и вы также можете взглянуть на Scala Refactoring инструмент, поскольку он также использует AST компилятора.
Наконец, вы можете попробовать скомпилировать код с помощью -Ybrowse:typer
, чтобы увидеть дерево после typer. Используйте -Xshow-phases
, чтобы отобразить существующие фазы, или -Xprint:typer
, чтобы напечатать «источник» после typer (или любой другой фазы).