annotate Mac/Modules/list/listscan.py @ 5817:48b94de85bf3 legacy-trunk

Extensive changes by AMK.
author Guido van Rossum <guido@python.org>
date Thu, 17 Jul 1997 16:29:42 +0000
parents 7f230d4f3655
children 3740ff2ee053
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2972
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
1 # Scan an Apple header file, generating a Python file of generator calls.
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
2
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
3 import addpack
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
4 addpack.addpack(':tools:bgen:bgen')
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
5 from scantools import Scanner
3518
7f230d4f3655 bgen-generators now drop the python definition file straight in the
Jack Jansen <jack.jansen@cwi.nl>
parents: 2972
diff changeset
6 from bgenlocations import TOOLBOXDIR
2972
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
7
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
8 LONG = "Lists"
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
9 SHORT = "list"
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
10 OBJECT = "ListRef"
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
11
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
12 def main():
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
13 input = LONG + ".h"
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
14 output = SHORT + "gen.py"
3518
7f230d4f3655 bgen-generators now drop the python definition file straight in the
Jack Jansen <jack.jansen@cwi.nl>
parents: 2972
diff changeset
15 defsoutput = TOOLBOXDIR + LONG + ".py"
2972
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
16 scanner = MyScanner(input, output, defsoutput)
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
17 scanner.scan()
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
18 scanner.close()
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
19 print "=== Done scanning and generating, now importing the generated code... ==="
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
20 exec "import " + SHORT + "support"
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
21 print "=== Done. It's up to you to compile it now! ==="
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
22
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
23 class MyScanner(Scanner):
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
24
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
25 def destination(self, type, name, arglist):
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
26 classname = "Function"
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
27 listname = "functions"
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
28 if arglist:
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
29 t, n, m = arglist[-1]
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
30 # This is non-functional today
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
31 if t == OBJECT and m == "InMode":
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
32 classname = "Method"
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
33 listname = "methods"
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
34 return classname, listname
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
35
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
36 def makeblacklistnames(self):
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
37 return [
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
38 "LDispose", # Done by removing the object
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
39 "LSearch", # We don't want to handle procs just yet
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
40 "LGetCellDataLocation", # What does this do??
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
41 ]
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
42
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
43 def makeblacklisttypes(self):
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
44 return [
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
45 ]
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
46
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
47 def makerepairinstructions(self):
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
48 return [
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
49 ([('ListBounds_ptr', '*', 'InMode')],
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
50 [('Rect_ptr', '*', 'InMode')]),
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
51
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
52 ([("Cell", "theCell", "OutMode")],
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
53 [("Cell", "theCell", "InOutMode")]),
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
54
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
55 ([("void_ptr", "*", "InMode"), ("short", "*", "InMode")],
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
56 [("InBufferShortsize", "*", "*")]),
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
57
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
58 ([("void", "*", "OutMode"), ("short", "*", "OutMode")],
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
59 [("VarOutBufferShortsize", "*", "InOutMode")]),
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
60
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
61 # ([("void", "wStorage", "OutMode")],
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
62 # [("NullStorage", "*", "InMode")]),
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
63 #
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
64 # # GetKeys
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
65 # ([('KeyMap', 'theKeys', 'InMode')],
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
66 # [('*', '*', 'OutMode')]),
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
67 #
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
68 # # GetTicker
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
69 # ([('unsigned long', '*', '*')],
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
70 # [('unsigned_long', '*', '*')]),
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
71 ]
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
72
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
73 if __name__ == "__main__":
99945fda719d Interface to the Mac List Manager.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
74 main()