文档中的 EBNF 语法声明
ANSI CL 标准使用扩展的 EBNF 语法表示法。Stackoverflow 上复制的文档应使用相同的语法表示法来减少混淆。
例:
specialized-lambda-list::=
({var | (var parameter-specializer-name)}*
[&optional {var | (var [initform [supplied-p-parameter] ])}*]
[&rest var]
[&key{var | ({var | (keywordvar)} [initform [supplied-p-parameter] ])}*
[&allow-other-keys] ]
[&aux {var | (var [initform] )}*] )
符号:
[foo]
- >零或一个foo
{foo}*
- >零或更多foo
foo | bar
- >foo
或bar