%%%
 %% Boolean Composition
 %%
 %% @author  Martin Bravenboer <martin.bravenboer@gmail.com>
 %%%
module languages/aspectj/common/BooleanComposition[E]
exports
  context-free syntax
    "(" E ")" -> E {bracket}
    "!" E     -> E {cons("NotComp")}
    E "&&" E  -> E {left, cons("AndComp")}
    E "||" E  -> E {left, cons("OrComp")}

  context-free priorities
    "!" E    -> E
  > E "&&" E -> E
  > E "||" E -> E