In this post we’ll briefly talk about a new language agnostic parser generator, called Syntax. It allows generating fast parsers for different languages, as well as to analyze parsing process, building parsing tables, sets, etc.
MIPS architecture is used in many embedded systems today, including gaming consoles, routers, and other devices. It is a RISC architecture, which makes decoding of the instructions easier, and the number of basic instructions is not that big (in contrast with CISC architecture, used e.g. in x86). This makes MIPS a good learning architecture, and that’s why it’s often used in universities in compiler class for code generation. And as a part of course for implementing a virtual machine for a subset of MIPS instructions, I have built the parser for its assembly. Continue reading
Sometimes more code in a source language, can mean less code in a generated language.
I’ve been playing with generated (native) code in order to test how compilers (specific or in general) translate
a = a + 1 and
a++, and found some other interesting optimizations. Continue reading
In this article we briefly describe the generic topic of pattern matching in programming languages. We’ll see that this powerful technique is present in our every day programming, even if we may not notice it. Continue reading