scala dot abstract-syntax-tree parser-combinators

¿Hay alguna forma adecuada de generar un diagrama de sintaxis[jpg, png, etc.](y/o AST) directamente desde los combinadores de analizador de Scala?



dot abstract-syntax-tree (1)

Podría haber malinterpretado tu pregunta.

Los combinadores de analizador de Scala se utilizan para analizar cadenas en instancias de los tipos que puede usar (ya sea personalizados o incorporados). El resultado es una estructura de instancias de Scala que usted decide, esto podría ser cualquier cosa.

Podría crear un analizador que analice su cadena arbitraria en instancias de una estructura Java bien conocida, por ejemplo, ECore .

Sin un caso de uso, es difícil sugerir el mejor camino para su problema. Quizás Xtext pueda ayudarte: http://www.eclipse.org/Xtext/ . Xtext tiene algunas características integradas, sin embargo, es un complemento de Eclipse y es posible que necesites algo más.

Las únicas formas de las que soy consciente, no son "directas":

  • Convertir al formato ANTLR y usar su propio visualizador
  • VISUALLANGLAB, que parece requerir una "reescritura" completa de los clics del mouse
  • implementando un convertidor por mí mismo (lo cual sería divertido, pero requeriría mucho tiempo)
  • segundo enlace debajo

Relacionado:

El segundo enlace sugiere depurar agregando un método implícito a los analizadores:

implicit def toLogged(name:String) = new { def !!![T](p:Parser[T]) = log(p)(name) }

Puede ser un AST sería más factible / útil; pero la pregunta sigue siendo similar.