You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

4.3 KiB

Changelog

v0.4.0 (2021-02-20)

This release introduces the concept of structs, alongside many improvements to the documentation.

Features

  • Assignment operators (#10)
  • Structs (#12)

Fixes

None

Documentation

  • Fixed some typose and broken links
  • Document boolean values
  • Added this changelog!

v0.3.0 (2021-02-12)

This release adds type inference to Sabre. There are also a lot of improvements in terms of documentation. The docs are now at a state that can be considered "usable".

Features

  • Type inference
  • The any type
  • First attempt of LLVM backend

Fixes

  • Fixed an error when printing numbers

Documentation

  • Added documentation for for loops
  • Added documentation for while loops
  • Documented LLVM backend
  • Documented comments
  • Updated contributing guidelines

v0.2.1 (2021-02-06)

Fixes

  • Fixed an issue where nested expressions where not compiled correctly

v0.2.0 (2021-02-06)

This version introduces a lot of improvements regarding loops and arrays.

Features

  • Support for nested arrays
  • break and continue statements

Documentation

  • Link to our matrix channel in README
  • Install Sabre via Cargo

v0.1.1 (2021-02-06)

Follow-up release that fixes some issues with the published crate.

v0.1.0 (2021-02-06)

This release is the first to be published to crates.io. The crate is called sabre-lang.

Features

  • Uninitialized variables
  • For loops

Fixes

None

Documentation

  • Functions fully documented

v0.0.4 (2020-12-18)

This release tries to lay the groundwork of a possible C backend.

Features

  • An unstable, opt-in C backend
  • len() standard library function
  • rev() standard library function
  • Function return types

Fixes

  • Booleans as function parameters

Documentation

  • A lot of improvements

v0.0.3 (2020-12-10)

This release adds new vital features to the language.

Features

  • While loops
  • Boolean type
  • Variable assignments
  • Basic standard library

v0.0.2 (2020-12-09)

Direct follow-up release that didn't add or remove anything

v0.0.1 (2020-12-09)

Initial release with basic featureset.

Full shortlog

Garrit Franke (74):
      Initial commit
      Add license
      Add curly braces
      Parse functions
      Fix function parsing
      Update math example
      Refactor TokenType
      Implement return statement
      Fix keyword recognition
      Fix test compilation
      Fix tests and comments
      Add variable declarations
      Implement returning variables
      Pretty print AST output
      Add strings
      Rename flex -> sabre
      Fix example filename
      Add parser tests
      Add multiple functions test
      Add token positions
      Add token positions
      Allow empty returns
      Add x86 generator scaffolding
      Generate assembly
      Add JS generator
      Fix warnings
      Implement return generation
      Refactor x86 generator
      Print result of main for js target
      Fix infinite loop when parsing strings
      Add CI
      Add function arguments
      Add function arguments
      Tokenize Comma
      Fix return with expression
      Remove uneeded compount statement
      Add math operations
      Fix parsing of complex compound expressions
      Clean up expression parsing
      Refactor function call parsing
      Change function declaration syntax
      Add greeter example
      Add fib example
      Add basic conditionals; remove semicolons
      Allow multiple statements in if conditional
      Add TODO file
      Add js generator for variable declarations
      Add remaining comparison operators
      Add Readme
      Add backend-state to README
      Add CLI TODO
      Add error reporting TODO
      Fix typo
      Add builds.sr.ht badge
      Add basic CLI
      Revert "Change function declaration syntax"
      Fix production build
      Fix examples
      Fix readme
      Fix compound op with identifier first
      Fix fib example
      Add conditional else if branch
      Generalize block into own statement
      Add else branch
      Add copyright notices
      Fix warnings
      Add integer arrays
      Clean up error handling
      Refactor parser module structure
      Fix warnings
      Add docs
      Add placeholder for documentation
      docs: add placeholder for CLI
      docs: add placeholders for developers