def list_data_type(type_list):
    """This function takes a list of format specifiers and returns a list of data
    types represented by the format specifiers."""
    data_type = []
    for item in type_list:
        match = re.match(r"(\d+)(.+)", item)
        if not match:
            reps = 1
            if item[0] in "FfEegG":
                data_type.append("REAL")
            elif item[0] in "Ii":
                data_type.append("INTEGER")
        else:
            reps = match.group(1)
            fmt = match.group(2)
            if "(" in fmt and "," in fmt:
                fmt = fmt[1:-1].split(",")
            elif "(" in fmt:
                fmt = [fmt[1:-1]]
            else:
                fmt = [fmt]
            for i in range(int(reps)):
                for ft in fmt:
                    if ft[0] in "FfEegG":
                        data_type.append("REAL")
                    elif ft[0] in "Ii":
                        data_type.append("INTEGER")
    return data_type
def list_data_type ( type_list ) : data_type = [ ] for item in type_list : match = re . match ( r"(\d+)(.+)" , item ) if not match : reps = 1 if item [ 0 ] in "FfEegG" : data_type . append ( "REAL" ) elif item [ 0 ] in "Ii" : data_type . append ( "INTEGER" ) else : reps = match . group ( 1 ) fmt = match . group ( 2 ) if "(" in fmt and "," in fmt : fmt = fmt [ 1 : - 1 ] . split ( "," ) elif "(" in fmt : fmt = [ fmt [ 1 : - 1 ] ] else : fmt = [ fmt ] for i in range ( int ( reps ) ) : for ft in fmt : if ft [ 0 ] in "FfEegG" : data_type . append ( "REAL" ) elif ft [ 0 ] in "Ii" : data_type . append ( "INTEGER" ) return data_type
This function takes a list of format specifiers and returns a list of data
    types represented by the format specifiers.