Как и в математических выражениях или обычных языках программирования, круглые скобки могут использоваться для группировки подвыражений вместе, чем то, что вы получили бы, используя обычный операторный приоритет.
Например, если у вас есть это:
A() B() | C()
Это означает, что "либо 'A следует B' или C", тогда как это:
A() (B() | C())
Вместо этого будет означать «A, а затем« B или C »».
В скобках также необходимо использовать постфиксные операторы, такие как *
, +
или ?
, и определять, к каким частям грамматики эти операторы применяются. Так, например:
A() (B())*
будет означать «один A, за которым следует ноль или более B», тогда как это:
(A() B())*
будет означать «ноль или более вхождений« A, за которым следует B »».
В вашем примере скобки вообще ничего не делают и могут быть удалены.