BS ISO/IEC 10514-1:1996
Current
The latest, up-to-date edition.
Information technology. Programming languages Modula-2, base language
Hardcopy , PDF
English
15-10-1997
Foreword
Introduction
Section 1 Scope
1.1 Normative references
1.2 Specifications included in this part of
ISO/IEC 10514
1.3 Specification not within the scope of
this part of ISO/IEC 10514
Section 2 Normative references
Section 3 Definitions, Structure and Conventions
3.1 Definitions
3.2 Structure of the Formal Definition
3.3 Conventions
Section 4 Requirements for Implementations
4.1 Translation
4.2 Source Code Representation
4.3 Ordering of Declarations
4.4 Predefined Entities
4.5 Library Modules
4.6 Errors
4.7 Exceptions
4.8 Implementation-dependencies
4.9 Documentation
4.10 Statement of Compliance
4.11 Minimum requirements
Section 5 The Lexis
5.1 Source Code Structure
5.2 Word tokens
5.3 Symbols and Operators
5.4 Constant Literals
5.5 Separators
5.6 Letters and National Characters
Section 6 The Language
6.1 Programs, Program Modules and Separate Modules
6.2 Definitions and Declarations
6.3 Data Types
6.4 Expression and Assignment Compatibility
6.5 Blocks
6.6 Statements
6.7 Variable Designators
6.8 Expressions
6.9 Parameter Compatibility and Argument Binding
6.10 Predefined Types, Standard Procedures
and Standard Functions
6.11 The Environment and Auxiliary Formal
Definitions
6.12 The Storage Model and Auxiliary Formal
Definitions
Section 7 System Modules
7.1 The Module SYSTEM
7.2 The Module COROUTINES
7.3 The Module EXCEPTIONS
7.4 The Module TERMINATION
7.5 The Module M2EXCEPTION
Section 8 Required Library Modules
8.1 The Module Storage
8.2 The Modules LowReal and LowLong
8.3 The Module CharClass
Section 9 Standard Library Modules
9.1 The Mathematical Libraries
9.2 The Input/Output Library
9.3 Concurrent Programming
9.4 The Module Strings
9.5 The String Conversions Library
9.6 The Module SysClock
Section 10 Auxiliary Formal Model Definitions
10.1 Extensions to VDM-SL
10.2 VDM-SL Functions
Annexes
Annex A Minimum Limit Specifications
A.1 The Limit-specification Generators
A.1.1 Length of Identifiers
A.1.2 Length of String Literals
A.1.3 Size of Single Dimension Arrays
A.1.4 Number of Dimensions of Multidimension
Arrays
A.1.5 Depth of Nested Records
A.1.6 Number of Sequential Local Modules
A.1.7 Depth of Nested Local Modules
A.1.8 Number of Enumeration Literals
A.1.9 Number of Sequential Procedure Declarations
A.1.10 Depth of Nested Procedure Declarations
A.1.11 Number of Coroutines
A.1.12 Number of Parameters of a Procedure
A.1.13 Depth of Nested IF-THEN-ELSEs in THEN-
branch
A.1.14 Depth of Nested IF-THEN-ELSEs in Both
Branches
A.1.15 Depth of Nested LOOP Statements
A.1.16 Depth of Nested WHILE Statements
A.1.17 Depth of Nested REPEAT Statements
A.1.18 Depth of Nested FOR Statements
A.1.19 Depth of Nested WITH Statements
A.1.20 Number of CASE Alternatives with ELSE part
A.1.21 Depth of Nested Parentheses in
Expression
A.1.22 Depth of Recursion
A.1.23 Number of Imported Modules
Annex B The Specification of Library Modules
B.1 Components of a Library Module Specification
B.2 Interpretation of a Library Module Specification
Annex C Collected Modula-2 Concrete Syntax
C.1 Programs and Compilation Modules
C.1.1 Programs and Compilation Modules
C.1.2 Program Modules
C.1.3 Definition Modules
C.1.4 Implementation modules
C.1.5 Import Lists
C.1.6 Export lists
C.1.7 Protected Modules
C.2 Definitions and Declarations
C.2.1 Qualified Identifiers
C.2.2 Definitions
C.2.3 Type Definitions
C.2.4 Procedure Headings
C.2.5 Declarations
C.2.6 Constant Declarations
C.2.7 Type Declarations
C.2.8 Variable Declarations
C.2.9 Procedure Declarations
C.2.10 Local Module Declarations
C.3 Data Types
C.3.1 Type Denoters and Ordinal Type Denoters
C.3.2 Type Identifiers
C.3.3 New Types
C.3.4 Enumeration Types
C.3.5 Subrange Types
C.3.6 Set Types
C.3.7 Packedset Types
C.3.8 Pointer Types
C.3.9 Procedure Types
C.3.10 Formal Types
C.3.11 Array Types
C.3.12 Record Types
C.4 Blocks
C.4.1 Proper Procedure Blocks
C.4.2 Function Procedure Blocks
C.4.3 Module Blocks
C.4.4 Block Bodies and Exception Handling
C.5 Statements
C.5.1 Statement Sequences
C.5.2 Empty Statements
C.5.3 Assignment Statements
C.5.4 Procedure Calls
C.5.5 Return Statements
C.5.6 Retry Statements
C.5.7 With Statements
C.5.8 If Statements
C.5.9 Case Statements
C.5.10 While Statements
C.5.11 Repeat Statements
C.5.12 Loop Statements
C.5.13 Exit Statements
C.5.14 For Statements
C.6 Variable Designators
C.6.1 Entire Designators
C.6.2 Indexed Designators
C.6.3 Selected Designators
C.6.4 Dereferenced Designators
C.7 Expressions
C.7.1 Ordinal Expressions
C.7.2 Infix Expressions and Operations
C.7.3 Value Designators
C.7.4 Function Calls
C.7.5 Value Constructors
C.7.6 Constant Literals
C.7.7 Constant Expressions
C.8 Parameter Compatibility and Argument Binding
C.8.1 Actual Parameters
C.9 Lexical components
Annex D Collected Modula-2 Abstract Syntax
Annex E Modula-2 Glossary
Annex F Participating Individuals and Organisations
Index
Gives a rigorous definition of the language Modula-2, together with its standard library by supplying a mathematical model.
Committee |
IST/5
|
DevelopmentNote |
Supersedes 89/64044 DC. (07/2005)
|
DocumentType |
Standard
|
Pages |
726
|
PublisherName |
British Standards Institution
|
Status |
Current
|
Standards | Relationship |
ISO/IEC 10514-1:1996 | Identical |
IEC 60559:1989 | Binary floating-point arithmetic for microprocessor systems |
BS 6154:1981 | Method of defining syntactic metalanguage |
ISO/IEC 10967-1:2012 | Information technology — Language independent arithmetic — Part 1: Integer and floating point arithmetic |
ISO/IEC 13817-1:1996 | Information technology — Programming languages, their environments and system software interfaces — Vienna Development Method — Specification Language — Part 1: Base language |
Access your standards online with a subscription
Features
-
Simple online access to standards, technical information and regulations.
-
Critical updates of standards and customisable alerts and notifications.
-
Multi-user online standards collection: secure, flexible and cost effective.