��Qc@s?dZddlmZmZdd�Zddd��YZdS(s8Check for errs in the AST.
The Python parser does not catch all syntax errors. Others, like
assignments with invalid targets, are caught in the code generation
phase.
The compiler package catches some errors in the transformer module.
But it seems clearer to write checkers that use the AST to detect
errors.
i�(tasttwalkcCs t|�}t||�|jS(N(tSyntaxErrorCheckerRterrors(ttreetmultitv((s%/sys/lib/python2.7/compiler/syntax.pytchecks
RcBs,eZdZdd�Zd�Zd�ZRS(s+A visitor to find syntax errors in the AST.cCs||_d|_dS(s�Create new visitor object.
If optional argument multi is not None, then print messages
for each error rather than raising a SyntaxError for the
first.
iN(RR(tselfR((s%/sys/lib/python2.7/compiler/syntax.pyt__init__s cCsZ|jd|_|jdk r:d|j|j|fGHntd||j|jf�dS(Nis %s:%s: %ss
%s (%s:%s)(RRtNonetfilenametlinenotSyntaxError(Rtnodetmsg((s%/sys/lib/python2.7/compiler/syntax.pyterror scCsdS(N((RR((s%/sys/lib/python2.7/compiler/syntax.pytvisitAssign'sN(t__name__t
__module__t__doc__R
R RR(((s%/sys/lib/python2.7/compiler/syntax.pyRs
N((RtcompilerRRR
RR(((s%/sys/lib/python2.7/compiler/syntax.pyt<module>
s
|