summaryrefslogtreecommitdiff
path: root/docutils/test/test_readers/test_python/showast
diff options
context:
space:
mode:
author(no author) <(no author)@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2003-07-02 17:51:01 +0000
committer(no author) <(no author)@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2003-07-02 17:51:01 +0000
commitedf2f3bec1de42965e347eb808f8604151c35bdb (patch)
tree783ec29ed403599a0717019ac974ed2fd7366207 /docutils/test/test_readers/test_python/showast
parent97e20d03d7a4f773f24b082b76a34411acc1fefd (diff)
downloaddocutils-ax.tar.gz
This commit was manufactured by cvs2svn to create branch 'ax'.ax
git-svn-id: http://svn.code.sf.net/p/docutils/code/branches/ax@1551 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
Diffstat (limited to 'docutils/test/test_readers/test_python/showast')
-rwxr-xr-xdocutils/test/test_readers/test_python/showast57
1 files changed, 0 insertions, 57 deletions
diff --git a/docutils/test/test_readers/test_python/showast b/docutils/test/test_readers/test_python/showast
deleted file mode 100755
index e7d846307..000000000
--- a/docutils/test/test_readers/test_python/showast
+++ /dev/null
@@ -1,57 +0,0 @@
-#! /usr/bin/env python
-
-"""
-This is a tool for exploring abstract syntax trees generated by
-``compiler.parse()`` from test data in
-docutils/test/test_readers/test_python/test_parser or stdin.
-
-Usage::
-
- showast <key> <index>
-
- showast < <module.py>
-
-Where ``<key>`` is the key to the ``totest`` dictionary, and ``<index>`` is
-the index of the list ``totest[key]``. If no arguments are given, stdin is
-used for input.
-"""
-
-import sys
-import compiler
-from compiler.ast import Node
-import test_parser
-
-def pformat(ast, indent=' ', level=0):
- assert isinstance(ast, Node), 'ast is not a Node: %r' % (ast,)
- atts = {}
- for name, value in vars(ast).items():
- if not value or isinstance(value, Node):
- continue
- if isinstance(value, list):
- if isinstance(value[0], Node):
- continue
- if isinstance(value[0], tuple) and value[0] \
- and isinstance(value[0][0], Node):
- continue
- atts[name] = str(value).encode('unicode-escape')
- attlist = atts.items()
- attlist.sort()
- parts = [ast.__class__.__name__]
- for name, value in attlist:
- parts.append('%s="%s"' % (name, value))
- result = ['%s<%s>\n' % (indent * level, ' '.join(parts))]
- for node in ast.getChildNodes():
- result.extend(pformat(node, level=level+1))
- return result
-
-if len(sys.argv) > 1:
- key, caseno = sys.argv[1:]
- print 'totest["%s"][%s][0]:\n' % (key, caseno)
- input_text = test_parser.totest[key][int(caseno)][0]
-else:
- input_text = sys.stdin.read()
-print input_text
-module = compiler.parse(input_text)
-print module
-print
-print ''.join(pformat(module)),