logo móvil
Contáctanos

En el análisis de lenguajes de programación con analizador Turing-completo

Autores: Slivnik, Botjan; Mernik, Marjan

Idioma: Inglés

Editor: MDPI

Año: 2023

Descargar PDF

Acceso abierto

Artículo científico
2023

En el análisis de lenguajes de programación con analizador Turing-completo


Categoría

Matemáticas

Subcategoría

Matemáticas generales

Palabras clave

Método de análisis
Gramáticas libres de contexto
Métodos de desplazamiento-reducción
Lenguajes específicos de dominio
Lenguajes contextuales
Implementación

Licencia

CC BY-SA – Atribución – Compartir Igual

Consultas: 29

Citaciones: Sin citaciones


Descripción
Se describe un nuevo método de análisis basado en el sistema semi-Thue. Similar, pero con una implementación más eficiente que los algoritmos normales de Markov, puede utilizarse para analizar cualquier lenguaje recursivamente enumerable. A pesar de su potencia computacional, está destinado a utilizarse principalmente para analizar lenguajes de programación y específicos de dominio. Permite una simulación directa de varios algoritmos de análisis existentes basados en gramáticas libres de contexto. La lista incluye tanto métodos de desplazamiento-producción de arriba hacia abajo (como SLL y LL) como métodos de desplazamiento-reducción de abajo hacia arriba (como LALR y LR), así como métodos mixtos de arriba hacia abajo y de abajo hacia arriba como LLLR. Para justificar el uso del nuevo método de análisis, el artículo proporciona numerosos ejemplos de cómo realmente se puede crear un analizador en la práctica. Se recomienda que la parte principal del analizador se base en algún enfoque simple y bien establecido, por ejemplo, SLL(1), mientras que las frases sintácticamente más complicadas pueden analizarse explotando toda la potencia del nuevo analizador. Estas frases pueden ser extensiones al lenguaje original o algún lenguaje específico de dominio incrustado. En todos los casos similares, ninguna parte del lenguaje está restringida a ser libre de contexto. De hecho, los lenguajes contextuales pueden manejarse de manera bastante eficiente.

Otros recursos que podrían interesarte

Temas Virtualpro