Este repositorio contiene el código fuente de un compilador y un lenguaje de programación creado completamente desde cero. Es un proyecto de alta complejidad técnica enfocado en la aplicación práctica de la teoría de lenguajes, autómatas y estructuras de datos.
El compilador sigue la estructura clásica de procesamiento de lenguajes:
- Análisis Léxico (Scanner): Tokenización del código fuente, identificación de palabras reservadas, operadores y literales, con manejo de errores léxicos.
- Análisis Sintáctico (Parser): Validación de la estructura del código mediante gramáticas libres de contexto y árboles de derivación.
- Análisis Semántico: Verificación de tipos, validación de variables declaradas y coherencia lógica de las expresiones.
- Lenguaje Principal: Java (Programación Orientada a Objetos).
- Conceptos Aplicados: * Autómatas finitos.
- Expresiones regulares.
- Árboles de sintaxis abstracta (AST).
- Tablas de símbolos.
- Gestión de memoria.
Sigue estos pasos para probar el compilador en tu entorno local:
- Clona este repositorio:
git clone https://github.com/itssamuelleon/megaPython.git
- Abre el proyecto en tu IDE de elección (IntelliJ IDEA, Eclipse, VS Code, etc.).
- Ejecuta la clase
Main.java. - Prueba el lenguaje: Ingresa un archivo de texto con código de prueba escrito en el lenguaje creado para ver el resultado de la compilación en la consola.
Proyecto desarrollado como parte de la formación en Ingeniería en Sistemas Computacionales.