Architectural Design Patterns for Language Parsers

Acta Polytechnica Hungarica · 2014

Processing the textual scripts of computer languages is an important field in software development, which has been growing in popularity, recently.It is applied both for general-purpose programming languages and for domain-specific languages.There is a wide range of typical algorithms and patterns that are used to syntactically parse formal languages, each having specific characteristics and implying different software architectures.If we develop parsers at a higher abstraction level, it simplifies the problem domain and facilitates developing more robust software quicker, but there are always some tradeoffs to consider.The main guideline of this paper is abstraction: how to increase it in different patterns, how it helps parser development and what kind of tradeoffs are implied.The presented architectural design patterns are organized in a pattern catalog ordered by their abstraction level.This catalog is intended to assist developers in the industry in designing efficient parser software.

Read the paper · More papers on PaperTik