Backus–Naur Form (BNF) is a notation that formally defines a context free grammar.
Extended Backus–Naur Form (EBNF) was adopted as ISO 14977.
1. Introduction — Python documentation
IETF defines Augmented BNF (ABNF) to be used in RFC documents.
BNF and EBNF: What are they and how do they work?
Grammar: The language of languages (BNF, EBNF, ABNF and more)
http://www.cs.cmu.edu/~pattis/misc/ebnf.pdf
BNF/EBNF variants compares the syntax of different dialects
Parser
Create Your Own Expression Parser - Level Up Coding
cosinekitty/parser: Parse math expressions and render them using MathJax.
Expression Parser Demo
Introduction - 1.67.0
PEG Parsing Series Overview. My series of blog posts about PEG… | by Guido van Rossum | Medium
Tree-sitter | Introduction parse invalid text
Visualizer
Railroad Diagram Generator
EBNF Parser & Syntax Diagram Renderer [karmin.ch]