3.2. Варианты: Rule1 / Rule2
Элементы, разделенные символом дробной черты (/), задают варианты. Следовательно,
foo / bar
будет принимать <foo> или <bar>.
Примечание: Заключенные в двойные кавычки строки букв представляют собой специальную форму задания дополнительных символов и интерпретируются как нетерминальное представление набора комбинаторных строк с содержащимися в них символами в указанном порядке, но с любыми комбинациями строчных и прописных букв.
3.3. Дополнительные варианты: Rule1 =/ Rule2
Иногда удобно задавать список вариантов в виде фрагментов. Т. е., начальному правилу соответствует один или множество вариантов, а последующие определения правил добавляют набор вариантов. Это особенно полезно для создания иной независимой спецификации, которая является производной от того же родительского набора правил, как это часто бывает со списками параметров. ABNF поддерживает такие дополнения с помощью конструкции:
oldrule =/ additional-alternatives
Таким образом набор правил
ruleset = alt1 / alt2 ruleset =/ alt3 ruleset =/ alt4 / alt5
представляет собой то же самое, что и
ruleset = alt1 / alt2 / alt3 / alt4 / alt5