Advanced programming language design

書誌事項

Advanced programming language design

Rafael A. Finkel

Addison-Wesley, c1996

大学図書館所蔵 件 / 11

この図書・雑誌をさがす

注記

Includes bibliographical refreences (p. 453-461) and index

内容説明・目次

内容説明

Written for the student or professional interested in programming language design, this new book examines a wide range of programming language paradigms and issues, interspersing the discussion of these models with in-depth coverage of the key languages to reinforce them. The author begins his presentation with control structures and types, and then introduces the reader to seven programming paradigms: imperative, functional, object-oriented, dataflow, concurrent, logic, and aggregate-based. He concludes the book with a discussion of formal syntax and semantics.

目次

Preface. 1. Programming Languages as Software Tools. Evaluating Programming Languages. Background Material on Programming Languages. Variables, Data Types, Literals, and Expressions. Control Constructs. Procedures and Parameter Passing. Block Structure. Runtime Store Organization. Final Comments. Exercises. 2. Control Structures. Exception Handling. Coroutines. Coroutines in Simula. Coroutines in CLU. Embedding CLU Iterators in C. Coroutines in Icon. Continuations: Io. Power Loops. Final Comments. Exercises. 3. Types. Dynamic-Typed Languages. Strong Typing. Type Equivalence. Dimensions. Abstract Data Types. Labels, Procedures, and Types as First-Class Values. ML. Expressions. Global Declarations. Local Declarations. Lists. Functions and Patterns. Polymorphic Types. Type Inference. Higher-Order Functions. ML Types. Constructed Types. Miranda. Russell. Dynamic Typing in Statically Typed Languages. Final Comments. Exercises. 4. Functional Programming. LISP. Function Syntax. Forms. Programmer-Defined Functions. Scope Rules. Programming. Closures and Deep Binding. Identifier Lookup. The Kernel of a LISP Interpreter. Run-time List Evaluation. Lazy Evaluation. Speculative Evaluation. Strengths and Weaknesses of LISP. FP. Definition of an FP Environment. Reduction Semantics. Persistence in Functional Languages. Limitations of Functional Languages. Lambda Calculus. Exercises. 5. Object-Oriented Programming. Definitions. A Short Example. Simula. Smalltalk. Assignment and Messages. Blocks. Classes and Methods. Superclasses and Subclasses. Implementation of Smalltalk. Subtle Features. C++. The Consequences of Static Binding. Sample Classes. Final Comments. Exercises. 6. Dataflow. Dataflow Computers. Val. Sisal. Post. Data Types. Programs. Synchrony Control. Guardians. Speculative Computation. Final Comments. Exercises. 7. Concurrent Programming. Starting Multiple Threads. Cooperation by Means of Shared Variables. Join. Semaphores. Mutexes. Conditional Critical Regions. Monitors. Crowd Monitors. Event Counts and Sequencers. Barriers. Performance Issues. Transactions: Argus. Cooperation by Procedure Call. Rendezvous. Remote Procedure Call (RPC). Remote Evaluation (REV). Cooperation by Messages. CSP. Lynx. Linda. SR. Object-Oriented Programming. Data-Parallel Programming. Final Comments. Exercises. 8. Logic Programming. Prolog. Terms, Predicates, and Queries. Separating Logic and Control. Axiomatic Data Types. List Processing. Difference Lists. Arithmetic. Termination Issues. Resolution Proof Techniques. Control Aspects. 1An Example of Control Programming. 1Negation. 1Other Evaluation Orders. 1Constraint-Logic Programming (CLP). 1Metaprogramming. Go .. del. Program Structure. Types. Logic Programming. Conditionals. Control. Final Comments. Exercises. 9. Aggregates. Strings. Literals and Simple Operations. Representation. Pattern Matching. Associative Arrays. Substrings as First-Class Values. SNOBOL. Icon. Homoiconic Use of Strings: Tcl. Arrays: APL. Operators and Meta-operators. An APL Evaluator. Incremental Evaluation. Database Languages. Data Types. Control Structures. Modifying Data. SQL. Symbolic Mathematics. Final Comments. Exercises. 10. Formal Syntax and Semantics. Syntax. Axiomatic Semantics. Axioms. A Simple Proof. Weakest Preconditions. Denotational Semantics. Domain Definitions. Product Domains. Disjoint-Union Domains. Function Domains. Domain Equations. Nonrecursive Definitions. Recursive Definitions. Expressions. Identifiers. Environments. Variables. Conditional and Iterative Statements. Procedures. Functions. Recursive Routines. Modeddng Memory and Files. Blocks and Scoping. Parameters. Continuations. Statement Continuations. Declaration Continuations. Procedures, Functions, and Parameters. Flow of Control. Summary of Syntactic and Semantic Domains and Semantic Functions. Final Comments. Exercises. Languages Mentioned. Glossary. References. Index. 0805311912T04062001

「Nielsen BookData」 より

詳細情報

ページトップへ