Design Patterns / Week 11

Patterns for compilers designPatterns for compilers design

A compiler, even for simple languages, is a complex system. With lots of objects, roles and distributed responsibilities, from parsing the input file and lexical analysis to bytecode generation. On the other side, clients need simple interfaces to be able to use the compiler, thus one might want to consider Facade pattern that hides the internal details from external clients.

A central part of the compiler is processing the Abstract Syntax Tree (AST), constructed by syntactic analyzer component, based on the grammar of the language. Interpreter pattern is a way to represent the grammar, the AST built on top of it and the process of evaluation of the tree.

Click here for details.

This entry was posted in Design Patterns and tagged , , . Bookmark the permalink.