Syntactic ambiguities impact code completion
Three alternatives start with "( DataUse ... " which is also recursive:
- DataElementUse: when no DataElement is specified
- PredefinedFunctionCall: binary functions
- CastDataUse
To resolve the ambiguities, syntactic predicates are used which seem to cause issues with auto-completion (see also &3, #4, #122).
To avoid the need for syntactic predicates, the ambiguities need to be resolved in the grammar and the specification, Part 8, Clauses 6.2.39 and 6.2.40, meaning:
- new [DataType] will be mandatory (currently optional)
- Casting will specify the data type first, e.g. (<DataType> DataUse)
Predefined function can remain as they are for the time being (new issue may be added to streamline them as well).