25.07.2014 Views

VDM-10 Language Manual

VDM-10 Language Manual

VDM-10 Language Manual

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>VDM</strong>-<strong>10</strong> <strong>Language</strong> <strong>Manual</strong><br />

A.6.8<br />

A.6.9<br />

Thread Definitions (<strong>VDM</strong>++ and <strong>VDM</strong>-RT)<br />

thread definitions = ‘thread’, [ thread definition ] ;<br />

thread definition = periodic thread definition<br />

| procedural thread definition ;<br />

periodic thread definition = periodic obligation ;<br />

periodic obligation = ‘periodic’,‘(’, numeral, numeral, numeral,<br />

numeral, ‘)’, ‘(’, name, ‘)’ ;<br />

procedural thread definition = statement ;<br />

Trace Definitions<br />

traces definitions = ‘traces’, { named trace } ;<br />

named trace = identifier, { ‘/’, identifier }, ‘:’, trace definition list ;<br />

trace definition list = trace definition term, { ‘;’, trace definition term } ;<br />

trace definition term = trace definition<br />

| trace definition term, ‘|’, trace definition ;<br />

trace definition = trace core definition<br />

| trace bindings, trace core definition<br />

| trace core definition, trace repeat pattern<br />

| trace bindings, trace core definition, trace repeat pattern ;<br />

trace core definition = trace apply expression<br />

| trace bracketed expression ;<br />

trace apply expression = call statement ;<br />

trace repeat pattern = ‘*’<br />

| ‘+’<br />

| ‘?’<br />

| ‘{’, numeric literal, ‘}’<br />

| ‘{’, numeric literal, ‘,’ numeric literal, ‘}’ ;<br />

trace bracketed expression = ‘(’, trace definition list, ‘)’ ;<br />

trace bindings = trace binding, { trace binding } ;<br />

trace binding = ‘let’, local definitions, { ‘,’, local definition }, ‘in’<br />

| ‘let’, multiple bind, ‘in’<br />

| ‘let’, multiple bind, ‘be’, ‘st’, expression, ‘in’ ;<br />

182

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

Saved successfully!

Ooh no, something went wrong!