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
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 -.
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 -.
Introductory Algol 68 Programming
Author: D. F. Brailsford
Publisher:
ISBN:
Category : ALGOL (Computer program language).
Languages : en
Pages : 296
Book Description
"This book is intended for anyone who wants to learn to write programs in Algol 68" -- Foreword.
Publisher:
ISBN:
Category : ALGOL (Computer program language).
Languages : en
Pages : 296
Book Description
"This book is intended for anyone who wants to learn to write programs in Algol 68" -- Foreword.
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.
A Primer of ALGOL 60 Programming
Author: Edsger W. Dijkstra
Publisher:
ISBN:
Category :
Languages : en
Pages :
Book Description
Publisher:
ISBN:
Category :
Languages : en
Pages :
Book Description
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.
Data Structures of Pascal, Algol 68, PL/1 and Ada
Author: Johan Lewi
Publisher: Springer Science & Business Media
ISBN: 3642702392
Category : Computers
Languages : en
Pages : 402
Book Description
This book is intended as a text for a course in programming languages. The pre requisites for such a course are insight in structured programming and knowledge as well as practical experience of at least one (e.g., Pascal) of the programming languages treated in the book. The emphasis is on language concepts rather than on syntactic details. The book covers a number of important language concepts that are related to data struc tures. The comparison of the programming languages Pascal, Algol 68, PL/1 and Ada consists in investigating how these concepts are supported by each of these languages. Interesting evaluation criteria are generality, simplicity, safety, readability and portability. The study of programming languages is based on a simple model called SMALL. This model serves as a didactic vehicle for describing, comparing and evaluating data structures in various programming languages. Each chapter centers around a specific language concept. It consists of a general discussion followed by a number of language sections, one for each of the languages Pascal, Algol 68, PL/1 and Ada. Each of these sections contains a number of illustrating program fragments written in the programming language concerned. For each program fragment in one language, there is an analogous fragment in the others. The book can be read "vertically" so that the programming languages Pascal, Algol 68, PL/1 and Ada are encountered in that order several times. A "horizontal" reading of the book would consist in selecting only those sections which only concern one language.
Publisher: Springer Science & Business Media
ISBN: 3642702392
Category : Computers
Languages : en
Pages : 402
Book Description
This book is intended as a text for a course in programming languages. The pre requisites for such a course are insight in structured programming and knowledge as well as practical experience of at least one (e.g., Pascal) of the programming languages treated in the book. The emphasis is on language concepts rather than on syntactic details. The book covers a number of important language concepts that are related to data struc tures. The comparison of the programming languages Pascal, Algol 68, PL/1 and Ada consists in investigating how these concepts are supported by each of these languages. Interesting evaluation criteria are generality, simplicity, safety, readability and portability. The study of programming languages is based on a simple model called SMALL. This model serves as a didactic vehicle for describing, comparing and evaluating data structures in various programming languages. Each chapter centers around a specific language concept. It consists of a general discussion followed by a number of language sections, one for each of the languages Pascal, Algol 68, PL/1 and Ada. Each of these sections contains a number of illustrating program fragments written in the programming language concerned. For each program fragment in one language, there is an analogous fragment in the others. The book can be read "vertically" so that the programming languages Pascal, Algol 68, PL/1 and Ada are encountered in that order several times. A "horizontal" reading of the book would consist in selecting only those sections which only concern one language.
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.
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.
Essentials of Programming Languages, third edition
Author: Daniel P. Friedman
Publisher: MIT Press
ISBN: 0262062798
Category : Computers
Languages : en
Pages : 433
Book Description
A new edition of a textbook that provides students with a deep, working understanding of the essential concepts of programming languages, completely revised, with significant new material. This book provides students with a deep, working understanding of the essential concepts of programming languages. Most of these essentials relate to the semantics, or meaning, of program elements, and the text uses interpreters (short programs that directly analyze an abstract representation of the program text) to express the semantics of many essential language elements in a way that is both clear and executable. The approach is both analytical and hands-on. The book provides views of programming languages using widely varying levels of abstraction, maintaining a clear connection between the high-level and low-level views. Exercises are a vital part of the text and are scattered throughout; the text explains the key concepts, and the exercises explore alternative designs and other issues. The complete Scheme code for all the interpreters and analyzers in the book can be found online through The MIT Press web site. For this new edition, each chapter has been revised and many new exercises have been added. Significant additions have been made to the text, including completely new chapters on modules and continuation-passing style. Essentials of Programming Languages can be used for both graduate and undergraduate courses, and for continuing education courses for programmers.
Publisher: MIT Press
ISBN: 0262062798
Category : Computers
Languages : en
Pages : 433
Book Description
A new edition of a textbook that provides students with a deep, working understanding of the essential concepts of programming languages, completely revised, with significant new material. This book provides students with a deep, working understanding of the essential concepts of programming languages. Most of these essentials relate to the semantics, or meaning, of program elements, and the text uses interpreters (short programs that directly analyze an abstract representation of the program text) to express the semantics of many essential language elements in a way that is both clear and executable. The approach is both analytical and hands-on. The book provides views of programming languages using widely varying levels of abstraction, maintaining a clear connection between the high-level and low-level views. Exercises are a vital part of the text and are scattered throughout; the text explains the key concepts, and the exercises explore alternative designs and other issues. The complete Scheme code for all the interpreters and analyzers in the book can be found online through The MIT Press web site. For this new edition, each chapter has been revised and many new exercises have been added. Significant additions have been made to the text, including completely new chapters on modules and continuation-passing style. Essentials of Programming Languages can be used for both graduate and undergraduate courses, and for continuing education courses for programmers.
The Denotational Description of Programming Languages
Author: M.J.C. Gordon
Publisher: Springer Science & Business Media
ISBN: 1461262283
Category : Computers
Languages : en
Pages : 168
Book Description
This book explains how to formally describe programming languages using the techniques of denotational semantics. The presentation is designed primarily for computer science students rather than for (say) mathematicians. No knowledge of the theory of computation is required, but it would help to have some acquaintance with high level programming languages. The selection of material is based on an undergraduate semantics course taught at Edinburgh University for the last few years. Enough descriptive techniques are covered to handle all of ALGOL 50, PASCAL and other similar languages. Denotational semantics combines a powerful and lucid descriptive notation (due mainly to Strachey) with an elegant and rigorous theory (due to Scott). This book provides an introduction to the descriptive techniques without going into the background mathematics at all. In some ways this is very unsatisfactory; reliable reasoning about semantics (e. g. correctness proofs) cannot be done without knowing the underlying model and so learning semantic notation without its model theory could be argued to be pointless. My own feeling is that there is plenty to be gained from acquiring a purely intuitive understanding of semantic concepts together with manipulative competence in the notation. For these equip one with a powerful conceptua1 framework-a framework enabling one to visualize languages and constructs in an elegant and machine-independent way. Perhaps a good analogy is with calculus: for many practical purposes (e. g. engineering calculations) an intuitive understanding of how to differentiate and integrate is all that is needed.
Publisher: Springer Science & Business Media
ISBN: 1461262283
Category : Computers
Languages : en
Pages : 168
Book Description
This book explains how to formally describe programming languages using the techniques of denotational semantics. The presentation is designed primarily for computer science students rather than for (say) mathematicians. No knowledge of the theory of computation is required, but it would help to have some acquaintance with high level programming languages. The selection of material is based on an undergraduate semantics course taught at Edinburgh University for the last few years. Enough descriptive techniques are covered to handle all of ALGOL 50, PASCAL and other similar languages. Denotational semantics combines a powerful and lucid descriptive notation (due mainly to Strachey) with an elegant and rigorous theory (due to Scott). This book provides an introduction to the descriptive techniques without going into the background mathematics at all. In some ways this is very unsatisfactory; reliable reasoning about semantics (e. g. correctness proofs) cannot be done without knowing the underlying model and so learning semantic notation without its model theory could be argued to be pointless. My own feeling is that there is plenty to be gained from acquiring a purely intuitive understanding of semantic concepts together with manipulative competence in the notation. For these equip one with a powerful conceptua1 framework-a framework enabling one to visualize languages and constructs in an elegant and machine-independent way. Perhaps a good analogy is with calculus: for many practical purposes (e. g. engineering calculations) an intuitive understanding of how to differentiate and integrate is all that is needed.