def _parse_shell(self, value): try: tokens, _ = pyshyacc.parse(value, eof=True, debug=False) except pyshlex.NeedMore: raise sherrors.ShellSyntaxError("Unexpected EOF") self.process_tokens(tokens)
def p_error(p): msg = [] w = msg.append w('%r\n' % p) w('followed by:\n') for i in range(5): n = yacc.token() if not n: break w(' %r\n' % n) raise sherrors.ShellSyntaxError(''.join(msg))