def METHOD_NAME(self):
    """Returns the set of possible tokens that will advance the parser into a new valid state."""
    METHOD_NAME = set()
    for t in self.choices():
        if t.isupper(): # is terminal?
            new_cursor = copy(self)
            try:
                new_cursor.feed_token(self.lexer_thread._Token(t, ''))
            except UnexpectedToken:
                pass
            else:
                METHOD_NAME.add(t)
    return METHOD_NAME