Details
-
Type:
Problem Report
-
Status: Open
-
Priority:
Minor
-
Resolution: Unresolved
-
Affects versions: None
-
Fix versions: None
-
Components: BASE - Base Types
-
Labels:None
Description
The syntax for version-ids in [http://openehr.org/releases/BASE/latest/docs/base_types/base_types.html#_syntaxes|http://openehr.org/releases/BASE/latest/docs/base_types/base_types.html#_syntaxes]
may have some issues:
version-id = 'v', non-zero-digit, \[ number ] ;
\[...]
number = digit, \{ digit } ;
\[...]
digit = '0' | nz_digit ;
non-zero-digit = '1' | .. | '9' ;
Problems:
1. version-id seems to disallow v0 ? I think this needs to be allowed? But in a way that 0 is only allowed directly after v if no other digit follows: You MUST NOT be able to construct v01 or v001 or v0001, etc
2. nz_digit = non-zero-digit ? Otherwise nz_digit is not defined
3. Generally in that section, there are some production rules where the EBNF doesn't include commas between the individual terminals and non-terminals, e.g. object_version_id or archetype_id. There may be a reason for that I don't understand, but it seems to me like a mixture of using commas and not to indicate a concatentation is used? I think if you assume implicit concatenation of adjacent symbols (i.e. without using a comma) then it should be done consistently.
may have some issues:
version-id = 'v', non-zero-digit, \[ number ] ;
\[...]
number = digit, \{ digit } ;
\[...]
digit = '0' | nz_digit ;
non-zero-digit = '1' | .. | '9' ;
Problems:
1. version-id seems to disallow v0 ? I think this needs to be allowed? But in a way that 0 is only allowed directly after v if no other digit follows: You MUST NOT be able to construct v01 or v001 or v0001, etc
2. nz_digit = non-zero-digit ? Otherwise nz_digit is not defined
3. Generally in that section, there are some production rules where the EBNF doesn't include commas between the individual terminals and non-terminals, e.g. object_version_id or archetype_id. There may be a reason for that I don't understand, but it seems to me like a mixture of using commas and not to indicate a concatentation is used? I think if you assume implicit concatenation of adjacent symbols (i.e. without using a comma) then it should be done consistently.
Attachments
Issue links
- PR is addressed in
-
SPECBASE-29 Fix version-id syntax issue in ARCHETYPE_ID
-
- In Review
-