Legacy Issue Number: 10439
Source: NIST ( Peter Denno)
Recommendation: The specification would be better were it to additionally
describe a practical grammar useful to tool implementors and persons trying
to understand what constitutes legal OCL syntax. Of course, we all know that
even practical OCL grammars are permissive of strings that aren't meaningful
(for example, 7->isEmpty() is typically legal) but more can be done than is
expressed by the current description. I am not suggesting that you replace
the current method of description, but that you add (perhaps only as an
informative, non-normative appendix) a conventional grammar. The spec, after
all, is supposed to serve the purposes of implementors.
There are published papers describing practical grammars for OCL, or I can
supply you with one, if you'd like.
PS By "practical grammar" I mean one that limits the look-ahead to a finite
number wherever possible. It is, of course, the use of OclExpression in the
RHS of so many productions that runs up against the infinite look-ahead
problem, and makes the published grammar unusable by implementors.
Reported: OCL 2.0 — Thu, 2 Nov 2006 05:00 GMT
Updated: Thu, 8 Oct 2015 14:12 GMT