bexpr := bexpr 'or' bterm | bterm bterm := bterm 'and' bfactor | bfactor bfactor := 'not' bfactor | '(' bexpr ')' | 'true' | 'false'