4.4 KiB
Changelog
Unreleased
Features
v0.4.0 (2021-02-20)
This release introduces the concept of structs, alongside many improvements to the documentation.
Features
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
andcontinue
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 functionrev()
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