code: def p_str(p):
      
      if is_number(p[2]):  # A constant is converted to string directly
          p[0] = symbols.STRING(str(p[2].value), p.lineno(1))
      else:
          p[0] = make_builtin(p.lineno(1), 'STR',
                              make_typecast(TYPE.float_, p[2], p.lineno(1)),
                              type_=TYPE.string)
docs: string : STR expr %prec UMINUS