annotate Mac/Modules/cm/cmscan.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 bd708fe1934b
children 3740ff2ee053
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3282
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
1 # Scan an Apple header file, generating a Python file of generator calls.
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
2
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
3 import addpack
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
4 addpack.addpack(':tools:bgen:bgen')
6a18c4cb68d8 Component mgr support
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: 3282
diff changeset
6 from bgenlocations import TOOLBOXDIR
3282
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
7
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
8 LONG = "Components"
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
9 SHORT = "Cm"
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
10
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
11 def main():
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
12 input = "Components.h"
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
13 output = SHORT + "gen.py"
3518
7f230d4f3655 bgen-generators now drop the python definition file straight in the
Jack Jansen <jack.jansen@cwi.nl>
parents: 3282
diff changeset
14 defsoutput = TOOLBOXDIR + LONG + ".py"
3282
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
15 scanner = MyScanner(input, output, defsoutput)
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
16 scanner.scan()
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
17 scanner.close()
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
18 print "=== Done scanning and generating, now importing the generated code... ==="
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
19 exec "import " + SHORT + "support"
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
20 print "=== Done. It's up to you to compile it now! ==="
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
21
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
22 class MyScanner(Scanner):
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
23
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
24 def destination(self, type, name, arglist):
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
25 classname = "Function"
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
26 listname = "functions"
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
27 if arglist:
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
28 t, n, m = arglist[0]
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
29 #
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
30 # FindNextComponent is a special case, since it call also be called
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
31 # with None as the argument. Hence, we make it a function
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
32 #
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
33 if t == "Component" and m == "InMode" and name != "FindNextComponent":
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
34 classname = "Method"
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
35 listname = "c_methods"
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
36 elif t == "ComponentInstance" and m == "InMode":
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
37 classname = "Method"
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
38 listname = "ci_methods"
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
39 return classname, listname
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
40
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
41 def makeblacklistnames(self):
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
42 return [
5152
bd708fe1934b - Changed GestaltEqu.h to Gestalt.h
Jack Jansen <jack.jansen@cwi.nl>
parents: 3518
diff changeset
43 "OpenADefaultComponent",
bd708fe1934b - Changed GestaltEqu.h to Gestalt.h
Jack Jansen <jack.jansen@cwi.nl>
parents: 3518
diff changeset
44 "GetComponentTypeModSeed",
bd708fe1934b - Changed GestaltEqu.h to Gestalt.h
Jack Jansen <jack.jansen@cwi.nl>
parents: 3518
diff changeset
45 "OpenAComponentResFile",
bd708fe1934b - Changed GestaltEqu.h to Gestalt.h
Jack Jansen <jack.jansen@cwi.nl>
parents: 3518
diff changeset
46 "CallComponentUnregister",
bd708fe1934b - Changed GestaltEqu.h to Gestalt.h
Jack Jansen <jack.jansen@cwi.nl>
parents: 3518
diff changeset
47 "CallComponentTarget",
bd708fe1934b - Changed GestaltEqu.h to Gestalt.h
Jack Jansen <jack.jansen@cwi.nl>
parents: 3518
diff changeset
48 "CallComponentRegister",
bd708fe1934b - Changed GestaltEqu.h to Gestalt.h
Jack Jansen <jack.jansen@cwi.nl>
parents: 3518
diff changeset
49 "CallComponentVersion",
bd708fe1934b - Changed GestaltEqu.h to Gestalt.h
Jack Jansen <jack.jansen@cwi.nl>
parents: 3518
diff changeset
50 "CallComponentCanDo",
bd708fe1934b - Changed GestaltEqu.h to Gestalt.h
Jack Jansen <jack.jansen@cwi.nl>
parents: 3518
diff changeset
51 "CallComponentClose",
bd708fe1934b - Changed GestaltEqu.h to Gestalt.h
Jack Jansen <jack.jansen@cwi.nl>
parents: 3518
diff changeset
52 "CallComponentOpen",
bd708fe1934b - Changed GestaltEqu.h to Gestalt.h
Jack Jansen <jack.jansen@cwi.nl>
parents: 3518
diff changeset
53 "OpenAComponent",
3282
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
54 ]
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
55
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
56 def makeblacklisttypes(self):
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
57 return [
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
58 "ResourceSpec",
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
59 "ComponentResource",
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
60 "ComponentPlatformInfo",
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
61 "ComponentResourceExtension",
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
62 "ComponentPlatformInfoArray",
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
63 "ExtComponentResource",
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
64 "ComponentParameters",
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
65
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
66 "ComponentRoutineUPP",
5152
bd708fe1934b - Changed GestaltEqu.h to Gestalt.h
Jack Jansen <jack.jansen@cwi.nl>
parents: 3518
diff changeset
67 "ComponentMPWorkFunctionUPP",
3282
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
68 ]
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
69
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
70 def makerepairinstructions(self):
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
71 return [
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
72 ([('ComponentDescription', 'looking', 'OutMode')],
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
73 [('ComponentDescription', '*', 'InMode')]),
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
74 ]
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
75
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
76 if __name__ == "__main__":
6a18c4cb68d8 Component mgr support
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
77 main()