Author: Peter O'Hearn
Publisher: Springer Science & Business Media
ISBN: 147573851X
Category : Computers
Languages : en
Pages : 345
Book Description
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
History of Programming Languages
Author: Richard L. Wexelblat
Publisher: Academic Press
ISBN: 1483266168
Category : Reference
Languages : en
Pages : 784
Book Description
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.
Publisher: Academic Press
ISBN: 1483266168
Category : Reference
Languages : en
Pages : 784
Book Description
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.
Engineering a Compiler
Author: Keith D. Cooper
Publisher: Elsevier
ISBN: 0080916619
Category : Computers
Languages : en
Pages : 825
Book Description
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
Publisher: Elsevier
ISBN: 0080916619
Category : Computers
Languages : en
Pages : 825
Book Description
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
The Structure of Typed Programming Languages
Author: David A. Schmidt
Publisher: MIT Press
ISBN: 9780262193498
Category : Computers
Languages : en
Pages : 392
Book Description
The text is unique in its tutorial presentation of higher-order lambda calculus and intuitionistic type theory.
Publisher: MIT Press
ISBN: 9780262193498
Category : Computers
Languages : en
Pages : 392
Book Description
The text is unique in its tutorial presentation of higher-order lambda calculus and intuitionistic type theory.
A Guide to ALGOL Programming
Author: Daniel D. McCracken
Publisher:
ISBN:
Category : Computers
Languages : en
Pages : 124
Book Description
A book covering ALGOL 60. An early general-audience manual on the language.
Publisher:
ISBN:
Category : Computers
Languages : en
Pages : 124
Book Description
A book covering ALGOL 60. An early general-audience manual on the language.
Concepts in Programming Languages
Author: John C. Mitchell
Publisher: Cambridge University Press
ISBN: 9780521780988
Category : Computers
Languages : en
Pages : 546
Book Description
A comprehensive undergraduate textbook covering both theory and practical design issues, with an emphasis on object-oriented languages.
Publisher: Cambridge University Press
ISBN: 9780521780988
Category : Computers
Languages : en
Pages : 546
Book Description
A comprehensive undergraduate textbook covering both theory and practical design issues, with an emphasis on object-oriented languages.
Practical Foundations for Programming Languages
Author: Robert Harper
Publisher: Cambridge University Press
ISBN: 1107150302
Category : Computers
Languages : en
Pages : 513
Book Description
This book unifies a broad range of programming language concepts under the framework of type systems and structural operational semantics.
Publisher: Cambridge University Press
ISBN: 1107150302
Category : Computers
Languages : en
Pages : 513
Book Description
This book unifies a broad range of programming language concepts under the framework of type systems and structural operational semantics.
ANSI Common Lisp
Author: Paul Graham
Publisher: Pearson
ISBN:
Category : Computers
Languages : en
Pages : 452
Book Description
Teaching users new and more powerful ways of thinking about programs, this two-in-one text contains a tutorial--full of examples--that explains all the essential concepts of Lisp programming, plus an up-to-date summary of ANSI Common Lisp. Informative and fun, it gives users everything they need to start writing programs in Lisp and highlights innovative Lisp features.
Publisher: Pearson
ISBN:
Category : Computers
Languages : en
Pages : 452
Book Description
Teaching users new and more powerful ways of thinking about programs, this two-in-one text contains a tutorial--full of examples--that explains all the essential concepts of Lisp programming, plus an up-to-date summary of ANSI Common Lisp. Informative and fun, it gives users everything they need to start writing programs in Lisp and highlights innovative Lisp features.
Theories of Programming Languages
Author: John C. Reynolds
Publisher: Cambridge University Press
ISBN: 1139936255
Category : Computers
Languages : en
Pages : 514
Book Description
First published in 1998, this textbook is a broad but rigourous survey of the theoretical basis for the design, definition and implementation of programming languages and of systems for specifying and proving programme behaviour. Both imperative and functional programming are covered, as well as the ways of integrating these aspects into more general languages. Recognising a unity of technique beneath the diversity of research in programming languages, the author presents an integrated treatment of the basic principles of the subject. He identifies the relatively small number of concepts, such as compositional semantics, binding structure, domains, transition systems and inference rules, that serve as the foundation of the field. Assuming only knowledge of elementary programming and mathematics, this text is perfect for advanced undergraduate and beginning graduate courses in programming language theory and also will appeal to researchers and professionals in designing or implementing computer languages.
Publisher: Cambridge University Press
ISBN: 1139936255
Category : Computers
Languages : en
Pages : 514
Book Description
First published in 1998, this textbook is a broad but rigourous survey of the theoretical basis for the design, definition and implementation of programming languages and of systems for specifying and proving programme behaviour. Both imperative and functional programming are covered, as well as the ways of integrating these aspects into more general languages. Recognising a unity of technique beneath the diversity of research in programming languages, the author presents an integrated treatment of the basic principles of the subject. He identifies the relatively small number of concepts, such as compositional semantics, binding structure, domains, transition systems and inference rules, that serve as the foundation of the field. Assuming only knowledge of elementary programming and mathematics, this text is perfect for advanced undergraduate and beginning graduate courses in programming language theory and also will appeal to researchers and professionals in designing or implementing computer languages.
Programming Language Structures
Author: Elliott I. Organick
Publisher: Academic Press
ISBN: 1483264874
Category : Reference
Languages : en
Pages : 679
Book Description
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.
Publisher: Academic Press
ISBN: 1483264874
Category : Reference
Languages : en
Pages : 679
Book Description
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.