PRODUCTION SYSlEMS: A FORMALISM FOR SPECIFYING THE SYNTAX AND TRANSLATION OF COMPUTER LANGUAGES
Henry F. Ledgard
Abstract
This paper investigates the application of a formalism called production systems to specify the syntax of a computer language and its translation into a target language. Several properties appear well-suited to this task:
(a) The formalism can be used to specify exactly the syntax of a computer language, including context-sensitive requirements.
(b) The same formalism can be used to specify the translation of a language into another.
(c) The specification of the context-free portions of syntax, the context-sensitive portions of syntax, and the translation can to a large extent be isolated.
(d) The formalism can be used to specify the "abstract" syntax of a language and its translation into "abstract" entities of a target language.
The following example applications of production systems are given:
(a) A specification of the syntax of a limited subset of ALGOL 60 and its translation into IBM System 360 assembler language.
(b) A specification of the abstract syntax of a small functional language and its translation into expressions in Church's λ-calculus.