Commit | Line | Data |
---|---|---|
1f7d590d MW |
1 | %%% -*-latex-*- |
2 | %%% | |
3 | %%% Output machinery | |
4 | %%% | |
5 | %%% (c) 2015 Straylight/Edgeware | |
6 | %%% | |
7 | ||
8 | %%%----- Licensing notice --------------------------------------------------- | |
9 | %%% | |
10 | %%% This file is part of the Sensble Object Design, an object system for C. | |
11 | %%% | |
12 | %%% SOD is free software; you can redistribute it and/or modify | |
13 | %%% it under the terms of the GNU General Public License as published by | |
14 | %%% the Free Software Foundation; either version 2 of the License, or | |
15 | %%% (at your option) any later version. | |
16 | %%% | |
17 | %%% SOD is distributed in the hope that it will be useful, | |
18 | %%% but WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 | %%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
20 | %%% GNU General Public License for more details. | |
21 | %%% | |
22 | %%% You should have received a copy of the GNU General Public License | |
23 | %%% along with SOD; if not, write to the Free Software Foundation, | |
24 | %%% Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
25 | ||
26 | \chapter{The output system} \label{ch:output} | |
27 | ||
28 | %%%-------------------------------------------------------------------------- | |
29 | ||
bca101d9 MW |
30 | \begin{describe}{cls}{sequencer-item} |
31 | \end{describe} | |
32 | ||
33 | \begin{describe}{fun}{sequencer-item-p @<object> @> @<generalized-boolean>} | |
34 | \end{describe} | |
35 | ||
36 | \begin{describe}{fun}{make-sequencer-item @<name> \&optional @<functions>} | |
37 | \end{describe} | |
38 | ||
39 | \begin{describe*} | |
40 | {\dhead{fun}{sequencer-item-name @<item> @> @<name>} | |
41 | \dhead{fun}{sequencer-item-functions @<item> @> @<list>} | |
42 | \dhead{fun}{setf (sequencer-item-functions @<item>) @<list>}} | |
43 | \end{describe*} | |
44 | ||
45 | \begin{describe}{cls}{sequencer () \&key :constraints} | |
46 | \end{describe} | |
47 | ||
48 | \begin{describe}{fun}{ensure-sequencer-item @<sequencer> @<name> @> @<item>} | |
49 | \end{describe} | |
50 | ||
51 | \begin{describe}{fun}{add-sequencer-constraint @<sequencer> @<constraint>} | |
52 | \end{describe} | |
53 | ||
54 | \begin{describe}{fun} | |
55 | {invoke-sequencer-items @<sequencer> \&rest @<arguments>} | |
56 | \end{describe} | |
57 | ||
58 | \begin{describe}{gf}{hook-output @<object> @<reason> @<sequencer>} | |
59 | \end{describe} | |
60 | ||
61 | \begin{describe}{mac} | |
62 | {sequence-output (@<stream-var> @<sequencer>) \\ \ind | |
63 | @{ :constraint (@<item-name>^*) @} \\ | |
64 | @{ (@<item-name> @<form>^*) @}^*} | |
65 | \end{describe} | |
66 | ||
67 | ||
1f7d590d MW |
68 | %% output for `h' files |
69 | %% | |
70 | %% prologue | |
71 | %% guard start | |
72 | %% typedefs start | |
73 | %% typedefs | |
74 | %% typedefs end | |
75 | %% includes start | |
76 | %% includes | |
77 | %% includes end | |
78 | %% classes start | |
79 | %% CLASS banner | |
80 | %% CLASS islots start | |
81 | %% CLASS islots slots | |
82 | %% CLASS islots end | |
83 | %% CLASS vtmsgs start | |
84 | %% CLASS vtmsgs CLASS start | |
85 | %% CLASS vtmsgs CLASS slots | |
86 | %% CLASS vtmsgs CLASS end | |
87 | %% CLASS vtmsgs end | |
88 | %% CLASS vtables start | |
89 | %% CLASS vtables CHAIN-HEAD start | |
90 | %% CLASS vtables CHAIN-HEAD slots | |
91 | %% CLASS vtables CHAIN-HEAD end | |
92 | %% CLASS vtables end | |
93 | %% CLASS vtable-externs | |
94 | %% CLASS vtable-externs-after | |
95 | %% CLASS methods start | |
96 | %% CLASS methods | |
97 | %% CLASS methods end | |
98 | %% CLASS ichains start | |
99 | %% CLASS ichains CHAIN-HEAD start | |
100 | %% CLASS ichains CHAIN-HEAD slots | |
101 | %% CLASS ichains CHAIN-HEAD end | |
102 | %% CLASS ichains end | |
103 | %% CLASS ilayout start | |
104 | %% CLASS ilayout slots | |
105 | %% CLASS ilayout end | |
106 | %% CLASS conversions | |
107 | %% CLASS object | |
108 | %% classes end | |
109 | %% guard end | |
110 | %% epilogue | |
111 | ||
112 | %% output for `c' files | |
113 | %% | |
114 | %% prologue | |
115 | %% includes start | |
116 | %% includes | |
117 | %% includes end | |
118 | %% classes start | |
119 | %% CLASS banner | |
120 | %% CLASS direct-methods start | |
121 | %% CLASS direct-methods METHOD start | |
122 | %% CLASS direct-methods METHOD body | |
123 | %% CLASS direct-methods METHOD end | |
124 | %% CLASS direct-methods end | |
125 | %% CLASS effective-methods | |
126 | %% CLASS vtables start | |
127 | %% CLASS vtables CHAIN-HEAD start | |
128 | %% CLASS vtables CHAIN-HEAD class-pointer METACLASS | |
129 | %% CLASS vtables CHAIN-HEAD base-offset | |
130 | %% CLASS vtables CHAIN-HEAD chain-offset TARGET-HEAD | |
131 | %% CLASS vtables CHAIN-HEAD vtmsgs CLASS start | |
132 | %% CLASS vtables CHAIN-HEAD vtmsgs CLASS slots | |
133 | %% CLASS vtables CHAIN-HEAD vtmsgs CLASS end | |
134 | %% CLASS vtables CHAIN-HEAD end | |
135 | %% CLASS vtables end | |
136 | %% CLASS object prepare | |
137 | %% CLASS object start | |
138 | %% CLASS object CHAIN-HEAD ichain start | |
139 | %% CLASS object SUPER slots start | |
140 | %% CLASS object SUPER slots | |
141 | %% CLASS object SUPER vtable | |
142 | %% CLASS object SUPER slots end | |
143 | %% CLASS object CHAIN-HEAD ichain end | |
144 | %% CLASS object end | |
145 | %% classes end | |
146 | %% epilogue | |
147 | ||
148 | %%%----- That's all, folks -------------------------------------------------- | |
149 | ||
150 | %%% Local variables: | |
151 | %%% mode: LaTeX | |
152 | %%% TeX-master: "sod.tex" | |
153 | %%% TeX-PDF-mode: t | |
154 | %%% End: |