Единственные способы, о которых я знаю, не являются "прямыми":
- преобразование в формат ANTLR и использование его собственного визуализатора
- VISUALLANGLAB, который, как представляется, требует целых щелчков мыши "переписать"
- реализация конвертера сама по себе (что было бы смешно, но отнимало много времени)
- вторая ссылка ниже
по теме:
Вторая ссылка предлагает отладить добавление неявного метода к синтаксическим анализаторам:
implicit def toLogged(name:String) = new {
def !!![T](p:Parser[T]) = log(p)(name)
}
Может быть, АСТ будет более целесообразным/полезным; но вопрос остается похожим.