* 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