30th anniversary navigate
 Navigate
RED Rationale left arrow
x
right arrow 0. Acknowledgments
Red Reference Manual

TABLE OF CONTENTS

0.  Acknowledgments     1.  Introduction     2.  Lexical Structure     3.  Program Structure
4.  Types     5.  Expressions     6.  Statements     7  Procs, Funcs & Parameters
8.  Capsules     9.  Exception Handling     10.  Multitasking     11.  Overloading & Generics
12.  Machine-Dependent Facilities     13.  Advanced Definitions     14.  Low-Level Facilities
A.  High-Level I/O     B.  Pragmats     C.  Built-In Types     D.  Exceptions     E.  Glossary     F.  Diagram Xref     G  Ref Manual Index



0.   ACKNOWLEDGMENTS
1.   INTRODUCTION
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 Diagrams
1.6.1     Flow Diagrams for Lexical Elements
1.6.2     Flow Diagrams for Language Constructs
2.   LEXICAL STRUCTURE
2.1  Character Set and Translator Input
2.2  Tokens and Token Separators
2.3  Tokens
2.3.1 Reserved Words
2.3.2 Operator Symbols
2.3.3 Special Symbols
2.3.4 Identifiers
2.3.5 Literals
2.3.6 Numeric Literals
2.3.7 Enum Literals
2.3.8 String Literals
2.3.9 Boolean Literals
2.3.10    Indirect Literal
2.4  Token Separators
2.4.1      Comment
2.4.2    Pragmat
3.   PROGRAM STRUCTURE
3.1  Program
3.2  Body
3.3  Declarations
3.4  Assertions
3.5  Names and Scopes
3.6  Forward References to Names
3.7  Imports List
4.   TYPES
4.1  Types and Subtypes
4.1.1     Use of Types and Subtypes
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.2  Variables and Constants
4.1.3     Variable or Constant Declaration
4.3  Overview of Built-In Types
4.4  Declaration of Subtypes and Types
4.4.1     Abbreviation
4.4.2     Declaring and Using a New Type
4.4.3     Declaring and Using a New Indirect Type
4.5  Type and Subtype Inquiry, Predicates and Assertions
4.5.1     Subtype Inquiry
4.5.2     Type Inquiry
4.5.3     Attributes
5.   EXPRESSIONS
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.   STATEMENTS
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.   PROCEDURES, FUNCTIONS, AND PARAMETERS
7.1  Procedure Declaration and Invocation
7.2  Function Declaration and Invocation
7.2.1  Declaring and Using a New Type
7.3  Formal and Actual Parameters
8.   CAPSULES
8.1  Capsule Declaration and Invocation
8.2  Visible List
9.   EXCEPTION HANDLING
9.1  Exception Names
9.2  Guard Statement
9.3  Raising of Exceptions
9.4  Reraising Exceptions
10.   MULITASKING
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.   OVERLOADING & GENERICS
11.1  Interfaces
11.1.1     Signatures
11.1.2     Translation Time Property Lists
11.2  Explicit Overloading
11.3  Generic Overloading
11.3.1     Type Generic Constraints
11.3.2     Subtype Generic Constraints Lists
11.3.3     Operation Generic Constraints
11.3.4     Value Generic Constraints
11.4  Needs List
12.   MACHINE-DEPENDENT FACILITIES
12.1  Configuration Capsules
12.2  Specification of Representations
12.3  Locations
12.4  Foreign Code
13.   ADVANCED DEFINITIONS
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.   LOW-LEVEL FACILITIES
14.1  More About Mailboxes
14.1.1     Available Counts
14.1.2     Conditional Message Passing
14.1.3     Assignment and Equality of Mailboxes
14.1.4     Interrupts
14.2  More About the Act Scheduler
14.2.1     Act Variable States
14.2.2     Critical Areas
14.2.3     Scheduling Algorithm
14.3  Waiting
14.3.1     Synchronizing Operations for Waiting Invocations
14.3.2     Act Scheduler Operations for Waiting
14.3.3     Expansion of the Wait statement
14.4  More About Mutual Exclusion
14.4.1     Semantics of the Region Statement
14.4.2     More About Data Locks
14.4.3     Latch
14.5  User-Defined Schedulers
14.5.1     Act Assignment and Equality
14.5.2     Low and High Operations
14.5.3     Task Activation Creation and Completion
14.5.4     Example - A Round Robin Scheduler
14.6  Low-Level I/O
A.      HIGH-LEVEL I/O
A.1  File Variables, Open, and Close
A.2  File Processing
A.3  Text Files
B.      PRAGMATS
C.      BUILT-IN TYPES
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
D.      EXCEPTIONS
E.      GLOSSARY
F.      DIAGRAM CROSS REFERENCES
G.      INDEX





RED Rationale left arrow
x
right arrow 0. Acknowledgments


Overview

Requirements
      Strawman
      Woodenman
      Tinman
      Ironman
      Steelman

RED Reference
RED Rationale

Types in RED
Time/Life Computer Languages
Memories

Site Index

Overview             Reference ToC             Rationale ToC             Site Index



Home   Favorites   Map

IME logo Copyright © 2009, Mary S. Van Deusen