blob: d74f67040d82409e730665e4cadd99db39a347c0 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
<!ENTITY dbstyle SYSTEM "/usr/share/sgml/docbook/dsssl-stylesheets-1.77/print/docbook.dsl" CDATA DSSSL>
]>
<style-sheet>
<style-specification use="docbook">
<style-specification-body>
;; user modifications
(define %paper-type% "A4")
(define %default-quadding% 'justify)
(define %block-sep% (* %para-sep% 1.0))
;; modify paramdef to replace trailing semicolon with colon
(element paramdef
(let ((param (select-elements (children (current-node)) (normalize "parameter"))))
(make sequence
(if (equal? (child-number (current-node)) 1)
(literal "(")
(empty-sosofo))
(if (equal? %funcsynopsis-style% 'ansi)
(process-children)
(process-node-list param))
(if (equal? (gi (ifollow (current-node))) (normalize "paramdef"))
(literal ", ")
(literal "):")))))
(element void
(literal "():"))
(element parameter ($mono-seq$))
(mode cs-python-mode
(element classsynopsis
(let* ((classes (select-elements (children (current-node))
(normalize "ooclass")))
(classname (node-list-first classes))
(superclasses (node-list-rest classes)))
(make display-group
use: verbatim-style
(make paragraph
(literal "class ")
(process-node-list classname)
(if (node-list-empty? superclasses)
(literal ":")
(make sequence
(literal "(")
(process-node-list superclasses)
(literal "):"))))
(process-node-list
(node-list-filter-by-gi
(children (current-node))
(list (normalize "constructorsynopsis")
(normalize "destructorsynopsis")
(normalize "fieldsynopsis")
(normalize "methodsynopsis")
(normalize "classsynopsisinfo"))))
))))
(element ooclass
(make sequence
(process-children)
(cond
;;((first-sibling?) (literal " "))
((first-sibling?) (empty-sosofo))
((last-sibling?) (empty-sosofo))
(#t (literal ", ")))))
(element constructorsynopsis
(python-constructor-synopsis))
(element destructorsynopsis
(python-constructor-synopsis))
(element classsynopsisinfo
($verbatim-display$ %indent-classsynopsisinfo-lines% %number-classsynopsisinfo-lines%))
(define (python-constructor-synopsis #!optional (nd (current-node)))
(let* ((the-method-params (select-elements (children nd) (normalize "methodparam"))))
(make paragraph
(literal " def __init__(")
(process-node-list the-method-params)
(literal "):"))))
(define (python-destructor-synopsis #!optional (nd (current-node)))
(let* ((the-method-params (select-elements (children nd) (normalize "methodparam"))))
(make paragraph
(literal " def __del__(")
(process-node-list the-method-params)
(literal "):"))))
;;(element parameter
;; (process-children))
(define (python-method-synopsis #!optional (nd (current-node)))
(let* ((the-method-name (select-elements (children nd) (normalize "methodname")))
(the-method-params (select-elements (children nd) (normalize "methodparam")))
)
(make paragraph
(literal " def ")
(process-node-list the-method-name)
(literal "(")
(process-node-list the-method-params)
(literal "):"))))
</style-specification-body>
</style-specification>
<external-specification id="docbook" document="dbstyle">
</style-sheet>
|