scispace - formally typeset
Search or ask a question

Showing papers on "Redundant code published in 1979"


Proceedings ArticleDOI
01 Aug 1979
TL;DR: This paper presents some code generation issues in the context of the PQCC Production-Quality Compiler-Compiler project, where a parse-tree-like internal program representation is used, facilitating the use of context and data dependency information about expressions.
Abstract: This paper presents some code generation issues in the context of the PQCC Production-Quality Compiler-Compiler project [8]. The approach taken is unusual in several ways. The machine-dependent information for selection of code sequences, register assignments, etc., has been separated throughout, in tabular form, from the machine-independent algorithms. This not only greatly simplifies the development of code generators for new machines or languages, but paves the way for automatic generation of these tables from formal machine descriptions such as ISP [1]. A parse-tree-like internal program representation is used, facilitating the use of context and data dependency information about expressions. The code generation process has been broken into several phases. This leads to simplification and better understanding of the code generation process, and also allows important improvements in the quality of generated code. The algorithms for preliminary determination of addressing modes, allocation of registers and other locations, and the code selection case analysis are discussed. The algorithms described in the paper are being implemented and used in the PQCC compiler.

31 citations


Patent
12 Oct 1979
TL;DR: In this paper, an improved error code for encoding and decoding data in a video disc system was proposed, which simplifies both the control logic and decoding logic in the video disc player decoder.
Abstract: An improved error code used for encoding and decoding data in a video disc system of the type wherein the data format comprises a start code followed by an error code and information bits. The error code is chosen so that the error code check register in the video disc player begins with the start code in the register, and, if no errors are detected after the full message is received, also ends with the start code in the register. This unique code simplifies both the control logic and the decoding logic in the video disc player decoder.

22 citations


Proceedings ArticleDOI
01 Aug 1979
TL;DR: A non-procedural, problem-oriented language for expressing a code generator based on the description of the target machine as a finite-state automaton is described.
Abstract: Code generation has withstood attempts at automation for some time. This paper describes a non-procedural, problem-oriented language for expressing a code generator. The basis for the language is the description of the target machine as a finite-state automaton. An example code generator for a subset of HAL/S to Intel 8080 machine language is given.

12 citations


Proceedings ArticleDOI
01 Aug 1979
TL;DR: This paper describes an intermediate language to be generated by a syntax analyzer and processed by a code generator, designed to exclude source and target dependencies and used to implement a general purpose code optimization module.
Abstract: This paper describes an intermediate language to be generated by a syntax analyzer and processed by a code generator. An (essentially) optional code optimization phase may be used before code generation. The language is designed to exclude source and target dependencies (these are specified in a set of auxiliary tables) and has been used to implement a general purpose code optimization module. This module has been incorporated into compilers for several source languages and has resulted in production-quality target code.The paper focuses on the features of the language and reviews the optimizations for which it has been designed. A major benefit of this approach has been to isolate many of the characteristics which lead to code optimization opportunities. Of particular note are numerous facts which can be gathered in a target-independent manner, even though their utilization will depend on the details of the target machine.

11 citations


Journal ArticleDOI
TL;DR: The application of this unique approach to fault tolerant programming, which places the machine code generator remote from the lexical and semantic portions of the compiler, will be examined in this paper.
Abstract: Previous work has shown that quality software can be produced by deferring the machine code generation portion of a compiler until a program has been tested and known to be production worthy. In this approach an interpreter is used to facilitate testing and the creation of fault tolerant programs. A machine code generator, then applied to tested programs, preserves fault tolerance and provides efficiency.The application of this unique approach to fault tolerant programming, which places the machine code generator remote from the lexical and semantic portions of the compiler, will be examined in this paper. Covered will be 1) the generation of code which preserves fault tolerance: 2) the code optimization techniques employed to produce the necessary efficiency; and 3) the results of implementing this approach into a production environment.

1 citations