Nueva estrategia para la recuperación de errores sintácticos

Este artículo describe una nueva estrategia de recuperación de errores sintácticos para un compilador de lenguaje que no utiliza separadores de instrucciones como el punto y coma ";" o los corchetes de apertura "{" y de cierre "}". Esta estrategia se desarrolla en 4 pas...

Full description

Autores:
Báez, Henry F
Vargas, Juan G
Tipo de recurso:
Article of journal
Fecha de publicación:
2003
Institución:
Universidad Nacional de Colombia
Repositorio:
Universidad Nacional de Colombia
Idioma:
spa
OAI Identifier:
oai:repositorio.unal.edu.co:unal/28728
Acceso en línea:
https://repositorio.unal.edu.co/handle/unal/28728
http://bdigital.unal.edu.co/18776/
Palabra clave:
compiler
syntax analizer
grammar
syntax error recovering
compilador
analizador
sintáctico
gramática
recuperación de errores sintácticos
Rights
openAccess
License
Atribución-NoComercial 4.0 Internacional
Description
Summary:Este artículo describe una nueva estrategia de recuperación de errores sintácticos para un compilador de lenguaje que no utiliza separadores de instrucciones como el punto y coma ";" o los corchetes de apertura "{" y de cierre "}". Esta estrategia se desarrolla en 4 pasos: 1.encontrar un conjunto de tokens (llamado conjunto ACEPTA) para cada símbolo no terminal de la gramática; 2. en el análisis sintáctico de cada símbolo no terminal, se eliminan tokens que no se encuentren en el conjunto ACEPTA; 3. eliminar tokens repetidos que no son aceptados por la gramática y 4. completar símbolos en el análisis sintáctico con la esperanza que el token que no se ha borrado coincidirá más adelante con un símbolo terminal esperado por el análisis sintáctico. En caso contrario, el token se eliminará en algunas producciones determinadas. La estrategia de recuperación de errores sintácticos es una metodología que puede usarse en cualquier gramática libre de contexto y no ambigua, incluso en las que utilizan separadores de instrucciones como el ";". Se implementa de forma algorítmica y es mucho más fácil de implementar que otras estrategias clásicas como las basadas en pilas.