Esempio n. 1
0
 def _check_setting_existence(self, setting_name):
     """
     Check that ``setting_name`` is a known setting.
     
     :param setting_name: The setting's name.
     :type setting_name: basestring
     :raises booleano.exc.GrammarError: If the ``setting_name`` is unknown.
     
     """
     if setting_name not in self.default_settings:
         raise GrammarError('Unknown setting "%s"' % setting_name)
Esempio n. 2
0
 def _check_generator_existence(self, generator_name):
     """
     Check that ``generator_name`` is a known generator.
     
     :param generator_name: The generator's name.
     :type generator_name: basestring
     :raises booleano.exc.GrammarError: If the ``generator_name`` is unknown.
     
     """
     if generator_name not in self.known_generators:
         raise GrammarError('Unknown generator "%s"' % generator_name)
Esempio n. 3
0
 def _check_token_existence(self, token_name):
     """
     Check that ``token_name`` is a known token.
     
     :param token_name: The token's name.
     :type token_name: basestring
     :raises booleano.exc.GrammarError: If the ``token_name`` is unknown.
     
     """
     if token_name not in self.default_tokens:
         raise GrammarError('Unknown token "%s"' % token_name)
Esempio n. 4
0
    def add_parser(self, locale, grammar):
        """
        Create a parser for ``grammar`` and store it.

        :param locale: The locale of the ``grammar``.
        :type locale: basestring
        :param grammar: The grammar of the parser to be created.
        :type grammar: :class:`Grammar`

        """
        if locale in self._parsers:
            raise GrammarError("There is already a parser for grammar %s" %
                               locale)
        parser = self._define_parser(locale, grammar)
        self._parsers[locale] = parser