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.
diff --git a/Demo/parser/example.py b/Demo/parser/example.py
index 821cef0..2aa9ec2 100644
--- a/Demo/parser/example.py
+++ b/Demo/parser/example.py
@@ -5,10 +5,14 @@
 discussion of the operation of this code.
 """
 
+import os
+import parser
 import symbol
 import token
 import types
 
+from types import ListType, TupleType
+
 
 def get_docs(fileName):
     """Retrieve information from the parse tree of a source file.
@@ -17,12 +21,9 @@
         Name of the file to read Python source code from.
     """
     source = open(fileName).read()
-    import os
     basename = os.path.basename(os.path.splitext(fileName)[0])
-    import parser
     ast = parser.suite(source)
-    tup = parser.ast2tuple(ast)
-    return ModuleInfo(tup, basename)
+    return ModuleInfo(ast.totuple(), basename)
 
 
 class SuiteInfoBase:
@@ -112,8 +113,6 @@
                 self._docstring = vars["docstring"]
 
 
-from types import ListType, TupleType
-
 def match(pattern, data, vars=None):
     """Match `data' to `pattern', with variable extraction.
 
@@ -189,6 +188,3 @@
                      )))))))))))))))),
      (token.NEWLINE, '')
      ))
-
-#
-#  end of file