public static Type getBaseType(String typeStr)
    {
        if (typeStr.equals("int")) return new IntType();
        if (typeStr.equals("float")) return new FloatType();
        if (typeStr.equals("bool")) return new BoolType();
        if (typeStr.equals("void")) return new VoidType();
        return new ErrorType("Unkown type: " + typeStr);
    }