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 abstr

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 somewh