文件中的 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 - > foobar