Symbol tables are a fundamental part of compilers. Depending on the compiler and the semantics of the language being compiled different symbol tables may be used for different phases of compilation, or one symbol table may be used through the entire co
As Hanukkah approached and I gathered my holiday supplies, I ran through my list to make sure I had everything I needed. Latkes? Check. Chcoclate Gelt? Double check. Menorah? Check. Candles? Check.... I think? How many am i going to need? Now, I could
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
Initially designed in the 1970's as a "portable assembly" language to facilitate implementing Pascal compilers on the varying computer architectures of the day, P-Code is the progenator of all modern bytecode interpreters. The success of the UCSD Pasca
It can be posited that strings are the most important data type in computing. Without character strings, all we have is a calculator. It is strings which allow us to compose documents, read and send emails, program in anything higher level than binary,
-
Improving the Space Efficiency of Suffix Arrays
-
Augmenting B+ Trees For Order Statistics
-
Parsing Regular Expressions to Construct an AST Top-Down
-
Implementing Balanced Deletion for B+ Trees
-
Building an AST from a Regular Expression Bottom-up
-
The Aho, Sethi, Ullman Direct DFA Construction Part 2: Building the DFA from the Followpos Table
-
The Aho, Sethi, Ullman Direct DFA Construction, Part 1: Constructing the Followpos Table
-
Procedural Map Generation with Binary Space Partitioning
-
Exact Match String Searching: The Knuth-Morris-Pratt Algorithm
-
The visitor pattern: OOP takes on the Expression Problem