Skip to content

Backus–Naur Form (BNF)

January 9, 2025
April 13, 2015

see formal-language for parsers

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

Visualizer

Railroad Diagram Generator
EBNF Parser & Syntax Diagram Renderer [karmin.ch]