Skip to content

Releases: Sheape/fox

Release v0.2.0

14 Jul 13:54
4d387f6

Choose a tag to compare

Release 0.2.0 (2025-07-14)

Changelog

Features

  • 856dc17 Implemented for loops
  • 404238b Implemented while loops
  • 31a04a4 Added initial implementation for 'and' and 'or'
  • 5a60bdb Implemented if else statements
  • db2f49f Complete implementation of scoping and garbage collector
  • 12a0d45 Added initial implementation for scoping and local vars
  • 0c7f6e0 Implemented global variable declaration, set, and get
  • f01bef2 Implemented comparison operators
  • c84ff8a Implemented arithmetic operations for vm
  • 4857167 Added initial implementation for stack-based vm
  • 31f69ff Added parsing for logical and, or, and assignment
  • 33959fe Added parsing for arguments, properties, and method calls
  • 679c50f Added parsing for super keyword
  • 2d1b55e Added parsing for block statements
  • d63f015 Added parsing for for loops
  • af69c85 Added parsing for if statements
  • ccd65d8 Added parsing for variables
  • 0dd68d3 Added parsing for while statement
  • 1f8233a Added parsing for return statement
  • f21ccd3 Added program definition
  • d1cc351 [Breaking Change] Added support for multi-line strings and expressions
  • 26c4041 Added initial implementation for print and eval statements

Performance Improvements

  • 4b36523 [Breaking Change] Eliminated all self-refential enums with index-based rdp
  • 90f6f78 Change enum to struct for type-state pattern

Bug Fixes

  • 5610b0e Parsing blocks with varying scope level
  • a16a63a Parse expr instead of statement for print and return
  • b23014c Captured the first and last char for identifiers

Documentation

  • 004428e Added status badge for release

Refactor

  • c537a92 Changed type from tuple struct to type for node id
  • b36527d [Breaking Change] Switched to type-state pattern

Others

  • 2434fd8 Updated list of features
  • 92b0311 Cleanup tree traversal evaluator
  • fc1c20e Added filter for root nodes
  • f01a9e0 Added debug print for parser
  • ac737b6 Added debug print for lexer
  • ed167a1 Specified to take state of none in the lexer
  • c4f200f Added expression and print statements

Release v0.1.0

15 Jun 07:48

Choose a tag to compare

Release 0.1.0 (2025-06-15)

Changelog

Features

Bug Fixes

  • 00b0a2a Floating point division instead of integer division
  • 953dcf9 Match precedence for unary and primary
  • 9738b30 Captured grouping expressions properly
  • d19af80 Display for floats must be in literal instead of chars
  • 3e73591 Parse float for exponent
  • 4b4e98c Out of bounds is evaluated even for false statements

Documentation

Testing

  • 5b7f6e1 Added unit test for paren, braces, and other single chars

CI/CD

  • 7a7846e Added github workflows for release and building
  • 15472f7 Added git cliff

Refactor

  • 871d637 Rewrote and optimized parser
  • b84b2fa Rewrote and optimized lexer
  • 4fb6165 [Breaking Change] Cleanup lexer code
  • ae6ad75 Lex through each line instead of per token
  • 6cd43a2 Converted loops into iters to add line numbers for errors

Others

  • 5c8f092 Added pull request template
  • 63af736 Added license
  • b8ba50c Added error handling for comparison operators
  • 1d855f5 Added error handling for runtime errors
  • e3d9af9 Cleanup next token index
  • c20d6ff Added lexing from file
  • da87ef8 Initialized checks for scanner

Build

  • 1bad311 Changed the package name and its props