Table of Contents
1. Introduction
1.1 What is Blue?
1.2 The Blue Environment
1.3 About this Document
1.4 Blue Programming
2. Aliases
3. Classes and their Operations
3.1 Manifest vs. Dynamic Classes
3.2 General Operations
3.3 Predefined Types
3.4 User Defined Types
3.5 Operator Precedence
4. Identifiers
5. The Uses Clause
6. Variables
7. Constants
7.1 Literals
7.2 Named Constants
7.3 Set Constants
8. Routines and Parameters
8.1 Builtin Routines
9. Statements
9.1 Assignment
9.2 Assignment Attempt
9.3 Procedure Call
9.4 Return
9.5 Assertion
10. Expressions
10.1 Function Call
10.2 Equality
10.3 Type Equality
10.4 In
10.5 Create
10.6 This
11. Control Structures
11.1 Conditional: The If Statement
11.2 Selection: The Case Statement
11.3 Iteration: The Loop Statement
12. Pre/Post Conditions
13. Class Invariants
14. Comments
14.1 Interface Comments
14.2 Implementation Comments
15. I/O
15.1 Standard I/O
15.2 File I/O
16. Inheritance
16.1 Defining Subclasses
16.2 Redefinition
16.3 Calling Superclass Functions
16.4 Deferred Routines
17. Genericity
17.1 Unconstrained Genericity
17.2 Constrained Genericity
18. Concepts not included in Blue
18.1 Multiple Inheritance
18.2 Routine Parameters
18.3 User Defined Infix Operators
18.4 Function Overloading
18.5 Union Type
18.6 Explicit Blocks
Appendix A: EBNF
Appendix B: Complete List of Aliases
Appendix C: Implementation-Dependent Definitions
Appendix D: Interfaces of Predefined Classes
D.1 Integer
D.2 Real
D.3 Boolean
D.4 String
D.5 Array
D.6 Enumeration
D.7 TextTerminal
Index