-
-
Notifications
You must be signed in to change notification settings - Fork 36
Closed
Labels
Agenda+Requested for upcoming teleconferenceRequested for upcoming teleconferenceresolve-candidateThis issue appears to have been answered or resolved, and may be closed soon.This issue appears to have been answered or resolved, and may be closed soon.syntaxIssues related with syntax or ABNFIssues related with syntax or ABNF
Description
Our current grammar for markup is this:
markup = "{" [s] "#" identifier *(s option) *(s attribute) [s] "}" ; open
/ "{" [s] "#" identifier *(s option) *(s attribute) [s] "/}" ; standalone
/ "{" [s] "/" identifier *(s option) *(s attribute) [s] "}" ; closeThat's what it looks like after adding adding options to close.
But the issue is independent.
I would like to make the case that the first space after { is not only unnecessary, but somewhat problematic.
It forces us into a (possibly big) lookahead.
We see the{, and then we might have to "consume" a lot of spaces to know where we are (markup or expression)
I decided to strikethrough because it is the least compelling argument. It is not about the parsing, at all. [mihnita]- The open / close attribute is something associated to the whole markup, not the identifier.
It is this whole marker that is standalone or close, not the attribute - It is somewhat internally inconsistent.
The/at the end of the standalone is tied with the closing}, there is no[s]in between them.
This was true before PR Add options to close (spec) #649, but it is more visible now. - It is even invalid in HTML and XML.
None of this works:< b>and< /b>and</ b>
Metadata
Metadata
Assignees
Labels
Agenda+Requested for upcoming teleconferenceRequested for upcoming teleconferenceresolve-candidateThis issue appears to have been answered or resolved, and may be closed soon.This issue appears to have been answered or resolved, and may be closed soon.syntaxIssues related with syntax or ABNFIssues related with syntax or ABNF