Skip to content

Releases: silverhairs/lox

v0.0.53

05 Sep 13:52
Compare
Choose a tag to compare
ci-cd: minor error

v0.0.51

03 Sep 10:48
Compare
Choose a tag to compare
test: add more test case for recursive functions

v0.0.50

29 Aug 22:41
Compare
Choose a tag to compare
test: add test case for void functions

v0.0.49

20 Aug 16:58
Compare
Choose a tag to compare
feat: interpret callable values

v0.0.48

14 Aug 20:04
Compare
Choose a tag to compare
feat: interpret `break` and `continue`

v0.0.47

09 Aug 00:26
Compare
Choose a tag to compare
fix: failure to parse `nil` literal

v0.0.46

07 Aug 07:53
Compare
Choose a tag to compare
Merge branch 'main' into develop

v0.0.45

05 Aug 23:45
6a51304
Compare
Choose a tag to compare
* 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

27 Jul 00:05
141ca5e
Compare
Choose a tag to compare
[semantics]:block statement (#37)

* block statement
* variable scopes
* some minor improvements on the parser's error handling

v0.0.43

26 Jul 00:00
5969220
Compare
Choose a tag to compare
[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