annotate Mac/Modules/htmlrender/htmlscan.py @ 25838:8540887bcec6 2.2

Backport of 2.183: Fix memory leak in add_subclass() found by NealN with valgrind.
author Guido van Rossum <guido@python.org>
date Fri, 18 Oct 2002 13:42:21 +0000
parents b817f1639939
children 3e718c3d51ef
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12709
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
1 # Scan an Apple header file, generating a Python file of generator calls.
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
2
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
3 import sys
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
4 import os
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
5 BGENDIR=os.path.join(sys.prefix, ':Tools:bgen:bgen')
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
6 sys.path.append(BGENDIR)
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
7
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
8 from scantools import Scanner
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
9 from bgenlocations import TOOLBOXDIR
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
10
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
11 LONG = "HtmlRendering"
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
12 SHORT = "html"
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
13 OBJECT = "HRReference"
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
14
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
15 def main():
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
16 ## input = LONG + ".h"
12711
b817f1639939 Manually added HRHTMLRenderingLibAvailable.
Jack Jansen <jack.jansen@cwi.nl>
parents: 12709
diff changeset
17 input = "Macintosh HD:ufs:jack:SWdev:Universal:Interfaces:CIncludes:HTMLRendering.h"
12709
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
18 output = SHORT + "gen.py"
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
19 defsoutput = TOOLBOXDIR + LONG + ".py"
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
20 scanner = MyScanner(input, output, defsoutput)
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
21 scanner.scan()
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
22 scanner.close()
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
23 print "=== Done scanning and generating, now importing the generated code... ==="
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
24 exec "import " + SHORT + "support"
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
25 print "=== Done. It's up to you to compile it now! ==="
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
26
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
27 class MyScanner(Scanner):
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
28
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
29 def destination(self, type, name, arglist):
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
30 classname = "Function"
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
31 listname = "functions"
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
32 if arglist:
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
33 t, n, m = arglist[0]
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
34 if t == OBJECT and m == "InMode":
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
35 classname = "Method"
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
36 listname = "methods"
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
37 return classname, listname
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
38
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
39 def makeblacklistnames(self):
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
40 return [
12711
b817f1639939 Manually added HRHTMLRenderingLibAvailable.
Jack Jansen <jack.jansen@cwi.nl>
parents: 12709
diff changeset
41 "HRDisposeReference",
12709
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
42 ]
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
43
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
44 def makeblacklisttypes(self):
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
45 return [
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
46 "HRNewURLUPP",
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
47 "HRURLToFSSpecUPP",
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
48 "HRWasURLVisitedUPP",
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
49 ]
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
50
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
51 def makerepairinstructions(self):
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
52 return [
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
53 ([('char', '*', 'OutMode'), ('UInt32', '*', 'InMode')],
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
54 [('InBuffer', '*', 'InMode')]),
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
55 ]
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
56
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
57 def writeinitialdefs(self):
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
58 self.defsfile.write("def FOUR_CHAR_CODE(x): return x\n")
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
59
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
60
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
61 if __name__ == "__main__":
1bf714e0c10f Interface to macOS 9 HTMLRenderingLib. Not yet functional.
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
62 main()