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