EBNF Syntax Highlighter for VimL-class editors (NeoVim, Vim, but not Vi).
This is the better EBNF highlighters than most of the ones I've tried on GitHub.
It covers:
- BNF, Peter Jenk, 1960
- ABNF, IETF RFC 2234, (1997)
- EBNF, ISO/IEC 14977 (1996)
- EBNF, W3C; IETF RFC 4646,RFC 4647
| Style | Name | Rule | Terminal | Non Terminal | Concat | Choice | Optional |
|---|---|---|---|---|---|---|---|
| BNF | BNF (Algol 60) | <name>::=... |
... |
<...> |
'|' |
note1 | |
| Intermediate | ANSI C | name:\n... |
... |
bold | italics | indented line one of | |
| Intermediate | BNF-like description of URLs | name\n ... |
... |
... |
'|' |
[...] |
|
| Wirth | Wirth | name=... . |
... |
... |
[...] |
||
| Wirth | SAIF and Bungisoft | <name>::=... |
... |
<...> |
'|' |
[...] |
|
| Wirth | EBNF from Compiler Basics by J.A.Farrell | name:==... |
'...' |
... |
'|' or [... | ...] |
[...] |
|
| Wirth | Pascal EBNF Definition | name\n... |
...\nbold |
<...> |
'|' |
'[...]' | |
| Wirth | ISO Extended Pascal | name=... .\nname\>... . |
'...' |
... |
',' |
'|' |
[...] |
| Wirth | ISO EBNF | name=...; |
'...'\n... |
... |
',' |
'|' |
[...] |
| ABNF | EBNF from RFC822 (superceded by ABNF) | name=... |
integer\n\"...\" |
...\n<...> |
'/' |
[...] |
|
| ABNF | ABNF (RFC2234) | name=... |
integer\n\"...\" |
...\n<...> |
'/' |
[...] |
Rarely used, yet not a Chomskey Normal Form (CNF) either.
Thanks to @Chubek of GitHub over at https://gist.github.com/Chubek/886580036f37bda5d6023595821afa51