解决语法歧义

Resolving ambiguity of the grammar

我有这样的语法规则;

S -> S and S
S -> S or S
S -> (S)
S -> true | false

-- and , or , ( , ) , true ,false are terminals -- 

我可以发现这个语法有歧义,但是我该如何修改这个语法来解决歧义?

标准方法是给他们 precedence/associativity:

S -> S or  A | A
A -> A and P | P
P -> (S)
P -> true | false