Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[mdt-ocl.dev] Rationalised OCL String Concrete Syntax and Reserved Names

Hi

Does anyone want to revise the attached before I submit it as an OMG issue
and realise it in grammar revisions resolving a variety of bugzillas and OCL 2.1 deltas?

Incompatible changes to MDT-OCL:

String literals must use exactly the single quote character; no acutes or graves.

Doubled single quote escapes for string literals replaced by escape sequences.

Punctuation is no longer a name e.g. a.+(b) must be written a."+"(b).

Compatible changes to MDT-OCL

The double quoted form of an arbitrary name is endorsed.

An escaping mechanism is defined for single/double quoted strings. Similar to the
C-like escapes for double quotes, plus \xhh, \uhhhh.

Unicode identifiers are defined.

Many more reserved words.

[While supporting qualified names, I restructured the grammar to sort out name conflicts
and discovered that many non-reserved words are currently reserved. I managed to make them
all unreserved as specified but realised how stupid it was to support

    let false : false = true in self.true = false

where true and false are monstrously redefined user names.]

    Regards

       Ed Willink


Attachment: StringConcreteSyntax.odt
Description: application/vnd.oasis.opendocument.text


Back to the top