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.
A.6.5<br />
Operation Definitions<br />
operation definitions = ‘operations’, [ access operation definition ],<br />
{ ‘;’, access operation definition }, [ ‘;’ ] ;<br />
access operation definition = ( [ ‘async’ ] [ access ], [ ‘static’ ])<br />
| ( [ ‘async’ ] [ ‘static’ ], [ access ]),<br />
operation definition ;<br />
operation definition = explicit operation definition<br />
| implicit operation definition<br />
| extended explicit operation definition ;<br />
explicit operation definition = identifier, ‘:’, operation type,<br />
identifier, parameters,<br />
‘==’, operation body,<br />
[ ‘pre’, expression ],<br />
[ ‘post’, expression ] ,<br />
;<br />
<strong>VDM</strong>-<strong>10</strong> <strong>Language</strong> <strong>Manual</strong><br />
implicit operation definition =<br />
identifier, parameter types,<br />
[ identifier type pair list ],<br />
implicit operation body ;<br />
implicit operation body = [ externals ],<br />
[ ‘pre’, expression ],<br />
‘post’, expression,<br />
[ exceptions ] ;<br />
extended explicit operation definition =<br />
identifier, parameter types,<br />
[ identifier type pair list ],<br />
‘==’, operation body,<br />
[ externals ],<br />
[ ‘pre’, expression ],<br />
[ ‘post’, expression ],<br />
[ exceptions ] ;<br />
operation type = discretionary type, ‘==>’, discretionary type ;<br />
operation body = statement<br />
| ‘is not yet specified’<br />
| ‘is subclass responsibility’<br />
| ‘is not yet specified’ ;<br />
180