-
Key: QVT-74
-
Legacy Issue Number: 10610
-
Status: closed
-
Source: Model Driven Solutions ( Dr. Edward Willink)
-
Summary:
The extension to oclExpressionCS affects all cases where OCL expressions are invoked. Since the "| (<oclExpressionCS> ';')*" term
covers epsilon, this introduces near catastrophic parsing ambiguities and meaningless syntax for existing usage.Suggest: restrict the semi-colon separated extension to the extended syntax where it has useful semantic meaning. Permitting the
final semi-colon to be omitted seem needlessly generous/confusing/complicated. Therefore:Replace: <oclExpressionCS> ::= <propertyCallExpCS>
<variableExpCS> <literalExpCS> <letExpCS> <ifExpCS> <template> '(' <oclExpressionCS> ')' (<oclExpressionCS> ';')*
By: <oclExpressionCS> ::= <propertyCallExpCS><variableExpCS> <literalExpCS> <letExpCS> <ifExpCS> <template> '(' <oclExpressionCS> ')'
<oclStatementCS> ::= (<oclExpressionCS> ';')*and use this new construct as:
Replace: <when> ::= 'when' '
{' <oclExpressionCS> '}'
By: <when> ::= 'when' '{' <oclStatementCS> '}'
Replace: <where> ::= 'where' '{' <oclExpressionCS> '}'
{' <oclStatementCS> '}'
By: <where> ::= 'where' '
In <domain>
Replace: '{' <propertyTemplate>* '}' [ '{' <oclExpressionCS> '}' ]
By: '{' <propertyTemplate>* '}' [ '{' <oclStatementCS> '}' ]
In <query>
{' <oclExpressionCS> '}
Replace: ';' | ''
{' <oclStatementCS> '}
By: ';' | ''
-
Reported: QVT 1.0b1 — Sun, 21 Jan 2007 05:00 GMT
-
Disposition: Resolved — QVT 1.0
-
Disposition Summary:
Replace the content of section 7.13.1 and 7.13.2 by the new content given in Appendix A of this report. This new content is the updated grammar correcting typos and other mistakes.
-
Updated: Fri, 6 Mar 2015 22:55 GMT