Releases: tosh7/SimpleSwiftCompiler
Releases · tosh7/SimpleSwiftCompiler
v0.2.0
Features:
- Added support for variable declarations with 'let' keyword
- Implemented variable references in expressions
- Added stack allocation for variables using LLVM alloca/store/load instructions
- Support for type inference in variable declarations
- Variables stored in HashMap for scoped access
Improvements:
- Enhanced lexer with new tokens (Let, Assign, Colon, Identifier)
- Extended AST with VarDecl, Assignment, and Variable nodes
- Updated parser with parse_declaration and variable parsing
- Fixed lexer token string bugs (Colon and Assign tokens)
- Fixed pattern matching with proper String to &str conversion
Documentation:
- Removed large Example Output sections from READMEs
- Removed Project Structure sections from documentation
- Started moving file descriptions to source file comments
Full Changelog: v0.1.2...v0.2.0
v0.1.2 - Command-line options support
Features:
- Added command-line options support with CompilerOption enum
- Implemented --verbose/-v flag for detailed compilation output
- Integrated verbose mode throughout the compilation pipeline
- Conditional output for Tokens, AST, and LLVM IR based on verbose flag
Improvements:
- Better argument parsing to separate options from filename
- Cleaner output in non-verbose mode
- Pass options through Compiler and LLVMCompiler constructors
- Fixed all compilation warnings related to options handling
Documentation:
- Updated README with verbose option usage
- Added options.rs to project structure documentation
- Included examples for both default and verbose output modes
Full Changelog: v0.1.1...v0.1.2
v0.1.1 - Modular architecture refactoring
Features:
- Complete modular architecture with compiler.rs orchestrator
- Separated frontend/backend responsibilities
- LLVM backend module (llvm_backend.rs) for code generation
- Improved error handling throughout compilation pipeline
- Fixed all compilation warnings and unused imports
- Organized output to target/llvm directory
Improvements:
- Better separation of concerns between modules
- Cleaner error propagation with Result types
v0.1.0 - Basic Swift compiler with LLVM backend
Features:
- Lexer for tokenizing Swift source code
- Parser with operator precedence for arithmetic expressions
- AST generation
- LLVM IR code generation
- Support for print statements and basic arithmetic (+, -, *, /)
- Native code compilation via LLVM toolchain