Interpretive Parsing Techniques for Building Object Networks
Somogyi, Nora Eva
Model based programming is becoming increasingly popular and important because it can be used by not only programmers but also people who have specific domain knowledge but little programming knowledge. Many people encounter the problem that the old domain specific data elements are stored in some kind of text format, and modeling tools do not provide interfaces to import these data. In fact, there is a need to be able to import the existing data into the modeling tool in an easy and comprehensive way to avoid loss of data or cumbersome manual transformation of data from one application to the other. Many model-based tools are offered on the market, both academic and business, that can be used to build and manipulate large object network models. Unfortunately, these tools usually do not provide reusable mechanisms that can convert text to data structures; however, they usually do provide processes to extract and format text from the object networks. Some tools creating and manipulating such network models are developed at the ISIS (Institute for Software Integrated Systems), such as GME (Generic Modeling Environment), UDM (Universal Data Model), and GReaT (Graph Re-writing and Transformation Engine). There is a need for converting text into data structures in a convenient way. In this thesis, interpretive parsing techniques are introduced that provide a convenient way to parse a text file and interpret the object construction actions defined in a corresponding grammar to generate data structures from the text file. A grammar editor tool and a simple interpretive parser that processes the text file and the constructed grammar is the right choice for solving the problem. This thesis consists of two parts: the first part focuses on modeling grammars, and the second part focuses on parsing. Two toolsets, GME and UDM are used to accomplish the task of generating object networks from text files: GME is used to describe an environment to model grammars, and UDM is used to parse text files and create object networks. The developed grammar modeling tool offers the construction of context-free grammars and allows the user to conveniently assign object construction actions to the structure of the grammar. The developed interpretive parser tool works as a recursive-descent predictive LL(k) parser, offers early detection mechanisms to indicate errors in the grammar, and interprets the object construction actions included in its grammar description to build up an object network.