A modular approach to language engineering using XML and inexpensive robots

  • Authors:
  • Li Xu

  • Affiliations:
  • University of Massachusetts Lowell, Lowell, MA

  • Venue:
  • Journal of Computing Sciences in Colleges
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Language engineering --- the theory and practice of compiler and language processor design, has long been recognized as a core subject in Computer Science curricula. However, due to the scope and depth of the included topics, the limited time constraint, and the lack of suitable target system, educators often find it difficult to engage students and teach language engineering courses effectively. This paper presents a new modular approach to language engineering using XML and inexpensive robots. We teach language engineering in the context of the popular, inexpensive Scribbler robot, and use XML to externalize the compiler intermediate representation. The inexpensive robot device provides an affordable, yet realistic system platform to explore a broad set of compiler topics; the XML-based intermediate representation divides the compiler components into self-contained, independent modules; combined together, these two techniques give instructors a highly flexible and powerful framework to design course materials and teach language engineering subjects. We have designed the Chirp-Scribbler language to program the Scribbler robots. The Chirp-Scribbler compiler consists of lexer, parser, semantic verifier, code generator, and uses XML as shared intermediate representation. Each of the components can be built as a separate module and integrated to create the complete compiler. We describe the design of Chirp-Scribbler language, the XML-based module structure of Chirp-Scribbler compiler, integration with robots and supporting tools, and our teaching practice of using them to teach language translation basics in an undergraduate programming course.