def METHOD_NAME(self, msg, *args):
    if args:
        try:
            msg = msg % args
        except:
            msg = " ".join([msg] + list(map(str, args)))
    line = self._bnf_grammar.splitlines()[self.begin[0] - 1]
    raise SyntaxError(msg, ('<grammar>', self.begin[0],
                            self.begin[1], line))