Type: concept
Confidence: 0.90
Created: 2026-04-17
Updated: 2026-04-17
Tags: 技术研究计算理论

BNF

概述

BNF(Backus-Naur Form,巴科斯-诺尔范式)是描述编程语言语法的形式化表示法,由 John Backus 于1959年为 ALGOL 58 发明,后经 Peter Naur 扩展。

关键内容

起源

FORTRAN I 没有形式化的语言规范——语言的语义完全由编译器的行为来定义。当不同厂商开发自己的 FORTRAN 编译器时,由于缺乏精确的规范,不同实现之间出现了大量不兼容性。这一教训直接推动了 Backus 对形式化方法的追求。

1959年,Backus 为 ALGOL 58 报告发明了 Backus 范式,后经 Peter Naur 扩展为 BNF。BNF 后来成为描述编程语言语法的标准工具,几乎所有现代语言规范都使用 BNF 或其变体。

形式

BNF 使用产生式规则描述语言的语法结构:

<expression> ::= <term> | <expression> "+" <term>
<term> ::= <factor> | <term> "*" <factor>

意义

来源

相关