Skip to content

0.17.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 24 Feb 23:19
3c90991

🚀 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