SIMULA
Standard


As defined by the SIMULA Standards Group,
25th August 1986.


Contents


0 General Introduction
0.1 Introduction
0.2 Scope and field of application
0.3 References
0.4 Definitions
0.5 Conformity
0.6 Tests
0.7 Appendices

1 Lexical Tokens
1.1 Directive lines
1.2 The character set
1.3 Special symbols
1.4 Identifiers
1.5 Numbers
1.6 Strings
1.7 Character constants
1.8 Corument convention
1.9 Token separators
1.10 Prograrn interchange and lexical alternatives

2 Types, values and references
2.1 Arithrnetic types
2.2 The type Boolean
2.3 The type character
2.4 Object reference
2.5 The type text
2.6 Type conversion

3 Expressions
3.1 Variables
3.2 Boolean expressions
3.3 Relations
3.4 The logical operators
3.5 Arithhlietic expressions
3.6 Character expressions
3.7 Text expressions
3.8 Object expressions
3.9 Designational expressions

4 Statements
4.1 Assignement statement
4.2 Conditional statement
4.3 While statement
4.4 For statement
4.5 Goto statement
4.6 Procedure statement
4.7 Object generator statement
4.8 Connection statement
4.9 Compound statement
4.10 Blocks
4.11 Dummy statement

5 Declarations
5.1 Simple variable declaration
5.2 Array declaration
5.3 Switch declaration
5.4 Procedure declaration
5.5 Class declaration
5.6 Scope and visibility rules
5.7 Initialisation
5.8 Constant declarations

6 Program modules
6.1 External declarations
6.2 The main program
6.3 External procedure declaration
6.4 External class declaration
6.5 Module identification

7 Sequencing
7.1 Block instances and states of execution
7.2 Quasi-parallel systems
7.3 Quasi-parallel sequencing
7.4 Annotated example

8 Attributes of text
8.1 "constant", "start", "length" and "main"
8.2 Character access
8.3 Text generation
8.4 Subtexts
8.5 Numeric text values
8.6 "De-editing" procedures
8.7 Editing procedures

9  The class environment
9.1 Basic operations
9.2 Text utilities
9.3 Scheduling
9.4 Mathematical ifinctions
9.5 Extremum functions
9.6 Environmental enquiries
9.7 Error control
9.8 Array quantities
9.9 Random drawing
9.10 Calendar and tiining utilities
9.11 Miscellaneous
9.12 Standard system classes

10 Input - Output
10.1  The class "file"
10.2  Structure of file subclasses
10.3  Imagefiles
10.4  The class "infile"
10.5  The class "outfile"
10.6  The class "directfile"
10.7  The class "printlile"
10.8  Bytefiles
10.9  The class "inbytefle"
10.10  The class "outbytefile"
10.11  The class "directbytefile"

11 Class Simset
11.1 Class "linkage"
11.2 Class link
11.3 Class head

12 Class Simulation
12.1 Class process
12.2 Activation statement
12.3 Procedure ACTIVATE
12.4 Sequencing procedures
12.5 The main (simlulation)
12.6 The procedure ACCUM

App. A: SIMULA Syntax

App. B: Implementation aspects

App. C: Index of Syntactic Meta-symbols

App. D: Statutes of the SIMULA Standards Group