Skip to content

Instantly share code, notes, and snippets.

@conartist6
Last active September 9, 2023 13:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save conartist6/dcfe8f3c76fabf3d7343308e60c736d0 to your computer and use it in GitHub Desktop.
Save conartist6/dcfe8f3c76fabf3d7343308e60c736d0 to your computer and use it in GitHub Desktop.
Proposal: tagType.parser
<!docype cstml>
<!parsers>
<CSTML "https://url/to/grammar"/>
<Regex "https://url/to/re/grammar"/>
</>
<CSTML:TokenTag [Tag]>
<| Punctuator "<|" balanced="|>" startSpan="Tag" |>
<Identifier path="tagName">
<| Identifier "ID" |>
</>
<| Trivia " " |>
<RegexMatcher [ValueMatcher] path="value">
<Regex:Regex [Regex] path="value">
<| Punctuator "/" balanced="/" startSpan="Expression" |>
<Pattern [Pattern] path="pattern">
<Alternative [Alternative] path="alternatives">
<Character [Element] path="elements">
<| Literal "a" |>
</>
</>
</>
<| Punctuator "/" endSpan="Expression" |>
</Regex:>
</>
<| Punctuator "|>" endSpan="Tag" |>
</CSTML:>
<!docype cstml>
<!parsers>
<JS "https://url/to/grammar"/>
<Regex "https://url/to/re/grammar"/>
</>
<JS:ExpressionStatement [Statement]>
<RegExpLiteral [Expression] path="expression">
<| Punctuator "/" balanced="/" startSpan="Expression" |>
<Regex:Pattern [Pattern] path="pattern">
<Alternative [Alternative] path="alternatives">
<Character [Element] path="elements">
<| Literal "a" |>
</>
</>
</Regex:>
<| Punctuator "/" endSpan="Expression" |>
</>
</JS:>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment