':param algorithm: the algorithm option of this parser. Currently support `arc-standard` and `arc-eager` algorithm
:type algorithm: str'

def __init__(self, algorithm):

    if (not (algorithm in [self.ARC_STANDARD, self.ARC_EAGER])):
        raise ValueError(('    Currently    we    only    support    %s    and    %s    ' % (self.ARC_STANDARD, self.ARC_EAGER)))
    self._algorithm = algorithm
    self._dictionary = {}
    self._transition = {}
    self._match_transition = {}
