Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Más Información. Aceptar

Desarrollando gramáticas con ANTLR

Arnaldo Pérez Castano
  • Escrito por Arnaldo Pérez Castano el 04 de Octubre de 2013
  • 1 min de lectura | Programación
Desarrollando gramáticas con ANTLR

La compilación es un área tan compleja como interesante dentro del fascinante mundo de la computación y el desarrollo de un compilador es una tarea que requiere de la paciencia y la  precisión de programadores hábiles, astutos que sepan guiar el proceso de implementación por vías que produzcan un diseño adecuado para futuras extensiones. Existen varias etapas en el proceso de compilación, la primera de ellas es conocida como análisis sintáctico y requiere de una interacción directa con la gramática que define al lenguaje. Para lidiar con la fase de creación de la gramática se han creado diferentes herramientas que proporcionan facilidades en cuanto a su desarrollo, una de las más populares es ANTLR. Captura ANTLR permite diseñar gramáticas que puedan emplearse para validar textos de modo que se garantice que estos sigan una determinada sintaxis y además una determinada semántica (adornando la gramática con atributos).  El análisis semántico es la segunda fase en el proceso de compilación . ANTLR es Open Source. Siendo una herramienta de la teoría de lenguajes un usuario familiarizado con dicha teoría puede comprender  y desenvolverse con más efectividad en un ambiente ANTLR, todo depende de la complejidad que se le quiera añadir a la gramática. Considere la siguiente gramática de ejemplo. Captura La gramática anterior consta de 2 tipos de tokens , INT e ID, que representan números enteros e identificadores alfanuméricos. Solo existe una regla que en este caso ha sido llamada inicio y se encuentra conformada por los dos tokens anteriores. La gramática anterior acepta cadenas como: "arnaldo 23" 0 "Jordan45 23" pero no acepta "arnaldo 23 arnaldo". Para aceptar cadenas como la última deberíamos añadir otro token de tipo ID a la regla inicio, al final de las anteriores. Es posible sumar complejidad a una gramática mediante el uso de reglas que se apoyan en otras para su definición.

Estas son algunas de las empresas que ya confían en OpenWebinars

Profesores y profesionales

Nuestros docentes son profesionales que trabajan día a día en la materia que imparten

Conviértete en profesor de OpenWebinars