Releases
0.17.0
🚀 New features
Parser
✨ Add enum parsing
✨ Add struct initializer expression
✨ Add tuples
✨ Add struct parsing
✨ Add typing
✨ Add assignment and unary expressions
✨ Add variable declarations
✨ Add expression groupings
✨ Add basic error diagnostic messages
✨ Add PRATT parser
✨ Add variable declarations
✨ Add conditional expressions
✨ Add negative unary operator
✨ Add expression grouping
✨ Add anonymous functions
✨ Add function types
✨ Typecheck conditional expressions
✨ Add scoped variables
✨ Add type environment
✨ Check for binary operations
✨ Allow for multiple type errors to be caught
✨ Add primitive type checker
✨ Add typing system
✨ Add syntax highlighting
✨ (scanner): Add enum
keyword
✨ (parser): Add combine
for Diagnostic
✨ (parser): Enforce ;
after expression statements
✨ (scanner): Add Lexeme
✨ (tokenizer): Create ParenOpen
and ParenClose
✨ (tokenizer): Create tokenizer
Tokenizer
✨ Curly braces
✨ Characters
Scanner
✨ Add indentation as a token
✨ Add struct keyword
✨ Seperate lexeme to own file and add more tokens
🐛 Bug fixes
Scanner
🩹 Fix invalid lexemes having a wrong starting range index
️ (parser
♿ Improve error messages
♿ Add panic recovery mode
Parser
🐛 Fix panic mode skipping over the second token
🚸 Improve error messages
🚸 Improve type handler not found error message
🚸 Improve expect_tokens error message
🚸 Improve expression handler not found error message
🚸 Improve error messages
🚸 Gather multiple diagnostics
🐛 Fix binding power not propegating correctly
Tokenizer
🐛 Remove unintended character
🐛 Properly implement blocks
🚸 Improve error messages
🚸 Improve binary operator error message
3.0 (#28 )
🐛 Fix compiler warnings
🐛 Fix function calls
➖ Remove unused dependencies
➕ Add inkwell
🐛 Fix unit types not having a correct span
🐛 Fix duplicate typing error messages
🐛 Fix debug typing printing
🐛 (parser): Fix no expression handler
error starting at wrong position
🐛 (scanner): Fix var
regex
✏️ (scanner): Rename Token::Equiality
to Token::Equality
➖ Remove unused codespan
dependency
🐛 (scanner): Fix Lexeme
position
being invalid for Invalid
tokens
📌 Pin anyhow and regex crates
You can’t perform that action at this time.