def p_error(self, p): p_val = p.value if p else '' err = PythranSyntaxError( "Invalid Pythran spec near '{}'".format(p_val)) err.lineno = self.lexer.lineno if self.input_file: err.filename = self.input_file raise err
def PythranSpecError(self, msg, lexpos=None): err = PythranSyntaxError(msg) if lexpos is not None: line_start = self.input_text.rfind('\n', 0, lexpos) + 1 err.offset = lexpos - line_start err.lineno = 1 + self.input_text.count('\n', 0, lexpos) if self.input_file: err.filename = self.input_file return err