In 1973 Vaughn Pratt published a paper about a method of top down expression parsing he devised while implementing the CGOL programming language, ultimately to little fan fare. And so quietly it sat, forgotten on the shelf while the academic world did

When it comes to parsing expressions many, many books will cover addition, subtraction, and multiplication, often times leaving the implementation of division, exponents and square root "as an exercise for the reader". This is done to keep tex

In the late 1960s and continuing through the 1970s there was a flurry of research activity into the theory of compilation in which many of the algorithms, patterns, and techniques used to implement compilers and interpreters that we use today were deve

In the process of turning text into executable programs two of the early transformations that take place are converting said text into a stream of tokens - commonly called "lexing", and transforming this token stream into abstract syntax tree (AST). Th

S-Expressions are an interesting notation for representing expressions. Taking the form of nested lists prefixed with an operator, they are most recognizable as the syntax of the various Lisp programming languages. Their somewhat alien appearance, and