ANTLR
Introducción a ANTLR v4
Buscar..
Observaciones
ANTLR v4 es una poderosa herramienta utilizada para crear nuevos lenguajes de programación y procesar / traducir texto binario o texto estructurado. ANTLR utiliza una gramática que usted crea para generar un analizador que puede construir y atravesar un árbol de análisis (o árbol de sintaxis abstracta, AST). El analizador consta de archivos de salida en el idioma de destino que especifique. ANTLR v4 admite varios destinos, incluidos: Java, C #, JavaScript, Python2 y Python3. Se está trabajando en el soporte para C ++. Para trabajar en IDE de GUI, existen complementos para Visual Studio, Intellij, NetBeans y Eclipse.
Para información general, visite el sitio web de ANTLR . Para hablar en serio sobre ANTLR, echa un vistazo al libro altamente recomendado escrito por Terrence Parr (el tipo que creó ANTLR) La referencia definitiva de ANTLR 4 .
Información importante de la versión
- 4.5: 01/22/15 - Se agregó el objetivo de JavaScript y se actualizó el objetivo de C #. 4.5 Notas de la versión
- 4.4: 07/16/14 - Se agregaron Python2 y Python3 como objetivos. 4.4 Notas de la versión
- 4.3: 18/06/14 - Corrección de errores mayores; Preparado para añadir nuevos objetivos. 4.3 Notas de la versión
- 4.2: 02/04/14 - Sintaxis mejorada para seleccionar / hacer coincidir árboles de análisis. 4.2 Notas de la versión
- 4.1: 30/06/13 - Mejora el rendimiento de análisis; exportar ASTs a PNG. 4.1 Notas de la versión
- 4.0: 01/21/13 - Lanzamiento inicial.
Instalación para uso de línea de comandos
ANTLR se distribuye como un archivo Java Jar. Se puede descargar aquí . Como ANTLR se compila como un archivo jar, posteriormente requiere que el entorno de ejecución de Java funcione, si no lo tiene, puede descargarlo aquí .
Una vez que se haya descargado el archivo JAR ANTLR, puede ejecutar ANTLR desde la línea de comandos de la misma manera que cualquier otro archivo JAR:
Java -jar antlr-4.5.3-complete.jar
(Suponiendo que está operando en el mismo directorio que el archivo antlr-4.5.3-complete.jar).
Esto debería producir algo similar a esto:
ANTLR Parser Generator Version 4.5.3
-o ___ specify output directory where all output is generated
-lib ___ specify location of grammars, tokens files
-atn generate rule augmented transition network diagrams
-encoding ___ specify grammar file encoding; e.g., euc-jp
-message-format ___ specify output style for messages in antlr, gnu, vs2005
-long-messages show exception details when available for errors and warnings
-listener generate parse tree listener (default)
-no-listener don't generate parse tree listener
-visitor generate parse tree visitor
-no-visitor don't generate parse tree visitor (default)
-package ___ specify a package/namespace for the generated code
-depend generate file dependencies
-D<option>=value set/override a grammar-level option
-Werror treat warnings as errors
-XdbgST launch StringTemplate visualizer on generated code
-XdbgSTWait wait for STViz to close before continuing
-Xforce-atn use the ATN simulator for all predictions
-Xlog dump lots of logging info to antlr-timestamp.log
Otras acciones recomendadas para la instalación incluyen:
1. Add antlr4-complete.jar to CLASSPATH, either: Permanently:
Using System Properties dialog > Environment variables > Create or append to CLASSPATH variable Temporarily, at command line: SET CLASSPATH=.;C:\Javalib\antlr4-complete.jar;%CLASSPATH%
3.Create batch commands for ANTLR Tool, TestRig in dir in PATH
antlr4.bat: java org.antlr.v4.Tool %*
grun.bat: java org.antlr.v4.gui.TestRig %*
Después de la configuración, puede crear una aplicación utilizando su archivo de gramática .g4:
Java -jar antlr-4.5.3-complete.jar yourGrammar.g4
También puede crear una aplicación en otros idiomas con el parámetro -Dlanguage. Por ejemplo, para generar archivos C # harías algo como esto:
java -jar antlr-4.5.3-complete.jar yourGrammar.g4 -Dlanguage=CSharp
Consulte aquí la lista completa de gramáticas prefabricadas para lenguajes de programación comunes.
Instalación usando herramientas de Build Automation
Descargue la última versión de ANTLR y extráigala a una carpeta.
También puede usar Maven, Gradle u otra herramienta de compilación para depender de su tiempo de ejecución (las clases que usan las gramáticas generadas): org.antlr:antlr4-runtime
.
Para poder generar automáticamente el analizador en un proyecto de maven, como parte del proceso de compilación, use el complemento de Maven : org.antlr:antlr4
.
Instalar en Eclipse y construir Hello World
(Probado con ANTLR 4.5.3, Eclipse Neon, ANTLR 4 IDE 0.3.5 y Java 1.8)
- Descarga la última versión de ANTLR . Asegúrate de obtener el tarro de archivos binarios de Java de ANTLR completo. Guarde en cualquier ubicación apropiada, por ejemplo, la carpeta donde se almacenan otras bibliotecas de Java. No importa dónde, solo recuerda la ubicación.
Instale el IDE ANTLR en Eclipse.
- Desde el menú de Eclipse, haga clic en Ayuda y seleccione Eclipse Marketplace.
- En el cuadro Buscar: escriba antlr y haga clic en Ir.
- Haga clic en Instalar para ANTLR 4 IDE.
- Haga clic en Finalizar en la ventana Confirmar características seleccionadas.
- Si aparece una ventana de advertencia de seguridad, haga clic en Aceptar.
- Reinicie Eclipse.
Evite el error "Error al crear el inyector ...".
- Al acceder a las Preferencias de ANTLR 4 en Eclipse o cuando la variable de entorno HOME no está configurada, ocurre el siguiente error: Error al crear el inyector para com.github.jknack.antlr-4ide.Antlr4 para com.github.jknack.antlr-4ide.Antlr4 .
- Asegúrese de que la variable de entorno HOME esté configurada. Si no, configúrelo como corresponda para su sistema.
- Descargue Xtext 2.7.3 en la misma ubicación que antlr-nnn-complete.jar.
- En Eclipse, haga clic en Ayuda y seleccione Instalar nuevo software.
- Haga clic en Agregar ... para acceder a la ventana Agregar repositorio.
- Escriba un nombre, xtext 2.7.3 por ejemplo, luego haga clic en Archivar ..., navegue hasta el archivo Xtext 2.7.3 y selecciónelo, luego haga clic en Aceptar.
- En la ventana de instalación, haga clic en el botón Seleccionar todo y luego haga clic en Siguiente> dos veces, acepte el acuerdo de licencia. y haga clic en Finalizar.
- Reinicie Eclipse.
Dígale a Eclipse / Java dónde está ANTLR.
- En Eclipse, haga clic en Ventana y seleccione Preferencias.
- En el panel izquierdo, expanda Java y Build Path, luego seleccione Classpath Variables.
- En el panel derecho, haga clic en Nuevo ..., ingrese un Nombre y haga clic en Archivo ... y busque su ubicación de antlr-nnn-complete.jar. Haga clic en Aceptar para volver a la ventana Variables de la ruta de clase.
- Haga clic en Aceptar para salir de las Preferencias.
(Opcional) Configure el directorio de fuentes generadas por el IDE ANTLR.
- En la ventana principal de Eclipse, haga clic en Ventana y luego en Preferencias.
- En el panel izquierdo, expanda ANTLR 4 y seleccione Herramienta.
- En Opciones, cambie el directorio si lo desea. Por ejemplo, java es mi idioma de destino, así que uso ./antlr-java.
- Haga clic en Aceptar para cerrar la ventana de Preferencias.
Crea un proyecto ANTLR 4.
- Desde la ventana principal de Eclipse, vaya a Archivo, Nuevo, Proyecto.
- En la ventana Nuevo proyecto, expanda General y seleccione Proyecto ANTLR 4.
- Haga clic en Siguiente, escriba un nombre de proyecto y haga clic en Finalizar.
- El nuevo proyecto predeterminado contiene un archivo Hello.g4 y generará automáticamente el programa estándar "Hello World".
- En el Explorador de paquetes, expanda la nueva carpeta del proyecto para ver el archivo g4 y una carpeta llamada target (o el nombre que le dio en el Paso 5) que contiene los archivos de origen de destino.
Instalando ANTLR en Visual Studio 2015 (usando Nuget)
- Abra Visual Studio 2015, vaya a Herramientas → Extensiones → En línea y busque Antlr. Descargue la extensión ANTLR Language Support (creada por Sam Harwell) y reinicie Visual Studio.
- Crear nuevo proyecto de aplicación de consola. Haga clic con el botón derecho en la Solución → Administrar paquetes de Nuget para la Solución → Examinar (pestaña) y busque Antlr4 e instálelo.
- Agregue un nuevo elemento a su proyecto haciendo clic derecho en él. Y busque plantillas ANTLR4.
- Desde su archivo ANTLR (finalizando .g4) vaya a Archivo → Opciones avanzadas de guardado y busque Unicode (UTF-8 sin firma ) - Página de códigos 65001 y haga clic en Aceptar. Eso es.
Prueba si todo funciona
- Cree un elemento de gramática combinada ANTLR 4 y asígnele el nombre Calculator.g4
- Copie y pegue el código fuente de la Calculadora de este proyecto de Github aquí: Calculadora por Tom Everett
- Cambiar la calculadora gramatical a la calculadora gramatical
- En el Explorador de soluciones → Haga clic en Mostrar todos los archivos.
- Guardar y Ejecutar (Iniciar) el proyecto
- En el Explorador de soluciones, en la carpeta obj, debería ver las clases de cs generadas como el visitante y el oyente. Si este es el caso que tuvo éxito. Ahora puede comenzar a trabajar con ANTLR en Visual Studio 2015.