Releases: silverhairs/lox
Releases · silverhairs/lox
v0.0.53
ci-cd: minor error
v0.0.51
test: add more test case for recursive functions
v0.0.50
test: add test case for void functions
v0.0.49
feat: interpret callable values
v0.0.48
feat: interpret `break` and `continue`
v0.0.47
fix: failure to parse `nil` literal
v0.0.46
Merge branch 'main' into develop
v0.0.45
* chore: code cleaning * docs: add installation script * docs: update download script * Update README.md * Docs (#17) (#18) * chore: code cleaning * docs: add installation script * docs: update download script * Update README.md * chore: use semantic versioning in release names * v0.0.36 released * [interpreter]: capturing runtime errors (#21) * refactor: cleaner errors * refactoring: rename `errors` package into `exception` * refactoring: replace `Error` suffix with `Exception` * feat: capture `RuntimeException`s * refactor: minor cleaning * fix: analysis error (#22) * released v0.037 * chore: code cleaning * docs: add installation script * docs: update download script * Update README.md * [ui]: improve error handling * refactor: improve error handling * test: unit test map utility function * fix: useless test * feat: add parsing errors * chore: use io stdout as a console writer * feat: handle runtime errors * fix: improve printing for exceptions in console * Docs (#17) (#18) * chore: code cleaning * docs: add installation script * docs: update download script * Update README.md * v0.0.36 released * [interpreter]: capturing runtime errors (#21) * refactor: cleaner errors * refactoring: rename `errors` package into `exception` * refactoring: replace `Error` suffix with `Exception` * feat: capture `RuntimeException`s * refactor: minor cleaning * released v0.037 * chore: code cleaning * docs: add installation script * docs: update download script * Update README.md * fix: minor fix * Improved error handling (#28) ## Parsing errors and runtime errors will not trigger a panic anymore * [interpreter]: capturing runtime errors * [parser]: capturing parsing errors * fix: parse error does not print the culprit lexeme * feat: improve error messages * fix: evaluation not being performed in REPL * release v0.0.40 (#30) Improvements in error handling * fix: parse error does not print the culprit lexeme * feat: improved error messages * fix: evaluation not being performed in REPL * feat: add support for number formatting in string concatenation * feat: disable division by zero * test: add tests for interpreter * fix: formatting error * feat: add support for statements * fix: interpreter should now return anything * docs: Update README.md * feat: add support for `var` keyword * [feat]: add variable declaration (#32) * feat: add support for variable declaration * fix: environment destroyed on each REPL interation * test: add test cases for env * fix: static analysis error * feat: variable assignment * fix: assigning undeclared variable is not returning exception * chore: minor change * test: add new test cases to interpreter for variable assignment * chore: minor cleaning * refactor: rename `smt` into `stmt` * test: more test cases * fix: weak condition in test case * test: more check in interpreter test cases * [frontend]: assigning values to variable (#35) (#36) * feat: variable assignment * feat: add support for nested variable environments * feat: add support for block statements * fix: add `;` at end of lines in tests * feat: returns exception when accessing variable that points to `nil` value * feat: evaluate expressions in REPL * feat: if statements * docs: polish installation instructions 💅 * docs: fix script issue for `x86_64` Because the released `x86` binaries come with the suffix `amd64` for `x86_64` arch and the script uses the environment architecture to determine the correct binary file to download, the script was failing to recognize `glox-<platform>-amd64` as a the correct file for `x86` * docs: more docs * docs: add code snippet * Create LICENSE * fix: printer fails to visit variable nodes * test: more test cases for printer * test: more test cases * test: add test cases for `token` pkg * refactor: improve test quality for parser * test: more test cases for binary expressions * test: add test cases for grouping expressions * test: more test cases for parser * test: add test cases for ast.Variable * test: add test cases for parsing ast.Assignment * test: add parser test cases for statements * refactor: remove dead code * refactor: rename token for commenting * test: more test cases for ast * fix: use correct golang null terminator * fix: wrong error message when using illegal token * fix: minor error * fix: more error handling improvements * feat: start working on logical expressions * fix: wrong lexeme for `OR` and `AND` tokens * fix: failure to parse logical expressions AM I STUPID??? * test: more test cases for logical expressions * test: add more interpreter test cases * test: more tests
v0.0.44
[semantics]:block statement (#37) * block statement * variable scopes * some minor improvements on the parser's error handling
v0.0.43
[frontend]: assigning values to variable (#35) * feat: variable assignment * fix: assigning undeclared variable is not returning exception * chore: minor change * test: add new test cases to interpreter for variable assignment * chore: minor cleaning * refactor: rename `smt` into `stmt` * test: more test cases * fix: weak condition in test case * test: more check in interpreter test cases