Server: appserver-7f0f8755-nginx-15961cad18524ec5a9db05f2a6a7e440
Current directory: /usr/lib/python2.7/compiler
Software: nginx/1.27.5
Shell Command
Create a new file
Upload file
File: syntax.py
"""Check 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. """ from compiler import ast, walk def check(tree, multi=None): v = SyntaxErrorChecker(multi) walk(tree, v) return v.errors class SyntaxErrorChecker: """A visitor to find syntax errors in the AST.""" def __init__(self, multi=None): """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. """ self.multi = multi self.errors = 0 def error(self, node, msg): self.errors = self.errors + 1 if self.multi is not None: print "%s:%s: %s" % (node.filename, node.lineno, msg) else: raise SyntaxError, "%s (%s:%s)" % (msg, node.filename, node.lineno) def visitAssign(self, node): # the transformer module handles many of these pass ## for target in node.nodes: ## if isinstance(target, ast.AssList): ## if target.lineno is None: ## target.lineno = node.lineno ## self.error(target, "can't assign to list comprehension")
.
22 Items
Change directory
Remove directory
Rename directory
..
442 Items
Change directory
Remove directory
Rename directory
__init__.py
1 KB
Edit
Delete
Copy
Move
Remame
__init__.pyc
1.26 KB
Edit
Delete
Copy
Move
Remame
ast.py
36.63 KB
Edit
Delete
Copy
Move
Remame
ast.pyc
69.67 KB
Edit
Delete
Copy
Move
Remame
consts.py
0.46 KB
Edit
Delete
Copy
Move
Remame
consts.pyc
0.72 KB
Edit
Delete
Copy
Move
Remame
future.py
1.85 KB
Edit
Delete
Copy
Move
Remame
future.pyc
2.87 KB
Edit
Delete
Copy
Move
Remame
misc.py
1.75 KB
Edit
Delete
Copy
Move
Remame
misc.pyc
3.61 KB
Edit
Delete
Copy
Move
Remame
pyassem.py
23.69 KB
Edit
Delete
Copy
Move
Remame
pyassem.pyc
25.17 KB
Edit
Delete
Copy
Move
Remame
pycodegen.py
46.69 KB
Edit
Delete
Copy
Move
Remame
pycodegen.pyc
54.85 KB
Edit
Delete
Copy
Move
Remame
symbols.py
14.15 KB
Edit
Delete
Copy
Move
Remame
symbols.pyc
17.15 KB
Edit
Delete
Copy
Move
Remame
syntax.py
1.41 KB
Edit
Delete
Copy
Move
Remame
syntax.pyc
1.83 KB
Edit
Delete
Copy
Move
Remame
transformer.py
51.86 KB
Edit
Delete
Copy
Move
Remame
transformer.pyc
46.27 KB
Edit
Delete
Copy
Move
Remame
visitor.py
3.8 KB
Edit
Delete
Copy
Move
Remame
visitor.pyc
4.07 KB
Edit
Delete
Copy
Move
Remame