Built With : Custom Makefile
We are learning to write a compiler. We will create a single-pass compiler(or interpreter) initially. It will contain a Lexer, a recursive-descent Parser that creates an Abstract Syntax Tree(AST) and multiple visitor patterns that visit the AST and perform the specific task like pretty-printing, creating symbol table, semantic analysis and so on.
The compiler will initially have only data types and not any data structures. The context-free grammer(Backaus-naur form) of the language can be found in docs/syntax_specification.txt and the tokens recognized by the language along with the use case can be found in docs/language_tokens.md. The Git Help page can be found in docs/git_help.md.
Future Improvements :
The motivation behind creating this language is to be able to create a language that is extendible by the users. So after we have learned to create a basic compiler, we will focus on making it an extensible programming language.
We also hope to create appropriate files to export to text editors for syntax highlighting and formatting according to the language.
License : GNU Public License 3.0