mirror of https://git.sr.ht/~garritfra/sabre
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.
183 lines
4.0 KiB
183 lines
4.0 KiB
3 years ago
|
# 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](https://crates.io/crates/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
|
||
|
```
|