DEV Community

Maxime Thomassin
Maxime Thomassin

Posted on

Graduation Story - Building my own compiler

[Note]: #githubsdp I used intellij from JetBrains. Best IDE for almost every language!!

My Final Project

Development of a compiler for a high-level oriented object programming language. The language is strongly typed, support inheritance and many other things. Programmed in Java and generated in LLVM IR for the execution. I had no prior knowledge in compilers and I had 20 days to make a fully functional compiler. I worked day and night to make it work. Overall, it is the project I am most proud about. On the other hand, the coding is far from being optimal and generally not so good. It was a write code, think if it doesn't work kind of project haha.

Demo Link

The only video I have from my working compiler. This was the first successful test of the compiler. A simple HelloWorld and my happiness from succeeding.!AqwCYyNwGkpSqdMcgMSOtEax6HAR2A?e=IHGFze

Link to Code


How I built it

The compiler is divided in four parts: lexical analysis, syntax analysis, semantic analysis and code generation in assembly. The language used was Java with the ANTRL to create my AST. For the assembly for the code generation, I used LLVM.

Additional Thoughts / Feelings / Stories

I have sweated and yelled for this project, but in the end, I’ve learned so much. Compilers and IDE have gone from magic upon clicking the Run button to my full understanding of how they work behind the scenes.

Top comments (0)