.blank = [" \t\f\b\v\r\n"]
.number :: Int = ['0'..'9']+
%left.6 = '+', '-'
%left.7 = '*', '/'
expr
= Op.. ::= expr op expr
| Number.. ::= number
| .. ::= '(' expr ')' ;
%expand op ::= '+' | '-' | '*' | '/' ;
%expand directive can be used to avoid conflicts in LR
parsers that can arise when refactoring the grammar.