The design of a language processor generator

Kai Koskimies, Otto Nurmi, Jukka Paakki, Seppo Sippu

Research output: Contribution to journalArticleScientificpeer-review


Language processor generators are systems that produce various language processors (including compilers) on the basis of a high-level specification. The design of language processor generators is discussed on the basis of experiments with a traditional compiler writing system (HLP78) employing pore LALR parsing and general attribute grammars. It is argued that these methods are too primitive from the practical point of view. The design of a new language processor generator, HLP84, is based on this view. This system is an attempt to provide high-level tools for a restricted class of applications (one-pass analysis). The syntactic facilities include regular expressions on the right-hand sides of productions, a disambiguating mechanism that is integrated with regular expressions, and a mechanism for using semantic information to aid parsing. The semantic facilities include automatic support for semantic error handling and for symbol tables. Early experiences with the new system show that in spite of the general overhead caused by the higher automation level, the system allows the generation of reasonably efficient processors.
Original languageEnglish
JournalSoftware: Practice & Experience
Issue number2
Pages (from-to)107–135
Number of pages29
Publication statusPublished - 1988
MoE publication typeA1 Journal article-refereed

Fields of Science

  • 113 Computer and information sciences
  • Language processor generator
  • Compiler writing systems
  • Attribute grammars
  • Compiler construction

Cite this