Changelog
- Initial implementation of the lexer, parser, and AST by @crhowell3 in #2
- Implemented if and while control blocks with scoping by @crhowell3 in #4
- Implemented function declarations, function calls, global and local scopes, and returns by @crhowell3 in #6
- Implemented rudimentary type system by @crhowell3 in #8
Synopsis
I have finally found motivation to continue working on Terebinth! I found a really awesome YouTube series about writing a compiler in Rust, and I have been following along with it to help create the Terebinth compiler. I will be updating the Terebinth compiler at least until version 0.1.0 is officially released. Afterward, I will slowly add more new features until I get to a point where 1.0.0 can be released. I’ll start formalizing a roadmap for that once I get past 0.1.0.
Right now, the compiler does not perform any assembling or linking, so it does not produce any executables. It currently has lexing and tokenization, parsing, and AST construction and visiting. There is also an AST evaluator that sort of acts like an interpreter right now, so it is possible to actually compute arithmetic and Boolean operations. The language also has support for control structures and functions. A little example program is available in the examples directory.
Installation and usage instructions are also available in the README. I should be releasing a couple more alpha and beta versions of the compiler soon, and then 0.1.0 should be out in just under a month. I will post all changelogs and synopses here, and I will eventually publish a language guide once it becomes stable.
Anyway, be sure to check it out! If you find any bugs, or if you want some features added to the language, be sure to open an issue on the GitHub. If you want to add your own changes, be sure to open a PR with appropriate explanations, and also make sure that the PR is related to an issue. I’ll get around to reviewing changes as they come in.
I’m so excited to finally have motivation to work on this project, and I plan to publish much more content in the future. I also have some other cool things in the works that will certainly bolster my portfolio. I will post about those as they become ready for publication. Until then, thanks, and have a great day!

