ANTLR (Otra herramienta para el reconocimiento de idiomas) es un potente generador de analizadores para leer, procesar, ejecutar o traducir texto estructurado o archivos binarios. Se usa ampliamente para crear lenguajes, herramientas y marcos. A partir de una gramática, ANTLR genera un analizador que puede construir árboles de análisis y también genera una interfaz de escucha (o visitante) que facilita la respuesta al reconocimiento de frases de interés.
Estado de compilación de la rama de desarrollo
(acciones de github)
ANTLR 4 admite 10 lenguajes de destino (Cpp, CSharp, Dart, Java, JavaScript, PHP, Python3, Swift, TypeScript, Go) y garantizar la coherencia entre estos objetivos es una característica única y muy valiosa. Para garantizar el soporte adecuado de esta función, cada versión de ANTLR es una versión completa de la herramienta y los 10 tiempos de ejecución, todos con la misma versión. Como tal, el control de versiones ANTLR no sigue estrictamente la semántica de semver:
Si utiliza un verificador semver en su CI, probablemente desee aplicar reglas especiales para ANTLR, como tratar los cambios menores como cambios importantes.
La rama predeterminada para este repositorio es master
, que es la última versión estable y tiene etiquetas para las distintas versiones; por ejemplo, consulte la etiqueta de lanzamiento 4.9.3. La rama de dev
es donde se produce el desarrollo entre lanzamientos y todas las solicitudes de extracción deben derivarse de esa rama. La rama dev
se fusiona nuevamente con master
para cortar una versión y el estado de la versión se etiqueta (por ejemplo, con 4.10-rc1
o 4.10
). Visualmente, nuestro proceso se ve más o menos así:
El objetivo de Go ahora tiene su propio repositorio dedicado:
$ go get github.com/antlr4-go/antlr
Nota El repositorio de Go dedicado es solo para go get
e import
. El desarrollo del tiempo de ejecución de Go todavía se realiza en el repositorio principal antlr/antlr4
.
También puede que le resulten útiles las siguientes páginas, especialmente si desea experimentar con los distintos idiomas de destino.
Los programadores se encuentran con problemas de análisis todo el tiempo. Ya sea un formato de datos como JSON, un protocolo de red como SMTP, un archivo de configuración de servidor para Apache, un archivo PostScript/PDF o un lenguaje de macros de hoja de cálculo simple, ANTLR v4 y este libro desmitificarán el proceso. ANTLR v4 se ha reescrito desde cero para que sea más fácil que nunca crear analizadores y aplicaciones de lenguaje integradas. Esta nueva edición completamente reescrita del best seller Definitive ANTLR Reference le muestra cómo aprovechar estas nuevas características.
Puede comprar el libro The Definitive ANTLR 4 Reference en Amazon o una versión electrónica en el sitio del editor.
El código fuente del libro le resultará útil.
Este repositorio es una colección de gramáticas sin acciones donde el nombre del directorio raíz es el nombre en minúsculas del idioma analizado por la gramática. Por ejemplo, java, cpp, csharp, c, etc...