VDM-10 Language Manual
VDM-10 Language Manual
VDM-10 Language Manual
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Appendix A. The Syntax of the <strong>VDM</strong> <strong>Language</strong>s<br />
externals = ‘ext’, var information, { var information } ;<br />
var information = mode, name list, [ ‘:’, type ] ;<br />
mode = ‘rd’ | ‘wr’ ;<br />
exceptions = ‘errs’, error list ;<br />
error list = error, { error } ;<br />
error = identifier, ‘:’, expression, ‘->’, expression ;<br />
A.6.6<br />
Instance Variable Definitions (<strong>VDM</strong>++ and <strong>VDM</strong>-RT)<br />
instance variable definitions = ‘instance’, ‘variables’,<br />
[ instance variable definition,<br />
{ ‘;’, instance variable definition } ] ;<br />
instance variable definition = access assignment definition<br />
| invariant definition ;<br />
access assignment definition = ([ access ], [ ‘static’ ]) | ([ ‘static’ ], [ access ]),<br />
assignment definition ;<br />
invariant definition = ‘inv’, expression ;<br />
A.6.7<br />
Synchronization Definitions (<strong>VDM</strong>++ and <strong>VDM</strong>-RT)<br />
synchronization definitions = ‘sync’, [ synchronization ] ;<br />
synchronization = permission predicates ;<br />
permission predicates = permission predicate,<br />
{ ‘;’, permission predicate } ;<br />
permission predicate = ‘per’, name, ‘=>’, expression<br />
| mutex predicate ;<br />
mutex predicate = ‘mutex’, ‘(’, ‘all’, ‘)’<br />
| ‘mutex’, ‘(’, name list ‘)’ ;<br />
181