Skip to content

Latest commit

 

History

History
42 lines (29 loc) · 1.74 KB

File metadata and controls

42 lines (29 loc) · 1.74 KB

megaPython 🐍

⚙️ Diseño de Compilador en Java

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.


🧠 Fases Implementadas

El compilador sigue la estructura clásica de procesamiento de lenguajes:

  1. 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.
  2. Análisis Sintáctico (Parser): Validación de la estructura del código mediante gramáticas libres de contexto y árboles de derivación.
  3. Análisis Semántico: Verificación de tipos, validación de variables declaradas y coherencia lógica de las expresiones.

🛠️ Tecnologías y Conceptos

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

💻 Cómo ejecutar el proyecto

Sigue estos pasos para probar el compilador en tu entorno local:

  1. Clona este repositorio:
    git clone https://github.com/itssamuelleon/megaPython.git
  2. Abre el proyecto en tu IDE de elección (IntelliJ IDEA, Eclipse, VS Code, etc.).
  3. Ejecuta la clase Main.java.
  4. 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.