Algol-like Languages

Algol-like Languages PDF

Author: Peter O'Hearn

Publisher: Springer Science & Business Media

Published: 2013-03-14

Total Pages: 345

ISBN-13: 147573851X

DOWNLOAD EBOOK →

To construct a compiler for a modern higher-level programming languagel one needs to structure the translation to a machine-like intermediate language in a way that reflects the semantics of the language. little is said about such struc turing in compiler texts that are intended to cover a wide variety of program ming languages. More is said in the Iiterature on semantics-directed compiler construction [1] but here too the viewpoint is very general (though limited to 1 languages with a finite number of syntactic types). On the other handl there is a considerable body of work using the continuation-passing transformation to structure compilers for the specific case of call-by-value languages such as SCHEME and ML [21 3]. ln this paperl we will describe a method of structuring the translation of ALGOL-like languages that is based on the functor-category semantics devel oped by Reynolds [4] and Oles [51 6]. An alternative approach using category theory to structure compilers is the early work of F. L. Morris [7]1 which anticipates our treatment of boolean expressionsl but does not deal with procedures. 2 Types and Syntax An ALGOL-like language is a typed lambda calculus with an unusual repertoire of primitive types. Throughout most of this paper we assume that the primi tive types are comm(and) int(eger)exp(ression) int(eger)acc(eptor) int(eger)var(iable) I and that the set 8 of types is the least set containing these primitive types and closed under the binary operation -.

History of Programming Languages

History of Programming Languages PDF

Author: Richard L. Wexelblat

Publisher: Academic Press

Published: 2014-05-27

Total Pages: 784

ISBN-13: 1483266168

DOWNLOAD EBOOK →

History of Programming Languages presents information pertinent to the technical aspects of the language design and creation. This book provides an understanding of the processes of language design as related to the environment in which languages are developed and the knowledge base available to the originators. Organized into 14 sections encompassing 77 chapters, this book begins with an overview of the programming techniques to use to help the system produce efficient programs. This text then discusses how to use parentheses to help the system identify identical subexpressions within an expression and thereby eliminate their duplicate calculation. Other chapters consider FORTRAN programming techniques needed to produce optimum object programs. This book discusses as well the developments leading to ALGOL 60. The final chapter presents the biography of Adin D. Falkoff. This book is a valuable resource for graduate students, practitioners, historians, statisticians, mathematicians, programmers, as well as computer scientists and specialists.

Algol-like Languages

Algol-like Languages PDF

Author: Peter O'Hearn

Publisher:

Published: 1996

Total Pages: 349

ISBN-13:

DOWNLOAD EBOOK →

To construct a compiler for a modern higher-level programming languagel one needs to structure the translation to a machine-like intermediate language in a way that reflects the semantics of the language. little is said about such struc turing in compiler texts that are intended to cover a wide variety of program ming languages. More is said in the Iiterature on semantics-directed compiler construction [1] but here too the viewpoint is very general (though limited to 1 languages with a finite number of syntactic types). On the other handl there is a considerable body of work using the continuation-passing transformation to structure compilers for the specific case of call-by-value languages such as SCHEME and ML [21 3]. ln this paperl we will describe a method of structuring the translation of ALGOL-like languages that is based on the functor-category semantics devel oped by Reynolds [4] and Oles [51 6]. An alternative approach using category theory to structure compilers is the early work of F. L. Morris [7]1 which anticipates our treatment of boolean expressionsl but does not deal with procedures. 2 Types and Syntax An ALGOL-like language is a typed lambda calculus with an unusual repertoire of primitive types. Throughout most of this paper we assume that the primi tive types are comm(and) int(eger)exp(ression) int(eger)acc(eptor) int(eger)var(iable) I and that the set 8 of types is the least set containing these primitive types and closed under the binary operation -.

Algol-like Languages

Algol-like Languages PDF

Author: Peter O'Hearn

Publisher: Springer Science & Business Media

Published: 2013-03-12

Total Pages: 285

ISBN-13: 1461241189

DOWNLOAD EBOOK →

In recent years there has been a remarkable convergence of interest in programming languages based on ALGOL 60. Researchers interested in the theory of procedural and object-oriented languages discovered that ALGOL 60 shows how to add procedures and object classes to simple imperative languages in a general and clean way. And, on the other hand, researchers interested in purely functional languages discovered that ALGOL 60 shows how to add imperative mechanisms to functional languages in a way that does not compromise their desirable properties. Unfortunately, many of the key works in this field have been rather hard to obtain. The primary purpose of this collection is to make the most significant material on ALGoL-like languages conveniently available to graduate students and researchers. Contents Introduction to Volume 1 1 Part I Historical Background 1 Part n Basic Principles 3 Part III Language Design 5 Introduction to Volume 2 6 Part IV Functor-Category Semantics 7 Part V Specification Logic 7 Part VI Procedures and Local Variables 8 Part vn Interference, Irreversibility and Concurrency 9 Acknowledgements 11 Bibliography 11 Introduction to Volume 1 This volume contains historical and foundational material, and works on lan guage design. All of the material should be accessible to beginning graduate students in programming languages and theoretical Computer Science.

Engineering a Compiler

Engineering a Compiler PDF

Author: Keith Cooper

Publisher: Elsevier

Published: 2011-01-18

Total Pages: 824

ISBN-13: 9780080916613

DOWNLOAD EBOOK →

This entirely revised second edition of Engineering a Compiler is full of technical updates and new material covering the latest developments in compiler technology. In this comprehensive text you will learn important techniques for constructing a modern compiler. Leading educators and researchers Keith Cooper and Linda Torczon combine basic principles with pragmatic insights from their experience building state-of-the-art compilers. They will help you fully understand important techniques such as compilation of imperative and object-oriented languages, construction of static single assignment forms, instruction scheduling, and graph-coloring register allocation. In-depth treatment of algorithms and techniques used in the front end of a modern compiler Focus on code optimization and code generation, the primary areas of recent research and development Improvements in presentation including conceptual overviews for each chapter, summaries and review questions for sections, and prominent placement of definitions for new terms Examples drawn from several different programming languages

Programming Language Structures

Programming Language Structures PDF

Author: Elliott I. Organick

Publisher: Academic Press

Published: 2014-05-10

Total Pages: 679

ISBN-13: 1483264874

DOWNLOAD EBOOK →

Programming Language Structures deals with the structures of programming languages and introduces the reader to five important programming languages: Algol, Fortran, Lisp, Snobol, and Pascal. The fundamental similarities and differences among these languages are discussed. A unifying framework is constructed that can be used to study the structure of other languages, such as Cobol, PL/I, and APL. Several of the tools and methodologies needed to construct large programs are also considered. Comprised of 10 chapters, this book begins with a summary of the relevant concepts and principles about algorithms, flowcharts, and computation that a student is expected to know from the first course. The discussion then turns to the semantics of procedure and function call as well as argument-parameter matching with various kinds of parameters; recursion and its relation to tree traversal; syntax formalism for context-free languages; and ALGOL 60 and block structuring. Case study programs are presented to reinforce the reader's understanding of ALGOL 60 and Fortran semantics. The remaining chapters deal with Lisp, Snobol, and Pascal. This monograph is intended for working programmers and students in computer science who have an interest in the subject of programming.