巴科斯范式义同
BNF范式
(BNF: Backus-Naur Form 的缩写)描述计算机语言语法的符号集
在双引号中的字("word")代表着这些字符本身。而double_quote用来代表双引号。
在双引号外的字(有可能有下划线)代表着语法部分。
尖括号( < > )内包含的为必选项。
方括号( [ ] )内包含的为可选项。
大括号( { } )内包含的为可重复0至无数次的项。
竖线( | )表示在其左右两边任选一项,相当于"OR"的意思。
::= 是“被定义为”的意思。
巴科斯范式示例
finger查询请求的BNF(巴克斯-诺尔范式)定义如下:
--------------------------------------------------------------------------
{Q1} ::= [{W}|{W}{S}{U}]{C}
{Q2} ::= [{W}{S}][{U}]{H}{C}
{U} ::= username
{H} ::= @hostname | @hostname{H}
{W} ::= /W
{S} ::= <SP> | <SP>{S}
{C} ::= <CRLF>
<CRLF>
\r\n,即\x0D\x0A
<SP>
空格,即\x20。
{S}
这个是递归定义的,意味着空格可以重复任意次数。