def ampersand_parse(sas_input_lines, DF):
    """
    A function to parse the data if they are of the form @START VARNAME.

    Parameters
    ----------
    sas_input_lines :   list of strings; the cleanedsas variable file
    DF              :   DataFrame; the dataframe to fill

    """
    i = j = 0
    while i < len(sas_input_lines):
        start_point = int(sas_input_lines[i].replace('@', ''))
        if i > 0:
            if DF['start'][j - 1] + DF['width'][j - 1] < start_point:
                DF['width'][j] = DF['start'][j - 1] + DF['width'][j - 1
                    ] - start_point
                j += 1
        DF['start'][j] = start_point
        DF['varname'][j] = sas_input_lines[i + 1]
        if sas_input_lines[i + 2] == '$':
            DF['char']['j'] = True
            i += 1
        else:
            DF['char'][j] = False
        for k in ['F', 'CHAR']:
            sas_input_lines[i + 2] = sas_input_lines[i + 2].replace(k, '')
        try:
            if sas_input_lines[i + 2].find('.') >= 0:
                period = sas_input_lines[i + 2].find('.')
                DF['width'][j] = int(sas_input_lines[i + 2][0:period])
                DF['divisor'][j] = 1 / 10 ** int(sas_input_lines[period + 1:])
        except IndexError:
            pass
        else:
            DF['width'][j] = int(sas_input_lines[i + 2])
            DF['divisor'][j] = 1
        i += 3
        j += 1
    return DF
