ACM Transactions on Programming Languages and Systems · 1986 · 33 citations · 11 references
ComputingComputer ScienceCompilersFormal MethodsProgramming LanguagesDeductive VerificationParsingProgramming Language ImplementationSpecification LanguagesSyntax ParsingSyntax-directed TranslationAssertionsCompiler DesignCorrectness CheckingCorrectness ProofsInvariantsLanguage Parsing
Aspect of the interaction between compiler theory and practice is addressed. Presented is a technique for the syntax-directed specification of compilers together with a method for proving the correctness of their parse-driven implementations. The subject matter is presented in an order-algebraic framework; while not strictly necessary, this approach imposes beneficial structure and modularity on the resulting specifications and implementation correctness proofs. Compilers are specified using an order-algebraic definition of attribute grammars. A practical class of compiler implementations is considered, consisting of those driven by LR( k ) or LL( k ) parsers which cause a sequence of translation routine activations to modify a suitably initialized collection of data structures (called a translation environment). The implementation correctness criterion consists of appropriately comparing, for each source program, the corresponding object program (contained in the final translation environment) produced by the compiler implementation to the object program dictated by the compiler specification. Provided that suitable intermediate assertions (called translation invariants ) are supplied, the program consisting of the (parse-induced) sequence of translation routine activations can be proven partially correct via standard inductive assertion methods.
11
An axiomatic basis for computer programming
C. A. R. Hoare · Communications of the ACM · 1969 · 3.9K citations · Full text
Semantics of context-free languages
Donald E. Knuth · Theory of Computing Systems · 1968 · 2K citations
Initial Algebra Semantics and Continuous Algebras
Joseph A. Goguen, J. W. Thatcher, Eric G. Wagner et al. · Journal of the ACM · 1977 · 803 citations · Full text
Computing, Computer Science, Algebra +12