Creating a Compiler for the Semi-Structured Language of Blazons Michael Mulder University of Twente P.O. Box 217, 7500AE Enschede The Netherlands
[email protected] ABSTRACT 1. How can we model the domain of blazonry as a A blazon is a textual, semi-structured description of the domain-specific language, using software language visual representation of a coat of arms. There is no formal engineering methods? tool to create such a visual representation given a blazon, 2. What are the rules of blazonry that could be seen as yet there is a lot of demand for these drawings. In this typing rules or its static semantics? project we research all steps needed to create a compiler that can turn blazons into their visual representation. Our 3. How can we construct a semi-structured, error- focus during this research was creating a flexible and eas- correcting parser of the blazon language? ily extendable compiler that can understand the different ways a blazon can be expressed. (a) How can we maximize the usefulness and infor- mativeness of the parser's error messages? (b) How can we maximize the set of accepted in- Keywords puts? Blazonry, Semi-parsing, Semi-structured languages, Com- 4. How can we create a code generator that can draw piler Construction, Domain Specific Languages Scalable Vector Graphics [3] coats of arms given a parsed blazon? 1. INTRODUCTION A blazon is a formal semi-structured textual description We will start this paper be explaining the methods we of a coat of arms, flag or similar emblem, from which the used to get our results in section 2.