mirror of
https://github.com/python/cpython.git
synced 2025-12-08 06:10:17 +00:00
Merged revisions 65199 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r65199 | georg.brandl | 2008-07-23 17:17:09 +0200 (Wed, 23 Jul 2008) | 2 lines Move opcode handling to Python's extension. ........
This commit is contained in:
parent
0e9463c4c9
commit
f0dd6a672d
1 changed files with 22 additions and 0 deletions
|
|
@ -83,6 +83,28 @@ def finish(self):
|
||||||
f.close()
|
f.close()
|
||||||
|
|
||||||
|
|
||||||
|
# Support for documenting Opcodes
|
||||||
|
|
||||||
|
import re
|
||||||
|
from sphinx import addnodes
|
||||||
|
|
||||||
|
opcode_sig_re = re.compile(r'(\w+(?:\+\d)?)\s*\((.*)\)')
|
||||||
|
|
||||||
|
def parse_opcode_signature(env, sig, signode):
|
||||||
|
"""Transform an opcode signature into RST nodes."""
|
||||||
|
m = opcode_sig_re.match(sig)
|
||||||
|
if m is None:
|
||||||
|
raise ValueError
|
||||||
|
opname, arglist = m.groups()
|
||||||
|
signode += addnodes.desc_name(opname, opname)
|
||||||
|
paramlist = addnodes.desc_parameterlist()
|
||||||
|
signode += paramlist
|
||||||
|
paramlist += addnodes.desc_parameter(arglist, arglist)
|
||||||
|
return opname.strip()
|
||||||
|
|
||||||
|
|
||||||
def setup(app):
|
def setup(app):
|
||||||
app.add_role('issue', issue_role)
|
app.add_role('issue', issue_role)
|
||||||
app.add_builder(PydocTopicsBuilder)
|
app.add_builder(PydocTopicsBuilder)
|
||||||
|
app.add_description_unit('opcode', 'opcode', '%s (opcode)',
|
||||||
|
parse_opcode_signature)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue