Skip to content

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).

Notifications You must be signed in to change notification settings

ignaciopieroni/compiler-lexical_analysis-parsing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Compilador

Objetivo

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.

Gramática establecida PL-0

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

No packages published

Languages