×

Compiler generation from relational semantics. (English) Zbl 0589.68007

Programming, Proc. Eur. Symp., Saarbrücken/FRG 1986, Lect. Notes Comput. Sci. 213, 1-29 (1986).
Summary: [For the entire collection see Zbl 0578.00005.]
We consider the problem of automatically deriving correct compilers from relational semantic specifications of programming languages. A relational semantics is an assignment of initial-state final-state relations (defined by means of proof rules) to programs. Compilers are generated in three steps. First, the language definition is transformed into a stack semantics in which the storage of semantic values is made explicit. Next, stack rules are assembled into a so called language scheme containing exactly one rule for each language construct. We consider languages for which non-deterministic branches may be replaced by deterministic ones. Finally, rules are expanded for the purpose of recursion detection, thus obtaining schemes which may be used for code generation in a syntax- directed compiler.

MSC:

68N01 General topics in the theory of software
68Q55 Semantics in the theory of computing

Citations:

Zbl 0578.00005