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:
1. new \[DataType\] will be mandatory (currently optional)
2. 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).
issue