Demos for Fred's parser module
diff --git a/Demo/parser/test_parser.py b/Demo/parser/test_parser.py
new file mode 100755
index 0000000..e114d76
--- /dev/null
+++ b/Demo/parser/test_parser.py
@@ -0,0 +1,50 @@
+#! /projects/python/Python-1.4b2/python
+#  (Force the script to use the latest build.)
+#
+#  test_parser.py
+
+import parser, traceback
+
+_numFailed = 0
+
+def testChunk(t, fileName):
+    global _numFailed
+    print '----', fileName,
+    try:
+	ast = parser.suite(t)
+	tup = parser.ast2tuple(ast)
+	# this discards the first AST; a huge memory savings when running
+	# against a large source file like Tkinter.py.
+	ast = None
+	new = parser.tuple2ast(tup)
+    except parser.ParserError, err:
+	print
+	print 'parser module raised exception on input file', fileName + ':'
+	traceback.print_exc()
+	_numFailed = _numFailed + 1
+    else:
+	if tup != parser.ast2tuple(new):
+	    print
+	    print 'parser module failed on input file', fileName
+	    _numFailed = _numFailed + 1
+	else:
+	    print 'o.k.'
+
+def testFile(fileName):
+    t = open(fileName).read()
+    testChunk(t, fileName)
+
+def test():
+    import sys
+    args = sys.argv[1:]
+    if not args:
+	import glob
+	args = glob.glob("*.py")
+    map(testFile, args)
+    sys.exit(_numFailed != 0)
+
+if __name__ == '__main__':
+    test()
+
+#
+#  end of file