Sha256: f62f44c0ce201b6dfbacdbb85d81706915a21eec407df2508ec6cc78d3ba0561
Contents?: true
Size: 1.13 KB
Versions: 1
Compression:
Stored size: 1.13 KB
Contents
/* An EBNF grammar for EBNF */ [1] ebnf ::= (declaration | rule)* [2] declaration ::= '@terminals' | '@pass' [3] rule ::= lhs '::=' expression [4] lhs ::= '[' SYMBOL ']' SYMBOL [5] expression ::= alt [6] alt ::= seq ('|' seq)* [7] seq ::= diff+ [8] diff ::= postfix ('-' postfix)* [9] postfix ::= primary ( [?*+] )? [10] primary ::= HEX | RANGE | ENUM | O_RANGE | O_ENUM | STRING1 | STRING2 | '(' expression ')' @terminals [11] SYMBOL ::= ([a-z] | [A-Z] | [0-9] | "_")+ [12] HEX ::= '#x' ([0-9] | [a-f] | [A-F])+ [13] RANGE ::= '[' CHAR '-' CHAR ']' [14] ENUM ::= '[' CHAR+ ']' [15] O_RANGE ::= '[^' CHAR '-' CHAR ']' [16] OENUM ::= '[^' CHAR+ ']' [17] STRING1 ::= '"' (CHAR - '"')* '"' [18] STRING2 ::= "'" (CHAR - "'")* "'" [19] CHAR ::= HEX | ('\\' [\\trn'"]) | [^\t\r\n'"] @pass ::= ( [#x20\t\r\n] | )+
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ebnf-0.0.1 | etc/ebnf.bnf |