In the previous installment I gave some context about the existence of Mercurium as a tool. In this chapter we will start digging into the parsing technology used.
As part of the work I did in my previous employer, we had to develop a C++ front end. This is never an easy task so I will use this series to share some experiences while developing it.
AArch64 is a new 64 bit mode that is part of the ARMv8 architecture presented in 2011 by ARM. It has been progressively been deployed in smartphones and servers. So I think it is a good moment to learn a bit more about the assembler of this architecture.
Our tiny language features a few types:
stringand arrays of those types. We can even declare new type names based on other types but it still missing a record type. Today we will address this.
Today we will add a relatively simple feature that will be very useful for a future extension: type declarations.