Can you summarize the following document?
        
  一個ABNF規範是一些推導規則的集合,書寫為:  其中:  規則名字是不區分大小寫的: codice_2, codice_3, codice_4和codice_5都指的是同一個規則。規則名字由一個字母以及後續的多個字母、數字和連字元(減號)組成。  用尖括號(“codice_6”,“codice_7”)包圍規則名並不是必需的(如同它們在BNF裡那樣),但是它們可以用來在散文中界定規則名,以方便識別出規則名。

  最終值由一個或多個數值字元指定。  數值字元可按下面的方式指定:先是一個百分號“codice_8”,緊跟著基數(b = 二進位制, d = 十進位制, x = 十六進位制),再其後是這個數值或數值串(用“codice_9”來指示串聯)。例如:“回車”可以用十進位制的codice_10或十六進位制的codice_11來指定,而“回車換行”則可以用codice_12來指定。  字面文字是通過包含在在雙引號(codice_13)中字串來指定的。這些字串是不區分大小寫的,使用的字符集是(US-)ASCII。所以字串“abc”將匹配“abc”,“Abc”,“aBc”,“abC”,“ABc”,“AbC”,“aBC”和“ABC”。對於區分大小寫的匹配,必須定義明確的字元,例如:若要匹配“aBc”,定義必須是codice_14。

  

  空白字元被用來分隔定義中的各個元素:要使空格被識別為分割符則必須明確的包含它。

  codice_15  規則可以通過列出一系列的規則名來定義。  要匹配字串“aba”可以使用下列規則:

  codice_19  一個規則可以通過用斜槓(“codice_20”)分隔的可供選擇的子規則列表來定義。  要接受規則<foo>或規則<bar>可構造如下規則:

  codice_22  可以通過在"規則名"和"定義"之間使用“codice_23”來向一個規則增加補充選擇。  規則 等價於

  codice_28  數值範圍可以通過使用連字元(“codice_29”)來指定。  規則 等價於

  codice_32  在"定義"中,元素可以放置在圓括號中來將"規則"組合起來,該組合視為單個元素。  要匹配“elem foobar snafoo”或“elem tarfoo snafoo”可以構造下列規則:  要匹配“elem foobar”或“tarfoo snafoo”可以構造下列規則:

  元素前面的星號codice_36表示重複,其完整形式是:  要表示一個元素的重複,就要使用codice_38形式。可選的codice_39給出要包含的元素的最小數目,預設為0;可選的codice_40給出要包含的元素的最大數目,預設為無窮大。  例子:

  codice_44  要表示特定數目的元素可使用形式codice_45,相當於用不定量重複形式表示的codice_46。  使用codice_47得到兩個數字,使用codice_48得到三個數字。(DIGIT在下面的核心規則中定義,也見例子中的"zip-code")。

  codice_49  要表示可選元素,下列構造是等價的:

  codice_53  註釋從一個分號(“codice_54”)開始,並持續到此行的結束。

  下面的操作符給出了從高(結合最緊密)到低(結合最鬆散)的優先順序:  "選擇"操作符與"串聯"一起使用會造成混淆,因此建議使用"組合"來確保串聯組的明確。  例如: 會產生下面兩種歧義:  所以,使用"組合"來確保不會產生歧義:

  核心規則定義於ABNF標準中。

  在巴科斯正規化(BNF)條目中的郵政地址的例子可以被指定為: codice_59

  RFC 5234加入了一條結合LWSP的警告,如下:
在電腦科學中,擴充巴科斯-瑙爾正規化(ABNF)是一種基於巴科斯-瑙爾正規化(BNF)的元語言,但它有自己的語法和派生規則。ABNF的原動原則是描述一種作為雙向通訊協議的語言的形式系統。它是由"第68號網際網路標準"("STD 68",大小寫樣式按照原文)定義的,也就是RFC 5234,經常用於網際網路工程任務組(IETF)通訊協議的定義語言。