TABLE OF CONTENTS
1.1 Design Goals
1.2 Semantic Framework
1.3 Programming Considerations
1.4 Overview of the Language Reference Manual
1.5 Manual Layout
1.6 Flow Diagrams1.6.1 Flow Diagrams for Lexical Elements
1.6.2 Flow Diagrams for Language Constructs
2.1 Character Set and Translator Input
2.2 Tokens and Token Separators
2.3 Tokens2.4 Token Separators2.3.1 Reserved Words2.3.2 Operator Symbols2.3.3 Special Symbols2.3.4 Identifiers2.3.5 Literals2.3.6 Numeric Literals2.3.7 Enum Literals2.3.8 String Literals2.3.9 Boolean Literals2.3.10 Indirect Literal
2.4.1 Comment2.4.2 Pragmat3. PROGRAM STRUCTURE
4.1 Types and Subtypes
4.1.1 Use of Types and Subtypes4.2 Variables and Constants
4.1.2 Specifying Types and Subtypes
4.1.3 Relationship Between Types and Subtypes
4.1.4 Language-Defined and User-Defined Types
4.1.5 Types, Type Equivalence and Type Comparison
4.1.6 Subtypes, Subtype Equivalence and Subtype Comparison
4.1.7 Range
4.1.3 Variable or Constant Declaration4.3 Overview of Built-In Types
4.4 Declaration of Subtypes and Types
4.4.1 Abbreviation4.5 Type and Subtype Inquiry, Predicates and Assertions
4.4.2 Declaring and Using a New Type
4.4.3 Declaring and Using a New Indirect Type
4.5.1 Subtype Inquiry
4.5.2 Type Inquiry
4.5.3 Attributes
5.1 Data Items
5.2 Operators and Operands
5.3 Primary
5.4 Built-In and User-Defined Literals and Constructors
5.5 Manifest Expressions and Conditional Translation
5.6 Built-In Constructors
5.7 Value Resolution and User-Defined Values
6.1 Assignment Statement
6.2 Begin Statement
6.3 If Statement
6.4 Case Statement
6.5 Repeat Statement
6.6 Exit Statement
6.7 Return Statement
6.8 Goto Statement
7.1 Procedure Declaration and Invocation
7.2 Function Declaration and Invocation
7.2.1 Declaring and Using a New Type7.3 Formal and Actual Parameters
10.1 Task Declaration, Task Creation, and Activation Variables
10.2 The Act Priority Scheduler
10.3 Message Passing Using Mailbox Variables
10.4 Clocks and Delays
10.5 Waiting
10.6 Shared Variables
10.7 Region Statement and Data Lock Variables
11.1 Interfaces
11.1.1 Signatures11.2 Explicit Overloading
11.1.2 Translation Time Property Lists
11.3 Generic Overloading
11.3.1 Type Generic Constraints11.4 Needs List
11.3.2 Subtype Generic Constraints Lists
11.3.3 Operation Generic Constraints
11.3.4 Value Generic Constraints
13.1 Definable Symbols
13.2 Definition of Operators and Assignment
13.3 Initialization and Finalization
13.4 Definition of Selector Operations
13.5 Definition of Resolution
13.6 Extending the Case Statement to User-Defined Types
13.7 Extending the Repeat Statement to User-Defined Types
14.1 More About Mailboxes
14.1.1 Available Counts14.2 More About the Act Scheduler
14.1.2 Conditional Message Passing
14.1.3 Assignment and Equality of Mailboxes
14.1.4 Interrupts
14.2.1 Act Variable States14.3 Waiting
14.2.2 Critical Areas
14.2.3 Scheduling Algorithm
14.3.1 Synchronizing Operations for Waiting Invocations14.4 More About Mutual Exclusion
14.3.2 Act Scheduler Operations for Waiting
14.3.3 Expansion of the Wait statement
14.4.1 Semantics of the Region Statement14.5 User-Defined Schedulers
14.4.2 More About Data Locks
14.4.3 Latch
14.5.1 Act Assignment and Equality14.6 Low-Level I/O
14.5.2 Low and High Operations
14.5.3 Task Activation Creation and Completion
14.5.4 Example - A Round Robin Scheduler
C.1 BOOL
C.2 ENUM
C.3 INT
C.4 FLOAT
C.5 RECORD
C.6 UNION
C.7 ARRAY
C.8 STRING
C.9 SET
C.10 ACT
C.11 MAILBOX
C.12 DATA_LOCK
C.13 LATCH
C.14 FILE
C.15 ASCII
OverviewRequirements
Strawman
Woodenman
Tinman
Ironman
SteelmanRED Reference
RED Rationale