程序设计语言原理:英文版

程序设计语言原理:英文版
作 者: Robert Sebesta
出版社: 机械工业出版社
丛编项: 经典原版书库
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《程序设计语言原理:英文版》作者简介

内容简介

本书通过用一些最常见的程序设计语言讲授了语言结构的设计问题,检查语言结构的设计选择,以及比较各种设计方案来描述程序设计语言的基本概念。

图书目录

Chapter 1 Preliminaries

1.1 Reasons for Studying Concepts of Programming Languages

1.2 Programming Domains

1.3 Language Evaluation Criteria

1.4 Influences on Language Design

1.5 Language Categories

1.6 Language Design Trade-Offs

1.7 Implementation Methods

1.8 Programming Environments

Chapter 2 Evolution of the Major Programming Languages

2.1 Zuse''s Plankalkal

2.2 Minimal Hardware Programming: Pseudocodes

2.3 The IBM 704 and FORTRAN

2.4 Functional Programming: LISP

2.5 The First Step Toward Sophistication: ALGOL 60

2.6 Computerizing Business Records: COBOL

2.7 The Beginnings of rimesharing: BASIC

2.8 Everything for Everybody: PL/l

2.9 Two Early Dynamic Languages: APL and SNOBOL

2.1O The Beginnings of Data Abstraction: SIMULA 67

2.11 Orthogonal Design: ALGOL 68

2.12 Some Important Descendants of the ALGOLs

2.13 Programmlng Based on Logic: Prolog

2.14 Histoty''s Largest Design Effort: Ada

2.15 Object-Oriented Programming: Smalltalk

2.16 Combining Imperative and Object-Oriented Features: G

2.17 Programming the World Wide Web: Java

Chapter 3 Oesfdbing Syntax and Semantics

3.1 lntroduction

3.2 The General Problem of Describing Syntax

3.3 Formal .Methods of Describing Syntax

3.4 Attribute Grammars

3.5 Describing the Meanings of Programs: Dynamic Semtantics

Chapter 4 Lexpter and Syntax Analysis

4.l Introduction

4.2 Lexical Analysis

4.3 The Parsing Problem

4.4 Recursive-Descent Parsing

4.5 Bottom-Up Parsing

Chapter 5 Names, Bindings, Type Checking, and Seopes

5.1 Introduction

5.2 Names

5.3 Variables

5.4 The Concept of Binding

5.5 Type Checking

5.6 Strong Typing

5.7 Type Compatibility

5.8 Scope

5.9 Scope and Lifetlme

5.1O Referencing Environments

5.11 Named Gonstants

5.12 Variable Initialization

Chapter 6 Data Types

6.1 Introduction

6.2 Primitive Data Types

6.3 Character String Types

e.4 User-Defined Ordinal Types

6.5 Array Types

6.6 Array Types

6.7 Rncord types

Contents

6.8 Union Types

6.9 Set Types

6.10 Pointer Types

Chapter 7 Expressions and Assignment Statements

7.1 Introduction

7.2 Arithmetic Expressions

7.3 Overloaded Operators

7.4 Type Conversions

7.5 Relational and Boolean Expressions

7.6 Short-Circuit Evaluation

7.7 Assignment Statements

7.8 Mixed-Mode Assignment

Chapter 8 Statement-Level Control structures

8.1 Introduction

8.2 Compound Statements

8.3 Selection Statements

8.4 Iterative Statements

8.5 Unconditional Branching

8.6 Guarded Commands

8.7 Conclusions

Chapter 9 Subprograms

9.1 lntroduction

9.2 Fundamentals of Subprograms

9.3 Design Issues for Subprograms

9.4 Local Referencing Environments

9.5 Parameter-Passing Methods

9.6 Parameters That Are Subprogram Names

9.7 Overloaded Subprograms

9.8 Generic Subprograms

9.9 Separate and Independent Compilation

9.10 Design Issues for Functions

9.1l Accessing Nonlocal Environments

9.12 User-Defined Overloaded Operators

9.13 Coroutines

Chapter 10 Implementing Subprograms

10.1 The General Semantics of Calls and Returns

10.2 Implementing FORTRAN 77 Subprograms

10.3 Implementing Subprograms in ALGOL-like Languages

10.4 Blocks

10.5 Implementing Dynamic Scoping

10.6 Implementing Parameters That Are Subprogram Names

Chapter 11 Abstract Data Types

11.1 The Concept of Abstraction

11.2 Encapsulation

11.3 Introduction to Data Abstraction

11.4 Design Issues

11.5 Language Examples

11.6 Parameterized Abstract Data Types

Chapter 12 support for Object-Oriented Programming

12.1 Introduction

12.2 Object-Oriented Programming

12.3 Design Issues for Object-Oriented Languages

12.4 Overview of Smalltalk

12.5 Introduction to the Smalltalk Language

12.6 Smallalk Example Programs

12.7 Large-Scale Features of Smalltalk

12.8 Evaluation of Smalltalk

12.9 Support for Object-Oriented Programming in C

12.10 Support for Object-Oriented Programming in java

12.11 Support for Object-Oriented Programming in Ada 95

12.12 Support for Object-Oriented Programming in Eiffel

12.13 The Object Model of JavaScript

12.14 Implementation of Object-Oriented Constructs

Chapter 13 Conurrency

13.1 Introduction

13.2 Introduction to Subprogram-Level Concurrency

13.3 Semaphores

13.4 Monitors

13.5 Message Passing

13.6 Concurrency in Ada 95

13.7 Java Threads

13.8 Statement-Level Concurrency

Chapter 14 Exteption Handling

14.1 Introduction to Exception Handling

14.2 Exception Handling in PL/I

14.3 Exception Handling in Ada

14.4 Exception Handling in C

14.5 Exception Handling in Java

Chapter 15 Functional Programming Languages

15.1 Introduction

15.2 Mathematical Functions

15.3 Fundamentals of Functional Programming Languages

15.4 The First Functional Programming Language: LISP

15.5 An Introduction to Scheme

15.6 COMMON LiSP

15.7 ML

15.8 Haskell

15.9 Applications of Functional Languages

15.10 A Comparison of Functional and Imperative Languages

Chapter 16 Logic Poegramming Languages

16.1 Introduction

16.2 A Brief Introduction to Predicate Calculus

16.3 Predicate Calculus and Proving Theorems

16.4 An Overview of Logic Programming

16.5 The Origins o fProlog

16.6 The Basic Elements of Prolog

16.7 Deficiencies of Prolog

16.8 Applications of Logic Programming

16.9 Conclusions

Blbllograpby

Index