Correctness of Translations of Programming Languages -- An Algebraic Approach

Abstract

Programming languages and their sets of meanings can be modelled by general operator algebras; seismic functions and compiling functions by homomorphisms of operator algebras. A restricted class of individual programs, machines, and computations can be modelled in a uniform manner by binary relational algebras. These two applications of algebra to computing are compatible: the semantic function provided by interpreting (running) one binary rational algebra on another is a homomorphism on an operator algebra whose elements are binary relational algebras. Under these mathematical tools, proofs can be provided systematically of the correctness of compilers for fragmentary programming languages, each embodying a single language 'feature'. Exemplary proofs are given for statement sequences, arithmetic expressions, Boolean expressions, assignment statements, and statements. Moreover, proofs of this sort can be combined to provide (synthetic) proofs for, in principle, many different complete programming languages. One example of such a synthesis is given.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Aug 01, 1972
Accession Number
ADA954771

Entities

People

  • F. L. Morris

Organizations

  • Stanford University

Tags

Communities of Interest

  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Algorithms
  • Applied Mathematics
  • Arithmetic Units
  • Artificial Intelligence
  • Automata
  • Automata Theory
  • Computations
  • Computer Programming
  • Computer Science
  • Computers
  • Computing Devices
  • Construction
  • Decoding
  • Digital Computers
  • Language
  • Notation
  • Programming Languages

Fields of Study

  • Computer science
  • Mathematics

Readers

  • Computational Linguistics
  • Mathematical Modeling and Probability Theory.