Description
As humans, we use language as a tool to reason about the world around us. In 1854, George Boole determined that all linguistic logical operations can be fully conveyed as mathematical expressions, but with one catch: only in the domain of 1 and 0. This insight paved the way for electronic computers, and is why programming languages consist of precise logical expressions. This poster presents a handwritten compiler - a computer program that converts higher-level languages into machine code - built as a graduate development project in the C programming language. The compiler translates a small strictly-typed imperative language into assembly, and is designed to make accessible to non-specialists our computers’ everyday translation of logic into number.