3.4. Диапазоны вариантов: %c##-##
Диапазон вариантов цифровых значений может быть представлен в компактной форме с использованием символа дефиса (-) для индикации диапазона вариантов. Следовательно,
DIGIT = %x30-39
является эквивалентом:
DIGIT = "0" / "1" / "2" / "3" / "4" / "5" / "6" / "7" / "8" / "9"
Конкатенация цифровых значений и диапазон цифровых значений не могут быть заданы в одной строке. Цифровое значение может использовать нотацию с точками для конкатенации или нотацию с дефисом для задания одного диапазона значений.
Следовательно, для задания одного печатного символа между последовательностями завершения строк, можно указать:
char-line = %x0D.0A %x20-7E %x0D.0A
3.5. Упорядоченная группа: (Rule1 Rule2)
Элементы, заключенные в круглые скобки, трактуются как один элемент со строгим упорядочением. Таким образом,
elem (foo / bar) blat
соответствует (elem foo blat) или (elem bar blat), а
elem foo / bar blat
соответствует (elem foo) или (bar blat).
Примечание: Настоятельно рекомендуется использовать группы взамен вариантов, состоящих из множества имен правил или литералов.
Следовательно, рекомендуется использовать приведенную ниже форму:
(elem foo) / (bar blat)
Это позволит предотвратить ошибочную интерпретацию при невнимательном чтении.
Упорядоченные группы используются также внутри свободного текста для выделения порядка слов в тексте.