Priority rewriting : Semantics, confluence, and conditionals