While implementing Owlscript I didnt want to crowd the grammar by having two different types of control flow which only differed by their syntax. This is the case in C-like languages were for loops serve more as syntactic sugaring of the while loop con
Since their introduction in 1978, Red/Black Trees have gone on to become the dominant ordered collection based container. Be it for symbol tables or sets, imperative or functional Red/Black Trees can be found everywhere. Unlike AVL tree's whic
Virtually every modern programming language capable of writing non-trivial programs is expected to support Lexical scoping by default. Some legacy programming languages, and even a few modern scripting languages still make use of dynamic scoping (Perl
For todays post I'm going to go in a bit of a different direction than I normally do. After watching a pretty interesting video (in my humble opinion, anyway) on Pascals Triangle, I found myself surfing through wikipedia (as one does) and ultimately ar
-
Keep Calm And Parse On: Error Handling for LR Parsers
-
From Finite Automata To A Lexical Analyzer
-
DFA Minimization: Moore's Algorithm
-
Parsing Regular Expressions with MGCPGen
-
Determinization: Converting εNFA to DFA
-
Implementing Lexical Scoping: Resolving Variable Names with De Bruijn Indices
-
Improving Balance of Ternary Search Tries
-
Making Sense of LALR Parser Construction
-
Compiling Set Comprehensions to Bytecode: an exercise in managing abstractions
-
Fast Multi-Pattern String Searching with the Aho-Corasick Algorithm