A General-Purpose Macro Processor as a Poor Man's Compiler-Compiler
- 1 June 1976
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. SE-2 (2) , 121-125
- https://doi.org/10.1109/tse.1976.233539
Abstract
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.Keywords
This publication has 8 references indexed in Scilit:
- Levels of language for portable softwareCommunications of the ACM, 1972
- BLISSCommunications of the ACM, 1971
- The mobile programming systemCommunications of the ACM, 1970
- Using a macro processor to aid software implementationThe Computer Journal, 1969
- The ML/I macro processorCommunications of the ACM, 1967
- Assigning meanings to programsPublished by American Mathematical Society (AMS) ,1967
- TRAC, a procedure-describing language for the reactive typewriterCommunications of the ACM, 1966
- A general purpose macrogeneratorThe Computer Journal, 1965