Releases: Sheape/fox
Releases · Sheape/fox
Release v0.2.0
Release 0.2.0 (2025-07-14)
Changelog
Features
856dc17Implemented for loops404238bImplemented while loops31a04a4Added initial implementation for 'and' and 'or'5a60bdbImplemented if else statementsdb2f49fComplete implementation of scoping and garbage collector12a0d45Added initial implementation for scoping and local vars0c7f6e0Implemented global variable declaration, set, and getf01bef2Implemented comparison operatorsc84ff8aImplemented arithmetic operations for vm4857167Added initial implementation for stack-based vm31f69ffAdded parsing for logical and, or, and assignment33959feAdded parsing for arguments, properties, and method calls679c50fAdded parsing for super keyword2d1b55eAdded parsing for block statementsd63f015Added parsing for for loopsaf69c85Added parsing for if statementsccd65d8Added parsing for variables0dd68d3Added parsing for while statement1f8233aAdded parsing for return statementf21ccd3Added program definitiond1cc351[Breaking Change] Added support for multi-line strings and expressions26c4041Added initial implementation for print and eval statements
Performance Improvements
4b36523[Breaking Change] Eliminated all self-refential enums with index-based rdp90f6f78Change enum to struct for type-state pattern
Bug Fixes
5610b0eParsing blocks with varying scope levela16a63aParse expr instead of statement for print and returnb23014cCaptured the first and last char for identifiers
Documentation
004428eAdded status badge for release
Refactor
c537a92Changed type from tuple struct to type for node idb36527d[Breaking Change] Switched to type-state pattern
Others
Release v0.1.0
Release 0.1.0 (2025-06-15)
Changelog
Features
ce346e3Added comparison operators7d78177Implemented eval for all types of expressionsfd4997aImplemented error handling for syntaxbdb7e71Added parsing for comparison7863de3Added unary operators79cfe8dAdded literal strings and numbers8442993Added nil7357e6bImplemented recursive descent parsing4cf570eAdded keywords6294e1eAdded identifiers990a3f1Added number literalscf0b123Added string literalsfdc767aAdded relational, division operator, whitespace & commentsa04121aAdded bangc9049dcOther characters0d45d24Added curly braces3a8d045Added parenthesis
Bug Fixes
00b0a2aFloating point division instead of integer division953dcf9Match precedence for unary and primary9738b30Captured grouping expressions properlyd19af80Display for floats must be in literal instead of chars3e73591Parse float for exponent4b4e98cOut of bounds is evaluated even for false statements
Documentation
4228308Updated readme with wip
Testing
5b7f6e1Added unit test for paren, braces, and other single chars
CI/CD
Refactor
871d637Rewrote and optimized parserb84b2faRewrote and optimized lexer4fb6165[Breaking Change] Cleanup lexer codeae6ad75Lex through each line instead of per token6cd43a2Converted loops into iters to add line numbers for errors
Others
5c8f092Added pull request template63af736Added licenseb8ba50cAdded error handling for comparison operators1d855f5Added error handling for runtime errorse3d9af9Cleanup next token indexc20d6ffAdded lexing from fileda87ef8Initialized checks for scanner
Build
1bad311Changed the package name and its props