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

91 líneas
3.4 KiB
Markdown

# Changelog
Todos los cambios notables en este proyecto serán documentados en este archivo.
El formato está basado en [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
y este proyecto adhiere a [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [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