add precedence and precedence-between macros
update doc