Amazon cover image
Image from Amazon.com

Programming languages : principles and practice / Kenneth Louden.

By: Publication details: Australia : Thomson, Brooks/Cole, c2003.Edition: 2nd editionDescription: xiii, 694 p. : ill. ; 25 cmISBN:
  • 9780534953416
  • 0534953417
Subject(s): DDC classification:
  • 22 005.13 LOU
Tags from this library: No tags from this library for this title. Log in to add tags.
Star ratings
    Average rating: 0.0 (0 votes)

TABLE OF CONTENTS

1: Introduction
1.1 What is a programming language?
1.2 Abstraction in programming languages
1.3 Computational paradigms
1.4 Language definition
1.5 Language translation
1.6 Language design

2: History
2.1 Early History: The first Programmer
2.2 The 1950s: The first Programming Languages
2.3 The 1960s: An Explosion in Programming Languages
2.4 The 1970s: Simplicity, Abstraction, Study
2.5 The 1980s: New Directions and the rise of Object-Orientation
Etc.

3: Language Design Principles
3.1 History and Design Criteria
3.2 Efficiency
3.3 Regularity
3.4 Further Language Design Principles
3.5 C+ +: A Case Study in Language Design

4: Syntax
4.1 Lexical Structure of Programming Languages
4.2 Context-Free Grammars and BNFs
4.3 Pars Trees and Abstract Syntax Trees
4.4 Ambiguity, Associativity, and Precedence
4.5 EBNFs and Syntax Diagrams
Etc.

5: Basic Semantics
5.1 Attributes, Binding, and Semantic Functions
5.2 Declarations, Blocks, and Scope
5.3 The Symbol Table
5.4 Name Resolution and Overloading
5.5 Allocation, Lifetimes, and the Environment
Etc.

6: Data Types
6.1 Data Types and Type Information
6.2 Simple Types
6.3 Type Constructors
6.4 Type Nomenclature in Simple Languages
6.5 Type Equivalence
Etc.

7: Control I - Expressions and Statements
7.1 Expressions
7.2 Conditional Statements and Guards
7.3 Loops and Variation on WHILE
7.4 The GOTO Controversy
7.5 Exception Handling

8: Control II - Procedures and Environments
8.1 Procedure Definition and Activation
8.2 Procedure Semantics
8.3 Parameter Passing Mechanisms
8.4 Procedure Environments, Activations, and Allocation
8.5 Dynamic Memory Management
Etc.

9: Abstract Data Types and Modules
9.1 The Algebraic Specification of Abstracts Data Types
9.2 Abstract Data Type Mechanisms and Modules
9.3 Separate Compilation in C, C+ + Namespaces, and Java Packages
9.4 Ada Packages
9.5 Modules in ML
Etc.

10: Object-Oriented Programming
10.1 Software Reuse and Independence
10.2 Java : Objects, Classes, and Methods
10.3 Inheritance
10.4 Dynamic Binding
10.5 C+ +
10.6 Smalltalk
Etc.

11: Functional Programming
11.1 Programs as Functions
11.2 Functional Programming in an Imperative Language
11.3 Scheme : A Dialect of LISP
11.4 ML : Functional Programming with Static Typing
11.5 Delayed Evaluation
Etc.

12: Logic Programming
12.1 Logic and Logic Programs
12.2 Horn Clauses
12.3 Resolution and Unification
12.4 The Language Prolog
12.5 Problems with Logic Programming
Etc.

13: Formal Semantics
13.1 A Sample Small Language
13.2 Operational Semantics
13.3 Denotational Semantics
13.4 Axiomatic Semantics
13.5 Proofs of Program Correctness

14: Parallel Programming
14.1 Introduction to Parallel Processing
14.2 Parallel Processing and Programming Languages
14.3 Threads
14.4 Semaphores
14.5 Monitors
Etc.


Includes : Bibliography: p. 673-683 . _ . Index : p. 685-694.


There are no comments on this title.

to post a comment.