Title :
Design Patterns for Teaching Type Checking in a Compiler Construction Course
Author :
Ortin, Francisco ; Zapico, Daniel ; Cueva, Juan Manuel
Author_Institution :
Univ. of Oviedo, Oviedo
Abstract :
A course in compiler construction seeks to develop an understanding of well-defined fundamental theory and typically involves the production of a language processor. In a graduate degree in software engineering, the development of a compiler contributes significantly to the developer´s comprehension of the practical application of theoretical concepts. Different formal notations are commonly used to define type systems, and some of them are used to teach the semantic analysis phase of language processing. In the traditional approach, attribute grammars are probably the most widely used ones. This paper shows how object-oriented design patterns represented in unified modeling language (UML) can be used to both teach type systems and develop the semantic analysis phase of a compiler. The main benefit of this approach is two-fold: better comprehension of theoretical concepts because of the use of notations known by the students (UML diagrams), and improvement of software engineering skills for the development of a complete language processor.
Keywords :
Unified Modeling Language; computer science education; program compilers; software engineering; Unified Modeling Language; compiler construction course; language processor; semantic analysis; software engineering; teaching type checking; Application software; Computer languages; Computer science; Education; Object oriented programming; Pattern analysis; Production; Program processors; Software engineering; Unified modeling language; Compiler construction; design pattern; semantic analysis; software engineering; type checker; type system;
Journal_Title :
Education, IEEE Transactions on
DOI :
10.1109/TE.2007.901983