Release coccinelle-0.2.3rc1
[bpt/coccinelle.git] / docs / manual / main.tex
1 \documentclass{report}
2
3 %******************************************************************************
4 % Prelude
5 %******************************************************************************
6 %------------------------------------------------------------------------------
7 % Packages
8 %------------------------------------------------------------------------------
9
10 \usepackage{ifthen}
11 \usepackage{hevea}
12
13 \usepackage{times}
14 \usepackage{fullpage}
15
16 \usepackage[utf8]{inputenc}
17 \usepackage[T1]{fontenc}
18
19 \usepackage{amsmath}
20 \usepackage{amssymb}
21
22 % fancy symbol, but require latex-extra-fonts (huge) package
23 \usepackage[geometry]{ifsym}
24
25
26
27 \usepackage{graphics}
28 \usepackage[pdftex]{graphicx}
29
30
31 \usepackage{epsfig}
32 \usepackage{subfigure}
33 \usepackage{wrapfig}
34
35 \usepackage[all]{xy}
36
37
38 \usepackage{fancyvrb}
39 \usepackage{moreverb}
40 \usepackage{alltt}
41
42 \usepackage{boxedminipage}
43
44 \usepackage{xspace}
45 \usepackage{endnotes}
46
47 \usepackage{multirow}
48 %\usepackage{colortbl} % conflict with color package below
49
50 \usepackage{listings}
51 %\usepackage{code/lgrind}
52
53 \usepackage[pdfborder={0 0 0}]{hyperref}
54 %\usepackage{url}
55
56 \usepackage[usenames,dvipsnames]{color}
57
58 %------------------------------------------------------------------------------
59 % Shortcuts
60 %------------------------------------------------------------------------------
61
62 \input{macros_common}
63 %e.g:
64 % \newcommand{\mita}[1]{\mbox{\it{{#1}}}}
65
66 \input{macros_options}
67
68 \input{macros_listing_cocci} % order is important
69 \input{macros_grammar}
70
71
72 %------------------------------------------------------------------------------
73 % Globals
74 %------------------------------------------------------------------------------
75 \input{macros}
76 %e.g:
77 % \newcommand{\avgcorrect}{96\%\xspace} % if consider all files
78 % \newcommand{\MyTool}{aComment\xspace}
79 % \newcommand{\bugsfound}{XXX\xspace}
80
81
82 %******************************************************************************
83 % Title
84 %******************************************************************************
85 \begin{document}
86 %don't want date printed
87 \date{}
88
89 %------------------------------------------------------------------------------
90 \title{
91 {\Huge \bf Coccinelle}\\
92 {User's manual}\\
93 {release \cocciversion}\\
94 }
95 %\title{\spatch and \sgrep manual}
96
97 \author{
98 Julia Lawall and Yoann Padioleau \\
99 {(with contributions from
100 Rene Rydhof Hansen,
101 Nicolas Palix,
102 Henrik Stuart)
103 }
104 }
105 %src: Xavier Leroy manual
106
107 \date{\today}
108
109 \maketitle
110 \tableofcontents
111
112 %******************************************************************************
113 % Body
114 %******************************************************************************
115
116 \chapter*{Foreword}
117
118 This manual documents the release \cocciversion of Coccinelle.
119 It is organized as follows:
120 \begin{itemize}
121 \item Part~\ref{part:usermanual} is an introduction to Coccinelle
122 \item Part~\ref{part:refmanual} is the reference description
123 of Coccinelle, its language and command line tool.
124 \end{itemize}
125
126 \section*{Conventions}
127
128 \section*{Copyright}
129
130 %coupling: copyright.txt
131 Coccinelle copyright is\\
132 \copyright~2010, University of Copenhagen DIKU and INRIA.\\
133 \copyright~2005-2009, University of Copenhagen DIKU and Ecole des Mines de Nantes.
134
135 Coccinelle is open source and can be freely redistributed under the
136 terms of the GNU General Public License version 2. See the file
137 \verb+license.txt+ in the distribution for licensing information.\\
138
139 \noindent
140 Copyright \copyright~2010, Nicolas Palix, Julia Lawall, and Gilles Muller\\
141 Copyright \copyright~2008, 2009, Yoann Padioleau, Nicolas Palix, Julia Lawall, and Gilles Muller\\
142 Permission is granted to copy, distribute and/or modify this document
143 under the terms of the GNU Free Documentation License, Version 1.3;
144 with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
145 A copy of the license is included in the section entitled "GNU
146 Free Documentation License".
147
148 \section*{Availability}
149
150 Coccinelle can be freely downloaded
151 from \url{http://coccinelle.lip6.fr}.\\
152 This website contains also additional information and a wiki website.
153
154
155 \part{User Manual}
156 \label{part:usermanual}
157
158 \input{introduction}
159
160 \input{installing}
161
162 \input{tutorial}
163
164 \chapter{Examples}
165 \input{examples}
166 \input{tips}
167
168
169 \input{isomorphisms}
170
171 \input{parsing}
172
173
174 \input{workflow}
175
176 \input{advanced}
177
178
179
180
181 \part{Reference Manual}
182 \label{part:refmanual}
183
184 \chapter{SmPL grammar}
185
186 \input{cocci_syntax}
187
188 \chapter{\spatch command line options}
189
190 %coupling: ../spatch.1
191 \input{spatch_options}
192
193 %******************************************************************************
194 % Appendix
195 %******************************************************************************
196
197 \part{Appendix}
198
199 \chapter*{GNU Free Documentation License}
200
201 \input{license.txt}
202 %index
203
204 {\small
205 \bibliographystyle{acm}
206 \bibliography{main}
207 }
208
209
210 %******************************************************************************
211 % Postlude
212 %******************************************************************************
213
214 \end{document}
215
216 %%% Local Variables:
217 %%% mode: LaTeX
218 %%% TeX-master: t
219 %%% coding: utf-8
220 %%% TeX-PDF-mode: t
221 %%% ispell-local-dictionary: "american"
222 %%% End: