Есть ли подходящий способ генерации синтаксической диаграммы [jpg, png и т.д.] (И/или AST) непосредственно из Scala Комбиниров Parser?
Единственные способы, о которых я знаю, не являются "прямыми":
- преобразование в формат ANTLR и использование его собственного визуализатора
- VISUALLANGLAB, который, как представляется, требует целых щелчков мыши "переписать"
- реализация конвертера сама по себе (что было бы смешно, но отнимало много времени)
- вторая ссылка ниже
по теме:
Вторая ссылка предлагает отладить добавление неявного метода к синтаксическим анализаторам:
implicit def toLogged(name:String) = new {
def !! = log(p)(name)
}
Может быть, АСТ будет более целесообразным/полезным; но вопрос остается похожим.
Ответы
Ответ 1
Возможно, я неправильно понял ваш вопрос.
Компиляторы парсера Scala используются для анализа строк для экземпляров типов, которые вы можете использовать (как пользовательские, так и встроенные). Результатом является структура экземпляров Scala, которые вы решите, это может быть что угодно.
Вы можете создать парсер, который анализирует вашу произвольную строку в примерах хорошо известной структуры java, например ECore
.
Без usecase трудно предложить лучший путь для вашей проблемы. Возможно, Xtext может вам помочь: http://www.eclipse.org/Xtext/. В Xtext есть несколько встроенных функций, однако это плагин Eclipse, и вам может понадобиться что-то еще.