Языки и методы формальной спецификации (1158803), страница 19
Текст из файла (страница 19)
1.2. Декларативные конструкции 9
1.3. Правила контекста (Scope Rules) 10
1.4. Правила видимости (Visibility Rules) 11
1.5. Перегрузка имен (Overloading) 12
2. Спецификации (Specifications) 15
3. Объявления (Declarations) 15
3.1. Общие положения 15
3.2. Объявление схем (Scheme Declarations) 16
3.3. Объявление типов (Type Declarations) 17
3.3.1. Определение абстрактных типов (Sort Definitions) 17
3.3.2. Определение вариантов (Variant Definitions) 18
3.3.3. Определение объединений (Union Definitions) 18
3.3.4. Определение сокращенной записи (Short Record Definitions) 19
3.3.5. Определение абревиатур (Abbreviation Definitions) 19
3.4. Объявление функций (Value Declarations) 20
3.4.1. Прокомментированное указание типа (Commented Typing) 20
3.4.2. Явное определение констант (Explicit Value Definitions) 20
3.4.3. Неявное определение констант (Implicit Value Definitions) 21
3.4.4. Явное определение функций (Explicit Function Definitions) 21
3.4.5. Неявное определение функций (Implicit Function Definitions) 25
3.5. Объявление переменных (Variable Declarations) 27
3.6. Объявление каналов (Channel Declarations) 29
3.7. Объявление аксиом (Axiom Declarations) 30
4. Описание классов (Class Expressions) 31
4.1. Общие положения 31
4.2. Базисные классы (Basic Class Expressions) 33
4.3. Расширяющие классы (Extending Class Expressions) 33
4.4. Определяемые операции (Defined Items) 33
5. Описание типов (Type Expressions) 34
5.1. Общие положения 34
5.2. Предопределенные типы (Type Literals) 36
5.3. Имена (Names) 37
5.4. Декартово произведение типов (Product type expressions) 37
5.5. Множественные типы (Set type expressions) 38
5.6. Типы списки (List type expressions) 38
5.7. Типы отображения (Map type expressions) 39
5.8. Функциональные типы (Function type expressions) 40
5.9. Подтипы (Subtype Expressions) 41
5.10. Типовое выражение в скобках (Bracketed Type Expressions) 42
5.11. Описания доступа (Access Descriptions) 42
6. Value Expressions (выражения) 45
6.1. Общие замечания 45
6.2. Литералы (Value Literals) 49
6.3. Имена 49
6.4. Пред-имена (Pre-names) 50
6.5. Базисные выражения (Basic Expressions) 50
6.6. Декартовы произведения (Product Expressions) 51
6.7. Множественные выражения (Set expressions) 51
6.7.1. Множества, заданные диапазоном (Ranged Set Expressions) 51
6.7.2. Множества, заданные перечислением (Enumerated Set Expressions) 52
6.7.3. Сокращенные множественные выражения (Comprehended Set Expressions) 53
6.8. Выражения, задающие списки (List expressions) 54
6.8.1. Списки, заданные диапазоном (Ranged List Expressions) 54
6.8.2. Списки, заданные перечислением (Enumerated List Expressions) 54
6.8.3. Сокращенные выражения для списков (Comprehended List Expressions) 55
6.9. Выражения, задающие отображения (Map expressions) 56
6.9.1. Отображения, заданные перечислением (Enumerated Map Expressions) 56
6.9.2. Сокращенные выражения для отображений (Comprehended Map Expressions) 57
6.10. Аппликативные выражения (Application Expressions) 58
6.11. Квантифицированные выражения (Quantified Expressions) 60
6.12. Выражения эквивалентности (Equivalence Expressions) 61
6.13. Пост-выражения (Post-expressions) 62
6.14. Выражения со снятием неопределенности (Disambiguation Expressions) 64
6.15. Выражения в скобках (Bracketed Expressions) 64
6.16. Инфиксные выражения (Infix Expressions) 65
6.16.1. Операторные инфиксные выражения (Statement Infix Expressions) 65
6.16.2. Аксиоматические инфиксные выражения (Axiom Infix Expressions) 66
6.16.3. Инфиксные выражения (Value Infix Expressions) 66
6.17. Префиксные выражения (Prefix Expressions) 66
6.17.1. Аксиоматические префиксные выражения (Axiom Prefix Expressions) 67
6.17.2. Универсальные префиксные выражения (Universal Prefix Expressions) 67
6.17.3. Префиксные выражения (Value Prefix Expressions) 68
6.18. Сокращенные выражения (Comprehended Expressions) 68
6.19. Инициализирующие выражения (Initialise Expressions) 69
6.20. Выражения присваивания (Assignment Expressions) 70
6.21. Input-выражения (Input Expressions) 70
6.22. Output-выражения (Output Expressions) 71
6.23. Составные выражения (Structured Expressions) 71
6.23.1. Локальные выражения (Local Expressions) 71
6.23.2. Let-выражения (Let Expressions) 72
6.23.3. If- выражения (If Expressions) 74
6.23.4. Case-выражения (Case Expressions) 75
6.23.5. While-выражения (While Expressions) 76
6.23.6. Until-выражения (Until Expressions) 77
6.23.7. For-выражения (For Expressions) 77
7. Связывания (Bindings) 77
8. Указания типа (Typings) 78
9. Patterns (образцы) 80
9.1. Общие замечания 80
9.2. Литеральные значения (Value Literals) 81
9.3. Имена (Names) 81
9.4. Универсальные образцы (Wildcard Patterns) 81
9.5. Образцы декартовы произведения (Product Patterns) 82
9.6. Образцы записи (Record Patterns) 82
9.7. Образцы списки (List Patterns) 83
9.7.1. Образцы списки, заданные перечислением (Enumerated List Patterns) 83
9.7.2. Образцы списки, заданные конкатенацией (Concatenated List Patterns) 84
9.8. Внутренние образцы (Inner Patterns) 85
9.8.1. Идентификаторы или операции (Identifiers or Operators) 85
9.8.2. Образцы равенства (Equality Patterns) 85
10. Имена 86
10.1. Общие замечания 86
10.2. Идентификаторы (Identifiers) 86
10.3. Операции (Operators) 86
11. Идентификаторы и операции 87
11.1. Общие замечания 87
11.2. Инфиксные операции (Infix Operators) 89
11.3. Префиксные операции (Prefix Operators) 94
12. Связки 96
12.1. Инфиксные связки (Infix Connectives) 96
12.2. Префиксные связки (Prefix Connectives) 97
13. Инфиксные комбинаторы (Infix Combinators) 98
Литература для дополнительного чтения 102
Приложения 103
1 Как уже отмечалось, далее объекты RSL рассматриваться не будут.
108