<strong>VDM</strong>-<strong>10</strong> <strong>Language</strong> <strong>Manual</strong> char inequality, 11 function inequality, 29 map inequality, 19 numeric inequality, 9 optional inequality, 26 quote inequality, 11 quote value, 11 record inequality, 24 sequence inequality, 16 set inequality, 14 token inequality, 12 tuple inequality, 22 union inequality, 26 , 6 = boolean equality, 6 char equality, 11 function equality, 29 map equality, 19 numeric equality, 9 optional equality, 26 quote equality, 11 record equality, 24 sequence equality, 16 set equality, 14 token equality, 12 tuple equality, 22 union equality, 26 >=, 9 >, 9 [] optional type, 26 sequence enumeration, 16 [|] sequence comprehension, 16 & map comprehension, 18 sequence comprehension, 16 set comprehension, 13 \, 14 ˆ, 16 {} map enumeration, 18 set enumeration, 13 {|} map comprehension, 18 set comprehension, 13 bool, 6 char, 11 false, 6 int, 8 is not yet specified functions, 36 operations, 90 is subclass responsibility functions, 36 operations, 90 nat1, 8 nat, 8 rat, 8 real, 8 token, 12 true, 6 Absolute value, 9 access, 35, 174 access assignment definition, 83, 179 access function definition, 35, 176 access operation definition, 89, 178 access type definition, 174 access value definition, 81, 176 act expression, 66, 190 active expression, 66, 190 all expression, 49, 186 always statement, 115, 194 and, 185 any module, 151, 171 applicator, 204 apply, 57, 188, 204 arithmetic abs, 183 arithmetic divide, 185 arithmetic infix operator, 205 arithmetic integer division, 185 214
INDEX arithmetic minus, 185 arithmetic mod, 185 arithmetic multiplication, 185 arithmetic plus, 185 arithmetic prefix operator, 205 arithmetic rem, 185 assign statement, <strong>10</strong>1, 192 assignment definition, 83, <strong>10</strong>0, 192 base class membership expression, 64 basic type, 174 Biimplication, 6 binary expression, 45, 184 binary operator, 45, 184 bind, 79, 195 bind list, 49, 79, 195 block statement, <strong>10</strong>0, 192 Boolean, 6 boolean literal, 200 bracketed expression, 182 bracketed type, 174 call statement, 112, 193 Cardinality, 14 cases expression, 46, 182 cases expression alternative, 46, 182 cases expression alternatives, 46, 182 cases statement, <strong>10</strong>5, 192 cases statement alternative, <strong>10</strong>5, 192 cases statement alternatives, <strong>10</strong>5, 192 Char, 11 character literal, 200 class, 128, 173 class body, 125, 128, 173 class membership expression, 64 combinator, 204 composite type, 23, 175 composition, 186, 204 Concatenation, 16 Conjunction, 6 connective, 206 cycles statement, 123, 193 dcl statement, <strong>10</strong>0, 192 decimal literal, 200 def expression, 44, 182 def statement, 99, 191 definition block, 125, 128, 151, 173 Difference numeric, 9 set, 14 discretionary type, 29, 36, 90, 175 Disjunction, 6 Distribute merge, 19 Distributed concatenation, 16 Distributed intersection, 14 distributed map merge, 184 distributed sequence concatenation, 184 distributed set intersection, 183 distributed set union, 183 Distributed union, 14 Division, 9 document, 125, 151, 171, 173 Domain, 19 Domain restrict by, 19 Domain restrict to, 19 duration statement, 122, 193 Elements, 16 elseif expression, 46, 182 elseif statement, <strong>10</strong>5, 192 equal, 185 Equality boolean type, 6 char, 11 function type, 29 map type, 19 numeric type, 9 optional type, 26 quote type, 11 record, 24 sequence type, 16 set type, 14 token type, 12 tuple, 22 215
- Page 1 and 2:
Overture - Open-source Tools for Fo
- Page 3 and 4:
Contents 1 Introduction 1 1.1 The V
- Page 5 and 6:
CONTENTS 13 Statements 97 13.1 Let
- Page 7 and 8:
CONTENTS A.7.19 The Undefined Expre
- Page 9 and 10:
Chapter 1 Introduction The Vienna D
- Page 11 and 12:
Chapter 2 Concrete Syntax Notation
- Page 13 and 14:
Chapter 3 Data Type Definitions As
- Page 15 and 16:
Chapter 3. Data Type Definitions We
- Page 17 and 18:
Chapter 3. Data Type Definitions Op
- Page 19 and 20:
Chapter 3. Data Type Definitions (a
- Page 21 and 22:
Chapter 3. Data Type Definitions
- Page 23 and 24:
Chapter 3. Data Type Definitions Op
- Page 25 and 26:
Chapter 3. Data Type Definitions Op
- Page 27 and 28:
Chapter 3. Data Type Definitions Op
- Page 29 and 30:
Chapter 3. Data Type Definitions m1
- Page 31 and 32:
Chapter 3. Data Type Definitions Sy
- Page 33 and 34:
Chapter 3. Data Type Definitions Th
- Page 35 and 36:
Chapter 3. Data Type Definitions
- Page 37 and 38:
Chapter 3. Data Type Definitions to
- Page 39 and 40:
Chapter 3. Data Type Definitions
- Page 41 and 42:
Chapter 4 Algorithm Definitions In
- Page 43 and 44:
Chapter 5 Function Definitions In t
- Page 45 and 46:
Chapter 5. Function Definitions Not
- Page 47 and 48:
Chapter 5. Function Definitions Thi
- Page 49 and 50:
Chapter 6 Expressions In this subse
- Page 51 and 52:
Chapter 6. Expressions ✡✝ mk_Sc
- Page 53 and 54:
Chapter 6. Expressions Examples: Th
- Page 55 and 56:
Chapter 6. Expressions where e1 is
- Page 57 and 58:
Chapter 6. Expressions all expressi
- Page 59 and 60:
Chapter 6. Expressions where bd is
- Page 61 and 62:
Chapter 6. Expressions 6.8 Sequence
- Page 63 and 64:
Chapter 6. Expressions where all th
- Page 65 and 66:
Chapter 6. Expressions mu operator.
- Page 67 and 68:
Chapter 6. Expressions new expressi
- Page 69 and 70:
Chapter 6. Expressions Examples: Us
- Page 71 and 72:
Chapter 6. Expressions which will r
- Page 73 and 74:
Chapter 6. Expressions Examples: As
- Page 75 and 76:
Chapter 6. Expressions • #active(
- Page 77 and 78:
Chapter 6. Expressions ✞ state si
- Page 79 and 80:
Chapter 6. Expressions Semantics: A
- Page 81 and 82:
Chapter 7 Patterns Syntax: pattern
- Page 83 and 84:
Chapter 7. Patterns In the followin
- Page 85 and 86:
Chapter 7. Patterns ✡✝ ✆ The
- Page 87 and 88:
Chapter 8 Bindings Syntax: bind = s
- Page 89 and 90:
Chapter 9 Value (Constant) Definiti
- Page 91 and 92:
Chapter 10 Instance Variables (VDM+
- Page 93 and 94:
Chapter 11 The State Definition (VD
- Page 95 and 96:
Chapter 11. The State Definition (V
- Page 97 and 98:
Chapter 12 Operation Definitions Op
- Page 99 and 100:
Chapter 12. Operation Definitions s
- Page 101 and 102:
Chapter 12. Operation Definitions p
- Page 103 and 104:
Chapter 12. Operation Definitions h
- Page 105 and 106:
Chapter 13 Statements In this secti
- Page 107 and 108:
Chapter 13. Statements ✡✝ def t
- Page 109 and 110:
Chapter 13. Statements block return
- Page 111 and 112:
Chapter 13. Statements Examples: Th
- Page 113 and 114:
Chapter 13. Statements elseif state
- Page 115 and 116:
Chapter 13. Statements ‘do’, st
- Page 117 and 118:
Chapter 13. Statements 13.7 The Whi
- Page 119 and 120:
Chapter 13. Statements ✡✝ (dcl
- Page 121 and 122:
Chapter 13. Statements ✞ ✡✝ R
- Page 123 and 124:
Chapter 13. Statements where expres
- Page 125 and 126:
Chapter 13. Statements result of th
- Page 127 and 128:
Chapter 13. Statements ✡✝ else
- Page 129 and 130:
Chapter 13. Statements ✞ bootSequ
- Page 131 and 132:
Chapter 13. Statements ✞ op1 : na
- Page 133 and 134:
Chapter 14 Top-level Specification
- Page 135 and 136:
Chapter 14. Top-level Specification
- Page 137 and 138:
Chapter 14. Top-level Specification
- Page 139 and 140:
Chapter 14. Top-level Specification
- Page 141 and 142:
Chapter 14. Top-level Specification
- Page 143 and 144:
Chapter 14. Top-level Specification
- Page 145 and 146:
Chapter 15 Synchronization Constrai
- Page 147 and 148:
Chapter 15. Synchronization Constra
- Page 149 and 150:
Chapter 15. Synchronization Constra
- Page 151 and 152:
Chapter 15. Synchronization Constra
- Page 153 and 154:
Chapter 16 Threads (VDM++ and VDM-R
- Page 155 and 156:
Chapter 16. Threads (VDM++ and VDM-
- Page 157 and 158:
Chapter 16. Threads (VDM++ and VDM-
- Page 159 and 160:
Chapter 17 Top-level Specification
- Page 161 and 162:
Chapter 17. Top-level Specification
- Page 163 and 164:
Chapter 17. Top-level Specification
- Page 165 and 166:
Chapter 17. Top-level Specification
- Page 167 and 168:
Chapter 17. Top-level Specification
- Page 169 and 170:
Chapter 18 Trace Definitions In ord
- Page 171 and 172: Chapter 18. Trace Definitions stack
- Page 173 and 174: Chapter 19 Static Semantics VDM spe
- Page 175 and 176: Chapter 20 Scope Conflicts (VDM++ a
- Page 177 and 178: References [Ada LRM] [Bicarregui&94
- Page 179 and 180: Chapter 20. Scope Conflicts (VDM++
- Page 181 and 182: Appendix A The Syntax of the VDM La
- Page 183 and 184: Appendix A. The Syntax of the VDM L
- Page 185 and 186: Appendix A. The Syntax of the VDM L
- Page 187 and 188: Appendix A. The Syntax of the VDM L
- Page 189 and 190: Appendix A. The Syntax of the VDM L
- Page 191 and 192: Appendix A. The Syntax of the VDM L
- Page 193 and 194: Appendix A. The Syntax of the VDM L
- Page 195 and 196: Appendix A. The Syntax of the VDM L
- Page 197 and 198: Appendix A. The Syntax of the VDM L
- Page 199 and 200: Appendix A. The Syntax of the VDM L
- Page 201 and 202: Appendix A. The Syntax of the VDM L
- Page 203 and 204: Appendix A. The Syntax of the VDM L
- Page 205 and 206: Appendix A. The Syntax of the VDM L
- Page 207 and 208: Appendix B Lexical Specification B.
- Page 209 and 210: Appendix B. Lexical Specification B
- Page 211 and 212: Appendix B. Lexical Specification S
- Page 213 and 214: Appendix C Operator Precedence The
- Page 215 and 216: Appendix C. Operator Precedence eva
- Page 217 and 218: Appendix C. Operator Precedence pre
- Page 219 and 220: Appendix D Differences between the
- Page 221: Index abs, 9 and, 6 card, 14 comp f
- Page 225 and 226: INDEX boolean type, 6 char, 11 func
- Page 227 and 228: INDEX sequence enumeration, 53, 187