antlr: práctica recomendada para integrar el analizador generado en el sistema

Aquí está el trasfondo, estoy tratando de crear un DSL para permitir al cliente escribir scripts simples para consultar en nuestra base de datos basada en mongodb. Elijo antlr para implementar el DSL.

Según tengo entendido (y por favor avíseme si no es correcto) hay 2 enfoques para integrar el analizador generado antlr en el sistema:

  1. Incruste el código en el archivo de gramática para que el analizador generado pueda usarse directamente para realizar consultas en la base de datos y devolver el resultado en un formato determinado (p. Ej. Codificado por json)
  2. Mantenga el analizador puramente un analizador, después de alimentarlo con el archivo DSL, y construya la consulta en otra clase recuperando el AST de la clase de analizador generado

Entonces, ¿cuál crees que es la forma en que yo, como novato de antlr, debería ir? ¿Puede enumerar los pros y los costos de cada enfoque, o tiene otra forma de recomendar?

Respuesta 1

Tengo una matriz de cadenas que contiene muchas palabras. Deseo obtener el índice de una palabra contenida en la matriz (-1 si no está contenida). Primero hice un bucle para buscar a través de todos los elementos en ...

Instalé SonarLint usando este enfoque en mi ECLIPSE MARS 2 - 4.5.0 No pude hacerlo con MarketPlace debido a este error: No puedo leer el repositorio en https: //eclipse-uc.sonarlint.org / ...

Hice esta pregunta ayer y obtuve una gran ayuda de Super Chafouin Java: Sin embargo, cómo obtener la ruta de los nodos xml. No puedo usar la recursividad aquí. ¿Hay alguna manera de hacer el mismo trabajo sin recurrencia? YO ...

Estoy tratando de dibujar una cadena usando UnicodeFont de Slick2D. Desafortunadamente se ve ¿Hay alguna forma de hacer que se vea mejor (con suavizado o antialiasing)? Aquí está mi código GL11.glEnable (GL11 ....