AN APPROACH TO COMPUTER LANGUAGE DESIGN

Abstract

The problem of an extendable compiler is approached by attempting to simplify the methods of generating a compiler and by designing a basic language upon which to build. A context-free grammar is required as the initial input to a syntax preprocessor which produces syntactic analysis tables for the extendable compiler. A formal mathematical description of a class of analysis algorithms, two new syntax preprocessor algorithms, and theorems concerning the behavior of the algorithms and the nature of the acceptable grammars are given. The EULER development of Wirth and Weber (EULER: A generalization of Algol and its formal definition. Technical report, CS20) is carried to a more concise and powerful form. We advocate languages that are minimal and involuted. A minimal language combines into a single construct any two conceptually similar but notationally different constructs. An involuted language avoids constructs that are applicable only in local context. Control over the flow of execution within a program is obtained that is sufficiently complete so that the traditional label and go-to statement can be discarded as irrelevant. An extendable compiler is presented that is written in the kernel language itself. Conclusions are that the precedence grammar techniques are efficient and useful. Further improvement could make them substantially superior to other methods of compiler generation.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Aug 31, 1966
Accession Number
AD0639166

Entities

People

  • W. M. Mckeeman

Organizations

  • Stanford University

Tags

Communities of Interest

  • C4I

DTIC Thesaurus Topics

  • Algorithms
  • Compilers
  • Computer Languages
  • Computer Programming
  • Computer Science
  • Computers
  • Context Free Grammars
  • Grammars
  • Language
  • Linguistics
  • Machine Languages
  • Phrase Structure Grammars
  • Programming Languages
  • Recognition
  • Security
  • Syntax

Fields of Study

  • Computer science

Readers

  • Calculus or Mathematical Analysis
  • Computational Linguistics