Use of transition matrices in compiling

  title={Use of transition matrices in compiling},
  author={David Gries},
  journal={Commun. ACM},
  • D. Gries
  • Published 1 March 1967
  • Computer Science
  • Commun. ACM
The construction of efficient parsing algorithms for programming languages has been the subject of many papers in the last few years. Techniques for efficient parsing and algorithms which generate the parser from a grammar or phrase structure system have been derived. Some of the well-known methods are the precedence techniques of Floyd, and Wirth and Weber, and the production langauge of Feldman. Perhaps the first such discussion was by Samelson and Bauer. There the concept of the push-down… 

Figures and Tables from this paper

The use of transition matrices in a recursive-descent compiler
This paper discusses the use of transition matrices in the recursive-descent compiler for the structured assembly language PL/85, showing that their use made the compiler easy to implement and maintain, considerably reduced the space requirements for the parser, and resulted in a reliable, efficient and flexible compiler with good error handling capabilities.
The Use of Symbol-State Tables
This paper describes how a certain kind of table may be used to check the syntax of a string of symbols, by means of the subroutine principle, making possible the checking of recursive structures.
A bibliography on syntax error handling in context free languages
This bibliography grew out of a graduate seminar course conducted jointly with Fred Ires and with the part icipation of Laura Babbitt , John Morgan and Henry Worth, in the Winter of 1989.
An efficient insertion-only error-corrector for LL(1) parsers
An LL(1)-based error-corrector which operates by "insertion-only" is studied and preliminary results suggest that this method can be used to advantage in LL( 1)-driven compilers.
Efficient LL(1) error correction and recovery using only insertions
An LL(1)-based error-corrector which operates by insertion-only is studied and preliminary results suggest that this method can be used to advantage in LL( 1)-driven compilers.
Compiler Error Messages Considered Unhelpful: The Landscape of Text-Based Programming Error Message Research
A comprehensive, historical and state-of-the-art report on research in the area, synthesise and present the existing evidence for these messages including the difficulties they present and their effectiveness, and makes the bibtex file of the 300+ reference corpus publicly available.
Historical Remarks on Compiler Construction
The overwhelming lead of the USA in the general development of computers and their application, together with the language barrier, has in fact favoured negligence of early developments in Middle Europe and in the Soviet Union.
Practical syntactic error recovery in compilers
A recovery scheme for syntax errors is described which provides high quality recovery with good diagnostic information at relatively low cost and can be automated - that is, the recovery routine can be created by a parser-generator.
Syntax driven COBOL compilers—an assessment
The structure of a syntax driven COBOL compiler and a practical implementation is described and some other potential applications of syntax driven technology are suggested.
A programming system for the simulation of cellular spaces
This work develops the notions of cellular spaces (regular geometry, neighborhood template, transition function) and formulates the requirements for building a simulation system suitable for a wide range of cellular models.


A syntax controlled generator of formal language processors
An important general principle in processing formal languages was the cellar principle, introduced in 1957 by F. L. Bauer and K. Samelson, which proved to be applicable in translating programs from the algorithmic language ALGOL into machine code or into a computer-oriented, macro instruction language.
Revised report on the algorithm language ALGOL 60
a survey of the basic coustituents arid fcuturcs of the language is given, and the formal notation, by which the syntactic structure is defined, is esplaincd. The sccnnd chapter lists all the basic
Report on the algorithmic language ALGOL 60
It was decided to hold an international meeting in January 1960 for improving the ALGOL language and preparing a final report, and seven representatives were selected to attend the January 1960 international conference.
Bounded context syntactic analysis
Bounded context grammars form models for most languages used in computer programming, and many methods of syntactic analysis, including analysis by operator precedence, are special cases of bounded context analysis.
A formal semantics for computer languages and its application in a compiler-compiler
An informal discussion of the metalanguage based on the example of a complete translator for a small language is presented and a semantic metalanguage has been developed for representing the meanings of statements in a large class of computer languages.
EULER: a generalization of ALGOL and it formal definition: Part 1
In this section the algorithmic language EULER is described first informally and then formally by its syntax and semantics, creating a language which is simpler and yet more flexible than ALGOL 60.
Design of a separable transition-diagram compiler
A COBOL compiler design is presented which is compact enough to permit rapid, one-pass compilation of a large subset of COBOL on a moderately large computer. Versions of the same compiler for smaller
Translator writing systems
A critical review of recent efforts to automate the writing of translators of programming languages is presented and various approaches to automating the postsyntactic aspects of translator writing are discussed.
Some techniques used in the ALCOR ILLINOIS 7090
An ALGOL compiler has been written by the ALCOR group for the IBM 7090. Some little known but significant techniques in compiler writing, together with organizational details of this compiler, are
Syntactic Analysis and Operator Precedence
Three increasingly restricted types of formal grammar are phrase structure Grammars, operator grammars and precedence grammar, which form models of mathematical and algorithmic languages which may be analyzed mechanically by a simple procedure based on a matrix representation of a relation between character pairs.