Skip to content

Instantly share code, notes, and snippets.

@mevanlc
Last active January 1, 2024 11:17
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 mevanlc/948d5277e85575def5bd1800a5603de6 to your computer and use it in GitHub Desktop.
Save mevanlc/948d5277e85575def5bd1800a5603de6 to your computer and use it in GitHub Desktop.
EBNF for broken `::` comments in dosbatch (SSCCE)
<file> ::= ( <statement> | <comment> | <block> )+
<statement> ::= <anytext>+ "\n"+
<comment> ::= "::" <anytext>+ "\n"+
<block> ::= "(" "\n"+ ( <comment> <statement> | <statement> | <block> )+ ")" "\n"+
<anytext> ::= #"[a-z0-9 ]"
<blockerror> ::= "{" "\n"+ ( <comment> <statement> | <statement> | <block> )+ "}" "\n"+

see https://mdkrajnak.github.io/ebnftest/

"test":

:: ok comment 1
ok statement 2
ok statement 3
:: ok comment 4
:: ok comment 5
ok statement 6
:: ok comment 7
(
:: broken comment 8
:: broken comment 9
ok statement 10
:: ok comment 11
ok statement 12
:: broken comment 13
)
statement ok 14
:: comment ok 15
:: ... etc ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment