Skip to content

Backus–Naur Form (BNF)

September 29, 2023
April 13, 2015

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]