code: def p_abs(p):
      
      if is_unsigned(p[2]):
          p[0] = p[2]
          warning(p.lineno(1), "Redundant operation ABS for unsigned value")
          return
  
      p[0] = make_builtin(p.lineno(1), 'ABS', p[2], lambda x: x if x >= 0 else -x)
docs: bexpr : ABS bexpr %prec UMINUS