X7ROOT File Manager
Current Path:
/opt/alt/python27/lib64/python2.7/compiler
opt
/
alt
/
python27
/
lib64
/
python2.7
/
compiler
/
ðŸ“
..
📄
__init__.py
(1023 B)
📄
__init__.pyc
(1.28 KB)
📄
__init__.pyo
(1.28 KB)
📄
ast.py
(36.63 KB)
📄
ast.pyc
(75.37 KB)
📄
ast.pyo
(75.37 KB)
📄
consts.py
(468 B)
📄
consts.pyc
(750 B)
📄
consts.pyo
(750 B)
📄
future.py
(1.85 KB)
📄
future.pyc
(3.01 KB)
📄
future.pyo
(3.01 KB)
📄
misc.py
(1.75 KB)
📄
misc.pyc
(3.89 KB)
📄
misc.pyo
(3.89 KB)
📄
pyassem.py
(23.7 KB)
📄
pyassem.pyc
(26.36 KB)
📄
pyassem.pyo
(25.8 KB)
📄
pycodegen.py
(46.69 KB)
📄
pycodegen.pyc
(57.39 KB)
📄
pycodegen.pyo
(56.95 KB)
📄
symbols.py
(14.15 KB)
📄
symbols.pyc
(17.97 KB)
📄
symbols.pyo
(17.94 KB)
📄
syntax.py
(1.41 KB)
📄
syntax.pyc
(1.91 KB)
📄
syntax.pyo
(1.91 KB)
📄
transformer.py
(51.87 KB)
📄
transformer.pyc
(48.12 KB)
📄
transformer.pyo
(46.34 KB)
📄
visitor.py
(3.8 KB)
📄
visitor.pyc
(4.22 KB)
📄
visitor.pyo
(4.22 KB)
Editing: future.py
"""Parser for future statements """ from compiler import ast, walk def is_future(stmt): """Return true if statement is a well-formed future statement""" if not isinstance(stmt, ast.From): return 0 if stmt.modname == "__future__": return 1 else: return 0 class FutureParser: features = ("nested_scopes", "generators", "division", "absolute_import", "with_statement", "print_function", "unicode_literals") def __init__(self): self.found = {} # set def visitModule(self, node): stmt = node.node for s in stmt.nodes: if not self.check_stmt(s): break def check_stmt(self, stmt): if is_future(stmt): for name, asname in stmt.names: if name in self.features: self.found[name] = 1 else: raise SyntaxError, \ "future feature %s is not defined" % name stmt.valid_future = 1 return 1 return 0 def get_features(self): """Return list of features enabled by future statements""" return self.found.keys() class BadFutureParser: """Check for invalid future statements""" def visitFrom(self, node): if hasattr(node, 'valid_future'): return if node.modname != "__future__": return raise SyntaxError, "invalid future statement " + repr(node) def find_futures(node): p1 = FutureParser() p2 = BadFutureParser() walk(node, p1) walk(node, p2) return p1.get_features() if __name__ == "__main__": import sys from compiler import parseFile, walk for file in sys.argv[1:]: print file tree = parseFile(file) v = FutureParser() walk(tree, v) print v.found print
Upload File
Create Folder