To access the contents, click the chapter and section titles.

HPL: Vol. II: Imperative Programming Languages, Volume II
(Imprint: Macmillan Computer Publishing)
(Publisher: Macmillan Technical Publishing)
Author: Peter H. Salus
ISBN: 1578700094


Foreword to the Handbook of Programming Languages
About the Author

Part I—Fortran
Chapter 1—Fortran
1.1. Introduction
1.1.1. History
1.1.2. Fortran 95—the Language of Modern Choice
1.1.3. Fortran 90 Compatibility
1.1.4. Extensibility
1.1.5. The Fortran 95 Language Standard
1.1.6. Fortran 2000
1.1.7. HPF
1.1.8. F
1.2. An Overview of the Fortran Language
1.2.1. The Form of a Fortran Program
1.2.2. The program Statement
1.2.3. The end program Statement
1.2.4. Intrinsic Data Types
1.2.5. Kind Parameters
1.2.6. Parameters/Named Constants
1.2.7. Rules for Names
1.2.8. Variables
1.2.9. Attributes
1.2.10. Intrinsic Functions
1.2.11. Expressions
1.2.12. Assignment
1.2.13. Control Constructs
1.2.14. Modules and Procedures
1.2.15. Arrays
1.2.16. Character Data
1.2.17. Structures and Derived Types
1.2.18. Extending Fortran
1.2.19. Pointer Variables
1.2.20. Input and Output
1.3. More Information About Fortran
1.4. References

Part II—C
Chapter 2—The Development of the C Language
2.1. Introduction
2.2. History
2.2.1. The Setting
2.2.2. Origins: The Languages
2.2.3. More History
2.3. The Development of C
2.3.1. The Problems of B
2.3.2. Embryonic C
2.3.3. Neonatal C
2.3.4. Portability
2.3.5. Growth in Usage
2.3.6. Standardization
2.3.7. Successors
2.3.8. Critique
2.4. Whence Success?
2.5. Acknowledgments
2.6. References
Chapter 3—C Programming
3.1. Introduction
3.1.1. Sample Programs
3.1.2. Lexical Issues
3.2. Basic Types, Constants, and Declarations
3.2.1. Basic Types
3.2.2. Constants
3.2.3. Declarations
3.2.4. Identifiers
3.2.5. Array Declarations
3.2.6. Scope, Duration, Linkage, and Storage Classes
3.2.7. Type Qualifiers
3.2.8. Initialization
3.2.9. Type Definitions
3.3. Expressions
3.3.1. Primary Expressions
3.3.2. Arithmetic Operators
3.3.3. Assignment Operators
3.3.4. Relational and Logical Operators
3.3.5. Bitwise Operators
3.3.6. Compound Assignment Operators
3.3.7. Autoincrement and Autodecrement Operators
3.3.8. Conditional and Comma Operators
3.3.9. Precedence and Order of Evaluation
3.3.10. Default Conversions
3.3.11. Explicit Conversions
3.3.12. Constant Expressions
3.4. Statements
3.4.1. Expression Statements
3.4.2. if Statements
3.4.3. switch Statements
3.4.4. while Loops
3.4.5. for Loops
3.4.6. do/while Loops
3.4.7. break and continue
3.4.8. goto Statements
3.4.9. return Statements
3.5. Functions
3.5.1. Defining Functions
3.5.2. Declaring Functions
3.5.3. Calling Functions
3.5.4. Global Variables and External Declarations
3.6. Pointers and Arrays
3.6.1. Pointer Declarations
3.6.2. Basic Pointer Operations
3.6.3. Pointer Arithmetic
3.6.4. Array/Pointer Initialization
3.6.5. Array/Pointer Equivalence
3.6.6. Memory Allocation
3.6.7. Pointers to Functions
3.6.8. Low-Level Addressing
3.7. User-Defined Data Structures
3.7.1. Structures
3.7.2. Structure Member Access
3.7.3. Unions
3.7.4. Bit-Fields
3.7.5. Enumerations
3.7.6. Linked Data Structures
3.8. The C Preprocessor
3.8.1. Source File Inclusion #include)
3.8.2. Macro Definition (#define)
3.8.3. Conditional Compilation (#ifdef, et al.)
3.8.4. Special Replacement Operators
3.8.5. Other Preprocessor Directives
3.9. The Runtime Environment
3.9.1. Command-Line Arguments
3.9.2. Exit Status
3.10. The Standard C Library
3.10.1. <stdio.h>
3.10.2. <string.h>
3.10.3. <ctype.h>
3.10.4. <stdlib.h>
3.10.5. <math.h>
3.10.6. <time.h>
3.10.7. <signal.h>
3.10.8. <setjmp.h>
3.10.9. <locale.h>
3.10.10. <stdarg.h>
3.10.11. <stddef.h>
3.10.12. <assert.h>
3.10.13. <errno.h>
3.10.14. <limits.h>
3.10.15. <float.h>
3.10.16. <iso646.h>
3.10.17. <wchar.h>
3.10.18. <wctype.h>
3.11. Acknowledgments
3.12. Bibliography

Part III—Intermediate Languages
Chapter 4—Intermediate Languages
4.1. Overview
4.2. Patterns of IL Conception
4.2.1. The Extension Pattern
4.2.2. The Between Pattern
4.3. Principles of IL Design
4.4. Case Study
4.5. Summary
4.6. Acknowledgments
4.7. Bibliography

Part IV—Pascal
Chapter 5—Turbo Pascal
5.1. The History of Pascal
5.1.1. Birth
5.1.2. Growth
5.1.3. Prominence
5.1.4. Descendants
5.1.5. Today
5.1.6. Net Resources
5.2. Pascal Constructs
5.2.1. Using the Turbo Pascal Compiler
5.2.2. Elementary Pascal
5.2.3. Control Structures
5.2.4. Data Types
5.2.5. Procedures and Functions
5.2.6. Units, Unit Creation, and Include Files
5.2.7. Data Manipulation Procedures and Functions
5.2.8. Dynamic Memory Allocation
5.2.9. File Access
5.2.10. textmode Screen Manipulation
5.2.11. DOS Command Capabilities
5.2.12. Advanced Options
5.3. Common Questions and Answers
5.4. References

PART V—Icon
Chapter 6—The Icon Programming Language
6.1. Background
6.2. The Language
6.2.1. Basics
6.2.2. Generators and Goal-Directed Evaluation
6.2.3. String Processing
6.2.4. Structures
6.2.5. Numerical Computation
6.2.6. Co-Expressions
6.2.7. Graphics
6.2.8. Running Icon Programs
6.2.9. Debugging Facilities
6.3. Programming Techniques and Examples
6.3.1. Programming with Sequences
6.3.2. Pattern Matching
6.3.3. Procedures with Memory
6.3.4. Visual Interfaces in Icon
6.3.5. Anatomy of a Program
6.4. Icon Resources
6.4.1. Online Access
6.4.2. Implementations
6.4.3. Documentation
6.4.4. The Icon Program Library
6.4.5. Icon Newsgroup
6.4.6. The Icon Project
6.5. Acknowledgments
6.6. References
Index