module Rucc::Type::Check

Public Instance Methods

is_arithtype(ty) click to toggle source

@param [Type] ty @return [Boolean]

# File lib/rucc/type/check.rb, line 6
def is_arithtype(ty)
  is_inttype(ty) || is_flotype(ty)
end
is_flotype(ty) click to toggle source

@param [Type] ty @return [Boolean]

# File lib/rucc/type/check.rb, line 23
def is_flotype(ty)
  case ty.kind
  when Kind::FLOAT, Kind::DOUBLE, Kind::LDOUBLE
    true
  else
    false
  end
end
is_inttype(ty) click to toggle source

@param [Type] ty @return [Boolean]

# File lib/rucc/type/check.rb, line 12
def is_inttype(ty)
  case ty.kind
  when Kind::BOOL, Kind::CHAR, Kind::SHORT, Kind::INT, Kind::LONG, Kind::LLONG
    true
  else
    false
  end
end
is_string(ty) click to toggle source

@param [Type] ty @return [Boolean]

# File lib/rucc/type/check.rb, line 34
def is_string(ty)
  ty.kind == Kind::ARRAY && ty.ptr.kind == Kind::CHAR
end