Skip to content

Releases: tosh7/SimpleSwiftCompiler

v0.2.0

23 Oct 06:19

Choose a tag to compare

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

04 Oct 06:45

Choose a tag to compare

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

24 Sep 06:27

Choose a tag to compare

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

19 Sep 04:15

Choose a tag to compare

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