Release coccinelle-0.2.4rc6
[bpt/coccinelle.git] / docs / manual / manual.pdf
1 %PDF-1.4
2 %ÐÔÅØ
3 1 0 obj
4 << /S /GoTo /D (part.1) >>
5 endobj
6 4 0 obj
7 (I User Manual)
8 endobj
9 5 0 obj
10 << /S /GoTo /D (chapter.1) >>
11 endobj
12 8 0 obj
13 (Introduction)
14 endobj
15 9 0 obj
16 << /S /GoTo /D (chapter.2) >>
17 endobj
18 12 0 obj
19 (Installing Coccinelle)
20 endobj
21 13 0 obj
22 << /S /GoTo /D (section.2.1) >>
23 endobj
24 16 0 obj
25 (Requirements)
26 endobj
27 17 0 obj
28 << /S /GoTo /D (section.2.2) >>
29 endobj
30 20 0 obj
31 (Getting Coccinelle)
32 endobj
33 21 0 obj
34 << /S /GoTo /D (section.2.3) >>
35 endobj
36 24 0 obj
37 (Compiling Coccinelle)
38 endobj
39 25 0 obj
40 << /S /GoTo /D (section.2.4) >>
41 endobj
42 28 0 obj
43 (Running Coccinelle)
44 endobj
45 29 0 obj
46 << /S /GoTo /D (chapter.3) >>
47 endobj
48 32 0 obj
49 (Tutorial)
50 endobj
51 33 0 obj
52 << /S /GoTo /D (chapter.4) >>
53 endobj
54 36 0 obj
55 (Examples)
56 endobj
57 37 0 obj
58 << /S /GoTo /D (section.4.1) >>
59 endobj
60 40 0 obj
61 (Examples)
62 endobj
63 41 0 obj
64 << /S /GoTo /D (subsection.4.1.1) >>
65 endobj
66 44 0 obj
67 (Function renaming)
68 endobj
69 45 0 obj
70 << /S /GoTo /D (subsection.4.1.2) >>
71 endobj
72 48 0 obj
73 (Removing a function argument)
74 endobj
75 49 0 obj
76 << /S /GoTo /D (subsection.4.1.3) >>
77 endobj
78 52 0 obj
79 (Introduction of a macro)
80 endobj
81 53 0 obj
82 << /S /GoTo /D (subsection.4.1.4) >>
83 endobj
84 56 0 obj
85 (Look for NULL dereference)
86 endobj
87 57 0 obj
88 << /S /GoTo /D (subsection.4.1.5) >>
89 endobj
90 60 0 obj
91 (Reference counter: the of\137xxx API)
92 endobj
93 61 0 obj
94 << /S /GoTo /D (subsection.4.1.6) >>
95 endobj
96 64 0 obj
97 (Filtering identifiers, declarers or iterators with regular expression)
98 endobj
99 65 0 obj
100 << /S /GoTo /D (section.4.2) >>
101 endobj
102 68 0 obj
103 (Tips and Tricks)
104 endobj
105 69 0 obj
106 << /S /GoTo /D (subsection.4.2.1) >>
107 endobj
108 72 0 obj
109 (How to remove useless parentheses?)
110 endobj
111 73 0 obj
112 << /S /GoTo /D (chapter.5) >>
113 endobj
114 76 0 obj
115 (Isomorphisms and standard.iso)
116 endobj
117 77 0 obj
118 << /S /GoTo /D (chapter.6) >>
119 endobj
120 80 0 obj
121 (Parsing C, cpp, and standard.h)
122 endobj
123 81 0 obj
124 << /S /GoTo /D (chapter.7) >>
125 endobj
126 84 0 obj
127 (Developing a Semantic Patch)
128 endobj
129 85 0 obj
130 << /S /GoTo /D (chapter.8) >>
131 endobj
132 88 0 obj
133 (Advanced Features)
134 endobj
135 89 0 obj
136 << /S /GoTo /D (part.2) >>
137 endobj
138 92 0 obj
139 (II Reference Manual)
140 endobj
141 93 0 obj
142 << /S /GoTo /D (chapter.9) >>
143 endobj
144 96 0 obj
145 (SmPL grammar)
146 endobj
147 97 0 obj
148 << /S /GoTo /D (section.9.1) >>
149 endobj
150 100 0 obj
151 (Program)
152 endobj
153 101 0 obj
154 << /S /GoTo /D (section.9.2) >>
155 endobj
156 104 0 obj
157 (Metavariables for transformations)
158 endobj
159 105 0 obj
160 << /S /GoTo /D (section.9.3) >>
161 endobj
162 108 0 obj
163 (Metavariables for scripts)
164 endobj
165 109 0 obj
166 << /S /GoTo /D (section.9.4) >>
167 endobj
168 112 0 obj
169 (Transformation)
170 endobj
171 113 0 obj
172 << /S /GoTo /D (section.9.5) >>
173 endobj
174 116 0 obj
175 (Types)
176 endobj
177 117 0 obj
178 << /S /GoTo /D (section.9.6) >>
179 endobj
180 120 0 obj
181 (Function declarations)
182 endobj
183 121 0 obj
184 << /S /GoTo /D (section.9.7) >>
185 endobj
186 124 0 obj
187 (Declarations)
188 endobj
189 125 0 obj
190 << /S /GoTo /D (section.9.8) >>
191 endobj
192 128 0 obj
193 (Statements)
194 endobj
195 129 0 obj
196 << /S /GoTo /D (section.9.9) >>
197 endobj
198 132 0 obj
199 (Expressions)
200 endobj
201 133 0 obj
202 << /S /GoTo /D (section.9.10) >>
203 endobj
204 136 0 obj
205 (Constant, Identifiers and Types for Transformations)
206 endobj
207 137 0 obj
208 << /S /GoTo /D (chapter.10) >>
209 endobj
210 140 0 obj
211 (spatch command line options)
212 endobj
213 141 0 obj
214 << /S /GoTo /D (section.10.1) >>
215 endobj
216 144 0 obj
217 (Introduction)
218 endobj
219 145 0 obj
220 << /S /GoTo /D (section.10.2) >>
221 endobj
222 148 0 obj
223 (Selecting and parsing the semantic patch)
224 endobj
225 149 0 obj
226 << /S /GoTo /D (subsection.10.2.1) >>
227 endobj
228 152 0 obj
229 (Standalone options)
230 endobj
231 153 0 obj
232 << /S /GoTo /D (subsection.10.2.2) >>
233 endobj
234 156 0 obj
235 (The semantic patch)
236 endobj
237 157 0 obj
238 << /S /GoTo /D (subsection.10.2.3) >>
239 endobj
240 160 0 obj
241 (Isomorphisms)
242 endobj
243 161 0 obj
244 << /S /GoTo /D (subsection.10.2.4) >>
245 endobj
246 164 0 obj
247 (Display options)
248 endobj
249 165 0 obj
250 << /S /GoTo /D (section.10.3) >>
251 endobj
252 168 0 obj
253 (Selecting and parsing the C files)
254 endobj
255 169 0 obj
256 << /S /GoTo /D (subsection.10.3.1) >>
257 endobj
258 172 0 obj
259 (Standalone options)
260 endobj
261 173 0 obj
262 << /S /GoTo /D (subsection.10.3.2) >>
263 endobj
264 176 0 obj
265 (Selecting C files)
266 endobj
267 177 0 obj
268 << /S /GoTo /D (subsection.10.3.3) >>
269 endobj
270 180 0 obj
271 (Parsing C files)
272 endobj
273 181 0 obj
274 << /S /GoTo /D (section.10.4) >>
275 endobj
276 184 0 obj
277 (Application of the semantic patch to the C code)
278 endobj
279 185 0 obj
280 << /S /GoTo /D (subsection.10.4.1) >>
281 endobj
282 188 0 obj
283 (Feedback at the rule level during the application of the semantic patch)
284 endobj
285 189 0 obj
286 << /S /GoTo /D (subsection.10.4.2) >>
287 endobj
288 192 0 obj
289 (Feedback at the CTL level during the application of the semantic patch)
290 endobj
291 193 0 obj
292 << /S /GoTo /D (subsection.10.4.3) >>
293 endobj
294 196 0 obj
295 (Actions during the application of the semantic patch)
296 endobj
297 197 0 obj
298 << /S /GoTo /D (section.10.5) >>
299 endobj
300 200 0 obj
301 (Generation of the result)
302 endobj
303 201 0 obj
304 << /S /GoTo /D (section.10.6) >>
305 endobj
306 204 0 obj
307 (Other options)
308 endobj
309 205 0 obj
310 << /S /GoTo /D (subsection.10.6.1) >>
311 endobj
312 208 0 obj
313 (Version information)
314 endobj
315 209 0 obj
316 << /S /GoTo /D (subsection.10.6.2) >>
317 endobj
318 212 0 obj
319 (Help)
320 endobj
321 213 0 obj
322 << /S /GoTo /D (subsection.10.6.3) >>
323 endobj
324 216 0 obj
325 (Controlling the execution of Coccinelle)
326 endobj
327 217 0 obj
328 << /S /GoTo /D (subsection.10.6.4) >>
329 endobj
330 220 0 obj
331 (Miscellaneous)
332 endobj
333 221 0 obj
334 << /S /GoTo /D (part.3) >>
335 endobj
336 224 0 obj
337 (III Appendix)
338 endobj
339 225 0 obj
340 << /S /GoTo /D [226 0 R /Fit ] >>
341 endobj
342 228 0 obj <<
343 /Length 323
344 /Filter /FlateDecode
345 >>
346 stream
347 xÚu\91ÁNÄ \10\86ïû\14Ü,\89E\86BÛ½jÔÍÆlÌZ\ fF=°-u\89,$´uõí¥¥\89k\8c\17øg\98\ fþ\19(zC\14Ý.è?ûeµ¸¸á9b\9c\14e\ 1¨j\11\13@r(\91 \19á\82¡ªAÏÉ\95«km\951
348 ¿Vë\80\14\b
349 Â@ð\11á¤\\16(e@\96\ 1\9c\80ÇNù3,DÒá\94 \9a\1c¤\1d¤\19a\94\13ƲßÕ^\19%;\15K)a$ûy&\94\89ÑF\8bÒ¬ ¥\b(ÏH\99\89\88®\a£e\ 4ï$\ 6\91\1c1ÐD\1a\13sÒ6Q<a\by'­\8dñýX+\eíÂËÃä+\85Ðñ2\87 ÂÎgk/TУî÷\91ª\9dí½ÞaF\93¡×ÎÎݵÞ\1d¢Ú*;·±ýjö®\8dz%m§ìy\f6ºvFv§6\8cþ\9c\ fWÊzý\1eõC?Hß\a\ 3\83Ð~NË0¹\92\84\ 1Nî6nä?ÆE\1dvÊG\10ø|\e£@GöÏ¿_W\8boËT\85N
350 endstream
351 endobj
352 226 0 obj <<
353 /Type /Page
354 /Contents 228 0 R
355 /Resources 227 0 R
356 /MediaBox [0 0 612 792]
357 /Parent 233 0 R
358 >> endobj
359 229 0 obj <<
360 /D [226 0 R /XYZ 71 721 null]
361 >> endobj
362 230 0 obj <<
363 /D [226 0 R /XYZ 72 720 null]
364 >> endobj
365 227 0 obj <<
366 /Font << /F46 231 0 R /F47 232 0 R >>
367 /ProcSet [ /PDF /Text ]
368 >> endobj
369 268 0 obj <<
370 /Length 1169
371 /Filter /FlateDecode
372 >>
373 stream
374 xÚíZKsÛ6\10¾çWðHÎ\98,Þ zé¤N\9c¦ãt<\89rJ;\1d\94\82mNÄGIªqþ}\97\ 4@\89\ e+Õ­ÝÌT<Ø$!pµØow¿ÝµQp\13 àÕ3ä®ß¯\9e}sÁD@X"S\89\83Õu I (J(\15Áj\1d|\bÏ«²3e×F¿¬~\1cöb\9c(ÎI¿\17\ 51ÇI\8aÜÖ×Q\8c\11BáûÖ4QL8
375 ßèr«7QL±\90,¤£\f\95(A\84\13A@ \96V\ 4v"^\97]\13á4¬Ö۬˫²\7f3`\82&\b+xgØË\86ÅدZ9©ý\8c\8crÚNo6yyc\15:¯²,/Ífcæ$r§ ÜS0f,M\90äAl\ fîä'\83¦ ñ­ù}\9b\18l\14\vÆÃ$\8a9|õé\\98R\8f-\13p\18\9d\10cI¤Eg·\8aî#B\1c"¯L×Í\ 1\1e+B\178\9e\f\aáq \ e\87óª¨óÙÐ\8b©b\v\ 4O\18
376 Ì'§mYÎ\ 2Àdº