Moved all the imports to the top.

Use the methods on the AST object instead of module-level functions;
these have been implemented for a couple of versions now, and are
already used in the module documentation in preference to the
functions.
This commit is contained in:
Fred Drake 1999-11-19 21:57:56 +00:00
parent d81b1b0ffa
commit 995285e392

View file

@ -5,10 +5,14 @@ section on using the parser module. Refer to the manual for a thorough
discussion of the operation of this code. discussion of the operation of this code.
""" """
import os
import parser
import symbol import symbol
import token import token
import types import types
from types import ListType, TupleType
def get_docs(fileName): def get_docs(fileName):
"""Retrieve information from the parse tree of a source file. """Retrieve information from the parse tree of a source file.
@ -17,12 +21,9 @@ def get_docs(fileName):
Name of the file to read Python source code from. Name of the file to read Python source code from.
""" """
source = open(fileName).read() source = open(fileName).read()
import os
basename = os.path.basename(os.path.splitext(fileName)[0]) basename = os.path.basename(os.path.splitext(fileName)[0])
import parser
ast = parser.suite(source) ast = parser.suite(source)
tup = parser.ast2tuple(ast) return ModuleInfo(ast.totuple(), basename)
return ModuleInfo(tup, basename)
class SuiteInfoBase: class SuiteInfoBase:
@ -112,8 +113,6 @@ class ModuleInfo(SuiteInfoBase, SuiteFuncInfo):
self._docstring = vars["docstring"] self._docstring = vars["docstring"]
from types import ListType, TupleType
def match(pattern, data, vars=None): def match(pattern, data, vars=None):
"""Match `data' to `pattern', with variable extraction. """Match `data' to `pattern', with variable extraction.
@ -189,6 +188,3 @@ DOCSTRING_STMT_PATTERN = (
)))))))))))))))), )))))))))))))))),
(token.NEWLINE, '') (token.NEWLINE, '')
)) ))
#
# end of file