def METHOD_NAME(filename):
    tumbler_pos = 0
    current_buffer = 0
    with open(filename) as mb:
        lines = mb.readlines()
    pool = {}
    for line in lines:
        if tumbler_pos < len(TUMBLER):
            buf = re.search('\(mpBuf_t\s\*\)\s(0x[0-9a-fA-F]+)', line)
            if buf:
                current_buffer = int(buf.groups()[0], 16)
                pool[TUMBLER[tumbler_pos]] = current_buffer
                print 'TUMBLER[tumbler_pos]: %s=%d' % (
                    TUMBLER[tumbler_pos], current_buffer
                )
            else:
                buf = re.search(' = ([0-9]+)', line)
                current_buffer = int(buf.groups()[0], 10)
                pool[TUMBLER[tumbler_pos]] = current_buffer
            tumbler_pos += 1
        else:
            buf = re.search('\(mpBuf_t\s\*\)\s(0x[0-9a-fA-F]+)', line)
            if buf:
                current_buffer = int(buf.groups()[0], 16)
                print "setup current_buffer: %s" % current_buffer
                pool[current_buffer] = {'move_time': 0}
                if current_buffer == pool['r']:
                    pool[current_buffer]['is_r'] = True
                if current_buffer == pool['w']:
                    pool[current_buffer]['is_w'] = True
                if current_buffer == pool['p']:
                    pool[current_buffer]['is_p'] = True
                if current_buffer == pool['c']:
                    pool[current_buffer]['is_c'] = True
            else:
                match = re.search('([a-zA-Z_]+)\s=\s((?:0x[0-9a-fA-F]+|'
                                  '[0-9.]+(?:e[-+][0-9]+)?|[A-Z_]+)|true|'
                                  'false)', line)
                if match:
                    # print "current_buffer: %s" % current_buffer
                    key, val = match.groups()
                    if key == 'pv':
                        pv = int(val, 16)
                        pool[current_buffer]['pv'] = pv
                        print "pv: %s" % pv
                    elif key == 'nx':
                        nx = int(val, 16)
                        pool[current_buffer]['nx'] = nx
                        print "nx: %s" % nx
                    elif key == 'buffer_state':
                        pool[current_buffer]['buffer_state'] = val
                    elif key == 'jerk':
                        pool[current_buffer]['jerk'] = val
                    elif key == 'linenum':
                        pool[current_buffer]['linenum'] = val
                    elif key == 'buffer_number':
                        pool[current_buffer]['buffer_number'] = val
                        print "#: %s" % val
                    elif key == 'junction_vmax':
                        pool[current_buffer]['junction_vmax'] = float(val)
                    elif key == 'cruise_velocity':
                        pool[current_buffer]['cruise_velocity'] = float(val)
                    elif key == 'cruise_vmax':
                        pool[current_buffer]['cruise_vmax'] = float(val)
                    elif key == 'exit_vmax':
                        pool[current_buffer]['exit_vmax'] = float(val)
                    elif key == 'exit_velocity':
                        pool[current_buffer]['exit_velocity'] = float(val)
                    elif key == 'length':
                        pool[current_buffer]['length'] = float(val)
                    elif key == 'move_time':
                        pool[current_buffer]['move_time'] = float(val)
                    elif key == 'plannable':
                        pool[current_buffer]['plannable'] = val
                    elif key == 'hint':
                        pool[current_buffer]['hint'] = val
                    elif key == 'iterations':
                        pool[current_buffer]['iterations'] = val
    return pool