The Nile on eBay
  FREE SHIPPING UK WIDE
 

C2 Compiler Concepts

by Bernd Teufel, Stephanie Schmidt, Thomas Teufel

Different types of compilation systems are explained, a general compiler environment is shown, and the principle phases of a compiler are introduced in an informal way to sensitize the reader for the topic of compilers.

FORMAT
Paperback
LANGUAGE
English
CONDITION
Brand New


Publisher Description

This volume examines the translation of programmes written in a high level programming language into machine code. It deals with the major aspects of compilation systems (including many examples and exercises). Terminology for grammars and languages as well as basic analyzing techniques are introduced before starting with lexical analysis and the organization of symbol tables. The two major techniques of syntax analysis, top-down analysis and bottom-up analysis, are discussed in detail. Along with semantic and type analysis, intermediate codes, syntax-directed translation and type checking are introduced. The discussion of error handling is followed by detailed considerations of code generation and optimization. Finally, a few remarks on the impact of modern hardware developments are given. The book can be used both as a teachers' reference and a students' textbook.

Table of Contents

1 General Remarks on Compiler Theory.- 1.1 Types of Compilation Systems.- 1.2 Compiler Environments.- 1.3 Analysis and Synthesis.- 2 Formal Aspects.- 2.1 Backus-Naur Fonri (BNF).- 2.2 Formal Languages.- 2.3 Analyzing Techniques.- 2.4 Syntax Graphs.- 2.5 The Programming Language PL/0.- 3 Lexical Analysis and Symbol Tables.- 3.1 Finite Automata.- 3.2 The Scanner.- 3.3 Symbol Tables.- 3.4 Lexical Analysis of PUO.- 4 Syntax Analysis and Parser Construction.- 4.1 Top-down Analysis.- 4.2 Bottom-up Analysis.- 4.3 Recursive Descent Parser for PL/0.- 5 Semantic and Type Analysis.- 5.1 Intermediate Codes.- 5.2 Syntax-directed Translation.- 5.3 Type Checking.- 5.4 Intermediate Code Generation for PUO.- 6 How to Handle Errors.- 6.1 Error Classification.- 6.2 Effects of Errors.- 6.3 Error Handling in Lexical Analysis.- 6.4 En-or Handling in Syntax Analysis.- 6.5 Semantic Errors.- 6.6 PL/0 Error Recovery.- 7 Code Generation and Optimization.- 7.1 Storage Allocation.- 7.2 Parameter Passing.- 7.3 Variable Addressing.- 7.4 Code Generation.- 7.5 Code Optimization.- 8 Impacts of Modern Hardware Developments.- 8.1 Computer Architectures vs. Programming Languages.- 8.2 Instruction Sets and Microcode.- 8.3 RISC Architectures.- Exercises.- References.

Promotional

Springer Book Archives

Long Description

Writing a compiler is a very good practice for learning how complex problems could be solved using methods from software engineering. It is extremely important to program rather carefully and exactly, because we have to remember that a compiler is a program which has to handle an input that is usually incorrect. Therefore, the compiler itself must be error-free. Referring to Niklaus Wirth, we postulate that the grammatical structure of a language must be reflected in the structure of the compiler. Thus, the complexity of a language determines the complexity of the compiler (cf. Compilerbau. B. G. Teubner Verlag, Stuttgart, 1986). This book is about the translation of programs written in a high level programming language into machine code. It deals with all the major aspects of compilation systems (including a lot of examples and exercises), and was outlined for a one session course on compilers. The book can be used both as a teacher's reference and as a student's text book. In contrast to some other books on that topic, this text is rather concentrated to the point. However, it treats all aspects which are necessary to understand how compilation systems will work. Chapter One gives an introductory survey of compilers. Different types of compilation systems are explained, a general compiler environment is shown, and the principle phases of a compiler are introduced in an informal way to sensitize the reader for the topic of compilers.

Details

ISBN3211824316
Author Thomas Teufel
Language English
ISBN-10 3211824316
ISBN-13 9783211824313
Media Book
Format Paperback
Publisher Springer Verlag GmbH
Year 1993
Imprint Springer Verlag GmbH
Place of Publication Vienna
Country of Publication Austria
DEWEY 005.4
Short Title C2 COMPILER CONCEPTS 1993/E
Edition Description 1993
Publication Date 1993-01-08
Pages 176
Edition 1993rd
Illustrations 19 Illustrations, black and white; XI, 176 p. 19 illus.
DOI 10.1007/978-3-7091-9274-0
Audience Postgraduate, Research & Scholarly

TheNile_Item_ID:137784912;