I am currently in the process of moving parsing of durations and pitches
into the lexer instead of the parser (because parser lookahead causes
tricky problems, and things like c'''' and c4.... can't be parsed
without lookahead: any number of ' and/or . may still follow).
One really ugly problem is interpreting things like "4.". Looks like a
duration, but then we have
input/regression/dynamics-broken-hairpin.ly: line-width = 4.\cm
I propose that a decimal dot has to be followed by at least one digit.
Maybe also preceded by at least one digit (disallowing things like
.5\cm) though this is less important syntactically.