El objetivo de este trabajo es construir un analizador sintáctico descendente predictivo por tabla (parser), junto con un un analizador lexicográfico (lexer) que se implementará en el lenguaje de programación Python, para aceptar el lenguaje de programación PL-0 (lenguaje diseñado para entender los fundamentos de compiladores y teoría de lenguajes de programación).
El software deberá aceptar como entrada una cadena que representa código escrito en el lenguaje
PL-0, y deberá para este código, interpretado como una cadena de caracteres ASCII o UTF-8,
indicar si dicha cadena pertenece al lenguaje generado por su gramática la cual está detallada más adelante en este README.md, y además deberá
indicar la derivación desde el símbolo distinguido para la cadena, en caso de pertenecer.
En el pdf adjuntado ("informe.pdf") se detalla la gramática arreglada, pues la original tiene problemas de recursividad izquierda y factorizacion, los cuales deben ser eliminiados mediante los correspondientes algoritmos detallados en el libro del dragón para poder construir un analizador sintáctico con las características establecidas. También se puede ver la tabla de predicción calculada y tomada como base para la elaboración del parser a la hora de codificar.
-
Notifications
You must be signed in to change notification settings - Fork 0
The objective of this project is to build a table-driven predictive top-down parser, along with a lexicographic analyzer (lexer), implemented in the Python programming language, to recognize the PL-0 programming language (a language designed to understand the fundamentals of compilers and language theory).
ignaciopieroni/compiler-lexical_analysis-parsing
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
The objective of this project is to build a table-driven predictive top-down parser, along with a lexicographic analyzer (lexer), implemented in the Python programming language, to recognize the PL-0 programming language (a language designed to understand the fundamentals of compilers and language theory).
Topics
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published