25.07.2014 Views

VDM-10 Language Manual

VDM-10 Language Manual

VDM-10 Language Manual

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!