A General Purpose Macro Processor as a Poor Man's Compiler-Compiler

Research output: Contribution to JournalArticleAcademicpeer-review


A method for quickly producing compilers for high level languages is described. The technique consists of feeding a description of the language to be translated to a general-purpose macro processor. Used in this way, the macro processor functions as a compiler-compiler, providing automatic parsing, lexical scanning, symbol table operations, and handling of syntactic errors. A complete syntactic and semantic description of a WHILE statement (except for Boolean expression processing) is given in only seven lines, as an example. A system programming language implemented by this method is discussed in order to illustrate the main ideas. The compiler produced for this language is compared to other compilers produced by conventional methods. Copyright © 1976 by The Institute of Electrical and Electronics Engineers, Inc.
Original languageEnglish
Pages (from-to)121-125
Number of pages5
JournalIEEE Transactions on Software Engineering
Issue number2
Publication statusPublished - 1976


  • Compiler
  • compiler-compiler
  • implementation methodology
  • macro processor
  • systems programming language


Dive into the research topics of 'A General Purpose Macro Processor as a Poor Man's Compiler-Compiler'. Together they form a unique fingerprint.

Cite this