Inspiration
We have a strong interest in programming language design, compiler design, and compiler optimizations. We wanted to create a programming language that can challenge modern languages like C/C++, Rust, Zig, Go.
What it does
Takes as input a string in the language which then gets parsed only to then to errors out right before the beginning of code gen not by design btw.
How we built it
Flex + Bison + LLVM
Challenges we ran into
The main challenge was getting the front end of the compiler to work with the back end of the compiler. The two parts work independently of each other but its hard to showcase the project when thats the case. As both parts need to be connected.
Accomplishments that we're proud of
We all got more familiar with Flex, Bison, LLVM. All of these tools are huge projects with a lot of complex parts that can be non intuitive.
What we learned
How to use Flex + Bison + LLVM.
What's next for The Armadillo Programming Language
Removing flex, removing bison, and writing our own lexer and parser with Ocml. Then passing that to a back end like LLVM.
References
Although we did not finish we would have not gotten as far as we did without the following references. Thank you for the authors mentioned below. Finally although not explicit mentioned Dr.Dalio the professor for CSE-4305 (Compilers class) assignments also served as a good reference.
https://llvm.org/doxygen/index.html
https://llvm.org/docs/tutorial/
https://github.com/lsegal/my_toy_compiler/tree/master
https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl03.html#chapter-3-introduction
Built With
- bison
- flex
- llvm


Log in or sign up for Devpost to join the conversation.