xref: /petsc/lib/petsc/bin/maint/generators/prettyprint.py (revision 4e8afd12df985612b40e26aef947da2f566aee4e)
1#!/usr/bin/env python
2#!/bin/env python
3# $Id: adprocess.py,v 1.12 2001/08/24 18:26:15 bsmith Exp $
4#
5# change python to whatever is needed on your system to invoke python
6#
7#  Reads classes.data and prints the information out nicely
8#
9#  Crude as all hack!
10#
11#  Calling sequence:
12#      prettyprint.py
13##
14from __future__ import print_function
15import os
16import re
17import sys
18from string import *
19import pickle
20
21# list of classes found
22classes = {}
23enums = {}
24
25
26def main(args):
27  file = open('classes.data')
28  enums   = pickle.load(file)
29  senums  = pickle.load(file)
30  structs = pickle.load(file)
31  aliases = pickle.load(file)
32  classes = pickle.load(file)
33
34  print("----- Aliases --------")
35  for i in aliases:
36    print(i+" = "+aliases[i])
37  print(" ")
38  print("----- Enums --------")
39  for i in enums:
40    print(i)
41    for j in enums[i]:
42      print("  "+j)
43  print(" ")
44  print("----- string enums --------")
45  for i in senums:
46    print(i+" = "+"char*")
47    for j in senums[i]:
48      print("  "+j+" = "+senums[i][j])
49  print(" ")
50  print("----- structs --------")
51  for i in structs:
52    print(i)
53    for j in structs[i]:
54      print("  "+j)
55  print(" ")
56  print("----- Classes --------")
57  for i in classes:
58    print(i)
59    for j in classes[i]:
60      print("  "+j+"()")
61      for k in classes[i][j]:
62        print("    "+k)
63
64
65
66#
67# The classes in this file can also be used in other python-programs by using 'import'
68#
69if __name__ ==  '__main__':
70  main(sys.argv[1:])
71
72