let print_binary_operator = function
    CTTbinTimes -> "*" | CTTbinDiv -> "/"
  | CTTbinPlusVV -> "+" | CTTbinMinusVV -> "-"
  | CTTbinPlusPV -> "+p" | CTTbinMinusPP -> "-pp" | CTTbinMinusPV -> "-p"
  | CTTbinModulo -> "%"
  | CTTbinLshift -> "<<" | CTTbinRshift -> ">>"
  | CTTbinLogAnd -> "&&" | CTTbinLogOr -> "||"
  | CTTbinIntAnd -> "&" | CTTbinIntOr -> "|" | CTTbinIntXor -> "^"
  | CTTbinLessThan -> "<" | CTTbinLessEqual -> "<="
  | CTTbinGtrThan -> ">" | CTTbinGtrEqual -> ">="
  | CTTbinEqual -> "==" | CTTbinNotEqual -> "!="
  | CTTbinPostMinusPV -> "post-p" 
  | CTTbinPostPlusPV -> "post+p"
  | CTTbinPostMinusVV -> "post-"
  | CTTbinPostPlusVV -> "post+"