Master Thesis   

Weave: A Dynamic Multi-Language Parsing Framework


In order to describe phenomena and systems in the real world, the use of models is employed. These models provide an approximate description of something complex, and are generally developed by those knowledgeable on the domain of the subject, called domain experts.

For a domain expert without programming experience to create a model, a domain specific language needs to exist or be engineered for them to work with. Such a language may describe models visually through drawings, graphs and symbols, or by writing out a description in text. In both cases, a computer needs to be able to read the model and turn it into something it understands and can work with efficiently.

Complex systems with many aspects may not be describable with a single language, languages may need to be composed in their syntax and semantics in order to describe these systems, giving us hybrid languages.

In this thesis we look at specifying and implementing a way of parsing these hybrid languages when they are specified using a textual notation. As part of this thesis, a Python implementation is provided that handles the concepts discussed in this document.

Maintained by Mitchel Pyl.