Bentuk Backus–Naur

Bentuk Backus–Naur (juga dikenali sebagai BNF, Formalisme Backus–Naur, Bentuk Backus Normal, atau Bentuk Panini–Backus) ialah metasintaksis yang digunakan untuk menyatakan tatabahasa bebas konteks, iaitu cara formal untuk menghuraikan bahasa formal.

BNF digunakan secara meluas sebagai notasi tatabahasa untuk bahasa pengaturcaraan, set arahan, dan protokol komunikasi, serta juga sebagai notasi untuk mewakili bahagian tatabahasa bahasa sejadi, umpamanya meter dalam puisi Sanskrit. Kebanyakan buku teks tentang teori bahasa pengaturcaraan dan/atau semantik mendokumenkan bahasa pengaturcaraan dalam BNF. Terdapat banyak perluasan dan kelainan BNF.

Pengenalan 
Setiap tentuan BNF ialah satu set petua terbitan yang ditulis seperti berikut
 <simbol> ::= __sebutan__

di mana <simbol> adalah bukan terminal, dan __sebutan__ terdiri daripada satu atau lebih jujukan simbol; jujukan yang lebih banyak dipisahkan oleh bar menegak, '|', menandakan pilihan, secara keseluruhan adalah pengganti yang mungkin bagi yang di sebelah kiri. Simbol yang yang tidak pernah muncul di sebelah kiri adalah terminal. Sebaliknya, simbol yang ada di sebelah kiri adalah bukan terminal dan sentiasa terkurung di dalam <>.

'::=' bermakna simbol yang di sebelah kiri mesti digantikan dengan sebutan di sebelah kanan.

Lihat juga 
 ANTLR, penjana penghurai yang ditulis dalam bahasa pengaturcaraan Java
 Bentuk Backus-Naur Terimbuh (ABNF)
 Bentuk Backus-Naur Terluas (EBNF)
 GNU bison, versi yacc GNU
 Notasi sintaksis Wirth, alternatif kepada BNF sejak dari tahun 1977
 Penghurai GOLD BNF
 Penjana penghurai Yacc, digunakan dengan prapemproses Lex
 Ungkapan nalar

Bahasa formal
Teori penyusun