JarLang interpreter with x86-64 assembly and Python
JarLang Playground running the hello example
Generated x86-64 assembly for the hello example
Abstract syntax tree for the hello example
Benchmark example in the dark theme

Project Information

About

This project is an advanced interpreter and custom programming language that utilizes a lexer, parser, and semantic analyzer to construct abstract syntax trees (ASTs) from user code. The interpreter traverses and interprets the trees to compute the expression, while also generating and executing x86-64 assembly code. Features include variable assignment, arithmetic expressions, functions, if statements, loops, logical and comparison operators, dynamic error handling, and more. It can also be run in the browser with the JarLang Playground, which shows the output, AST, tokens, and generated assembly for your code.

Overall this project allowed me to deepen my understanding of programming languages and abstract structures, as well as to improve my skills in software design and development.