1. 引言
互联网技术规范常常需要定义形式语法, 并且可以自由采用其作者认为有用的任何记法. 多年来, 一种经过修改的巴科斯-诺尔范式 (Backus-Naur Form, BNF) 版本, 称为扩充 BNF (Augmented BNF, ABNF), 在许多互联网规范中广受欢迎. 它在紧凑性和简单性与合理的表达能力之间取得了平衡. 在 Arpanet 的早期, 每个规范都包含各自的 ABNF 定义. 这包括电子邮件规范 [RFC733] 以及后来的 [RFC822], 它们成为定义 ABNF 的通用引证. 本文档把这些定义分离出来, 以便能够选择性引用. 可以预见, 它还提供了一些修改和增强.
标准 BNF 与 ABNF 之间的差异涉及规则命名 (naming rules)、重复 (repetition)、可选项 (alternatives)、顺序无关性 (order-independence) 和值域 (value ranges). 附录 B 提供了一个核心词法分析器 (core lexical analyzer) 的规则定义和编码, 该分析器的类型在若干互联网规范中很常见. 它作为一项便利提供, 除此之外与本文档正文所定义的元语言无关, 也与本文档的正式地位无关.