def cbf_start_loop(array, apointer, inputdata, output, source, spointer):
    """
    Start loop. Operations after a start loop operator ("[") will only 
    be executed provided the loop(s) are properly closed. If the loops 
    are open, the program will terminate. Note that unclosed or unopened 
    loops may result in non-deterministic behaviour. 
    """
    if array[apointer] > 0:
        return array, apointer, inputdata, output, source, spointer
    else:
        count = 1
        try:
            while count > 0:
                spointer = spointer + 1
                if source[spointer] == ']':
                    count = count - 1
                if source[spointer] == '[':
                    count = count + 1
        except IndexError:
            spointer = len(source) - 1
    return array, apointer, inputdata, output, source, spointer
