add +do and -do, convert do at compile time to +do or -do