Line = Level D [Xref D] Tag [D LineVal] EOL
LineVal = pointer / lineStr
lineStr = (nonAt / atsign atsign) *nonEOL ; leading @ doubled
Note that an empty LineVal is not possible: empty LineVals must be omitted.
We have empty LineVals in spaces.ged too, with NOTEs identifying them as intentional. I don't know why we have that, so I have not included fixing that in this commit.
Dangling spaces are forbidden by ABNF
The relevant parts of section 1.3 of the spec are
Note that an empty LineVal is not possible: empty LineVals must be omitted.
We have empty LineVals in spaces.ged too, with NOTEs identifying them as intentional. I don't know why we have that, so I have not included fixing that in this commit.