a semantic prototyping system
We have written a set of computer programs for testing and exercising programming language specifications given in the style of denotational semantics. The system is built largely in Scheme 84, a dialect of LISP that serves as an efficient lambda-calculus interpreter. The system consists of: a syntax-directed transducer, which embodies the principle of compositionality, a type checker, which is extremely useful in debugging semantic definitions, and an interface to the yacc parser-generator, which allows the system to use concrete syntax rather than the often cumbersome abstract syntax for its programs.In this paper, we discuss the design of the system, its implementation, and discuss its use.
semantic prototype systems computation program test programming language denotational semantics scheme lisp efficiency interpretation use debugging definition interfaces abstraction paper design implementation generation parser direct lambda calculus compositing