DAIMI PH-222, February 1987.
Muir is a syntax-directed editing environment whose primary purpose it is to support the development of artificial languages. The focus of this thesis is twofold. First, it is demonstrated how simple, pattern-based transformations can be used to improve the functionality of the environment. Second, and somehow orthogonal to this, it is shown how abstract and systematically produced screen presentations can improve user interface of the environment.
For the syntactic description of artificial languages, a new formalism for definition of context free syntax has been developed. The formalism is a variant of the grammar definition formalisms based on operators and phyla. To model the specialization/generalization hierarchy of syntactic domains, the phyla are organized in a directed acyclic graph. The phylum hierarchies of multiple languages are connected into a single-rooted graph structure.
A simple tool that automatically solves the majority of a task seems to be an interesting alternative to a complicated and fully automatic tool. A semi-automatic facility that helps keep documents updated when the underlying grammar is modified has been designed and implemented in Muir. As part of a grammar modification the tool creates a transformation template, which typically must be refined manually. The resulting transformation can be used to update instances of newly modified grammatical constructs in the documents that depend on the grammar.
A semi-automatic tool has also been created to ease the conversion of documents from one formalism to documents in another formalism. A relation among the syntactic domains in the source language and the target language is the fundamental basis of this tool. Some manual work should be expected during the creation of the transformations, and during the application of the transformations on the source documents. However---depending on the conceptual difference between the languages---the majority of the work can be done automatically. The multi-formalism transformation facility has been tried out on a pair of programming languages. The transformation framework has finally been used for the implementation and interpretation of nearly all structure-oriented edit operations in the environment.
The effectiveness of the interactive manipulation of grammars, programs, and other documents in an environment like Muir depends critically on the way these documents are presented on the screen. In the same way as textual presentations can be generated systematically via grammar-related presentation rules it is demonstrated that more abstract presentations can be defined in similar ways. Two particular presentation formalisms are introduced, one for showing the overall compositional structure of a document, and one for showing selected, transverse relationships on graph form. The two presentation formalisms have both been implemented. Because the setting is a structure-oriented editing environment, it is also discussed how documents can be edited and otherwise manipulated through such abstract presentations.
People with a special interest in the topic can still get a paper copy from the author.