Set start symbol of the grammar.
        :param s: Start symbol to set.
        :raise NonterminalDoesNotExistsException: If the start symbol is not in nonterminals.

def start(self, s):
        # type: (Optional[Type[Nonterminal]]) -> None
        """
        Set start symbol of the grammar.
        :param s: Start symbol to set.
        :raise NonterminalDoesNotExistsException: If the start symbol is not in nonterminals.
        """
        if s is not None and s not in self.nonterminals:
            raise NonterminalDoesNotExistsException(None, s, self)
        self._start_symbol = s