We present a methodology for compiler synthesis based on Mosses-Watt's
action semantics. Each action in action semantics notation is assigne
d specific ''analysis functions'', such as a typing function and a bin
ding-time function. When a language is given an action semantics, the
typing and binding-time functions for the individual actions compose i
nto typing and binding-time analyses for the language; these are imple
mented as the type checker and static semantics processor, respectivel
y, in the synthesized compiler. Other analyses can be similarly formal
ized and implemented. We show a sample language semantics and its synt
hesized compiler, and we describe the compiler synthesizer that we hav
e developed.