Abstract Syntax Trees are the data structure which bridges the cap between the front and back ends of many (most?) compilers. Because of this, its design influcences the implementation of many other areas of the compiler. Of the many design decisions w
The visitor pattern is a behavioral design pattern first popularized in the "Gang of Four" book. It is used to separate operations on types from the types themselves. When using the composite pattern to build an AST from a class heiracrchy, as one woul
Well, it looks like I'm back at it, implementing iterators for all the things and up this time: In-memory B Trees. Now, It's no secret that that an iterator for an ordered container is simply an In-order traversal performed step-wise over said
Of the 23 design patterns outlined in the GoF book, one I find myself reaching for time and time again is the façade pattern. In fact, I was making use of this design pattern before I even knew that the technique employed was called the
When implementing any type of programming language, be it a enterprise scale systems language like Java, a small Domain Specific Language and practically anything in between there is a myriad of design decisions to be made that will influence the overa