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 />
A.9.5<br />
A.9.6<br />
The Nondeterministic Statement<br />
nondeterministic statement = ‘||’, ‘(’, statement,<br />
{ ‘,’, statement }, ‘)’ ;<br />
Call and Return Statements<br />
In <strong>VDM</strong>-SL a call statement looks like:<br />
call statement = name, ‘(’,<br />
[ expression list ], ‘)’ ;<br />
In <strong>VDM</strong>++ and <strong>VDM</strong>-RT a call statement looks like:<br />
A.9.7<br />
A.9.8<br />
A.9.9<br />
call statement = [ object designator, ‘.’ ],<br />
name, ‘(’, [ expression list ], ‘)’, ;<br />
object designator = name<br />
| self expression<br />
| new expression<br />
| object field reference<br />
| object apply ;<br />
object field reference = object designator, ‘.’, identifier ;<br />
object apply = object designator, ‘(’, [ expression list ], ‘)’ ;<br />
return statement = ‘return’, [ expression ] ;<br />
The Specification Statement<br />
specification statement = ‘[’, implicit operation body, ‘]’ ;<br />
Start and Start List Statements (<strong>VDM</strong>++ and <strong>VDM</strong>-RT)<br />
start statement = ‘start’, ‘(’, expression, ‘)’ ;<br />
start list statement = ‘startlist’, ‘(’, expression, ‘)’ ;<br />
The Duration and Cycles Statements (<strong>VDM</strong>-RT)<br />
duration statement = ‘duration’, ‘(’, numeric literal, ‘)’,<br />
statement ;<br />
cycles statement = ‘cycles’, ‘(’, numeral, ‘)’,<br />
statement ;<br />
195