I was dusting off the old parser and running it over the sample
test files on the openehr subversion site
dev/adl/test
My parser didn't handle the new 1.4 non-inclusive
intervals, or the new duration stuff - fair enough, so I
have updated it to pass the test archetypes. However, I
have now realise that the location of the > character
in the test archetypes is actually different than the
location in the ADL specs (in some spots).
4.5.2 has the explanation of ranges and does it with
the > after the number.. and 5.4.2.2 has an example of
length matches {|0>..<1000|}
where the test files have this as
length matches {|>0..<1000|}
i.e. the > character comes immediately after the | character.
Also, can we drop the 'infinity'/'*' open ended range thing
from intervals - I don't think anyone uses them, they seem to
add nothing to the expressiveness of the ADL, and it just seems
like a waste to even have them in the grammar (|>=5| seems
to be as clear to me as |5..infinity|)
I think (IMHO) the notation 5..* is very clear, you know what you're
talking about at a glance, I vote to have both notation options to
open intervals in ADL.
I think (IMHO) the notation 5..* is very clear, you know what you're
talking about at a glance, I vote to have both notation options to
open intervals in ADL.
But is 5..infinity necessary as well? That makes 3 ways of saying
the same thing..
=5|
5..*|
5..infinity|
It's not a big deal, but it just adds needless complexity to parsers
and the spec.. I'd vote for the infinity keyword to be dropped and
just have the *, or >= form..
I think (IMHO) the notation 5..* is very clear, you know what you're
talking about at a glance, I vote to have both notation options to
open intervals in ADL.
But is 5..infinity necessary as well? That makes 3 ways of saying
the same thing..
You're right, the use of infinity is not so clear at a glance, it mix
symbols ('5','..') with words.
I think 5..* is the clearest way of the three below (I'm used to this
notation).