Files
alecc/CHANGELOG.md
ale ce4ff63d0d README.md
Signed-off-by: ale <ale@manalejandro.com>
2025-08-23 12:05:11 +02:00

3.4 KiB

Changelog

Todos los cambios notables en este proyecto serán documentados en este archivo.

El formato está basado en Keep a Changelog, y este proyecto adhiere a Semantic Versioning.

[Unreleased]

Agregado

  • Soporte para más optimizaciones
  • Mejores mensajes de error
  • Soporte para más extensiones de C

Cambiado

  • Mejorado rendimiento del parser
  • Optimizada generación de código

Corregido

  • Problemas de compilación en sistemas de 32 bits
  • Manejo de errores en el enlazador

[0.1.1] - 2025-08-23

Agregado

  • Operadores compuestos: Implementados +=, -=, *=, /= con soporte completo
  • Operadores bitwise: Agregados &, |, ^, ~, <<, >> con precedencia correcta
  • Suite de tests: Tests de integración completamente funcionales (10/10 pasando)
  • Benchmarks: Sistema de benchmarks con métricas de rendimiento
  • Soporte biblioteca: Configuración dual binario/biblioteca para tests
  • Recursión mejorada: Soporte completo para funciones recursivas (factorial, fibonacci)

Cambiado

  • 🔧 Limpieza de código: Eliminados todos los warnings de compilación (32 → 0)
  • 📝 Documentación actualizada: README con limitaciones actuales clarificadas
  • 🏗️ Arquitectura mejorada: Mejor separación de módulos con lib.rs

Corregido

  • 🐛 Headers locales: Eliminada dependencia del directorio include/ local
  • 🔨 Patrones inalcanzables: Corregidos match patterns redundantes
  • ⚠️ Imports sin usar: Limpiados todos los imports y variables no utilizados

Removido

  • Directorio include/: Eliminado directorio include/ y referencias obsoletas

[0.1.0] - 2025-08-21

Agregado

  • Implementación inicial del compilador ALECC
  • Soporte para arquitecturas i386, AMD64 y ARM64
  • Lexer completo para C/C++
  • Parser básico para programas simples
  • Generador de código para las tres arquitecturas
  • Sistema de optimización con múltiples niveles (-O0 a -O3, -Os, -Oz)
  • Enlazador con soporte para bibliotecas estáticas y dinámicas
  • Compatibilidad básica con opciones de GCC
  • Interfaz de línea de comandos completa
  • Sistema de preprocesado básico
  • Soporte para inclusión de archivos de cabecera
  • Manejo de errores robusto
  • Tests de integración y benchmarks
  • Documentación completa en README.md
  • Scripts de construcción automatizada
  • Configuración para CI/CD con GitHub Actions

Características Principales

  • Alto Rendimiento: Escrito en Rust para máxima eficiencia
  • Seguridad: Manejo seguro de memoria y detección temprana de errores
  • Compatibilidad: Compatible con opciones de línea de comandos de GCC
  • Multiplataforma: Soporte nativo para múltiples arquitecturas
  • Optimización: Sistema avanzado de optimización de código

Limitaciones Conocidas

  • Soporte limitado para características avanzadas de C++
  • Preprocesador simplificado
  • Algunas optimizaciones están en desarrollo
  • Compatibilidad parcial con extensiones específicas de GCC

Documentación

  • README.md completo con ejemplos de uso
  • Documentación de API en código
  • Ejemplos de programas de prueba
  • Guía de contribución

Herramientas de Desarrollo

  • Makefile para tareas comunes
  • Scripts de construcción automatizada
  • Configuración de EditorConfig
  • Benchmarks de rendimiento
  • Tests de integración completos