Coccinelle release 1.0.0-rc3
[bpt/coccinelle.git] / docs / Coccilib.3cocci
CommitLineData
8babbc8f
C
1.\" -*- nroff -*-
2.\" Please adjust this date whenever revising the manpage.
65038c61 3.TH COCCILIB 3COCCI "May 18, 2011"
8babbc8f
C
4
5.\" see http://www.fnal.gov/docs/products/ups/ReferenceManual/html/manpages.html
6.\" see http://www.linuxjournal.com/article/1158
7.\" see http://www.schweikhardt.net/man_page_howto.html
8.\" groff -Tascii -man ./Coccilib.3cocci | more
9.\"
10.\" Some roff macros, for reference:
11.\" .nh disable hyphenation
12.\" .hy enable hyphenation
13.\" .ad l left justify
14.\" .ad b justify to both left and right margins
15.\" .nf disable filling
16.\" .fi enable filling
17.\" .br insert line break
18.\" .sp <n> insert n+1 empty lines
19.\" for manpage-specific macros, see man(7)
20.\"
21.\" TeX users may be more comfortable with the \fB<whatever>\fP and
22.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
23.\" respectively. Also \fR for roman.
24.\" pad: src: deputy man page
25.SH NAME
26Coccilib \- Library of functions for use with Coccinelle OCaml script code
27.SH MODULE
28Module Coccilib
29.SH DOCUMENTATION
30.sp
31Module
32.BI "Coccilib"
33 :
34.B sig end
35
36.B ===
37.B Positions
38.B ===
39.PP
40.I type pos
41= {
42 current_element :
43.B string
44;
45 file :
46.B string
47;
48 line :
49.B int
50;
51 col :
52.B int
53;
54 line_end :
55.B int
56;
57 col_end :
58.B int
59;
60 }
61
62.sp
63A value of type
64.B pos
65describes a position in a source file\&.
66.B current_element
67is the name of the function containing the matched position;
68.B file
69is the name of the file containing the matched position;
70.B line
71is the number of the line containing the first character of the matched
72position;
73.B col
74is the column containing the first character of the matched position;
75.B line_end
76is the number of the line containing the last character of the matched
77position;
78.B col_end
79is the column containing the last character of the matched position\&.
80.sp
81
82.B ===
83.B Abstract Syntax Tree
84.B ===
85.PP
86.I type param_type
87 =
88 | Pos
89.B of
90.B pos list
91 | Str
92.B of
93.B string
94 | Type
95.B of
96.B Ast_c.fullType
97 | Init
98.B of
99.B Ast_c.initialiser
100 | InitList
101.B of
102.B Ast_c.initialiser Ast_c.wrap2 list
103 | Int
104.B of
105.B int
106 | Param
107.B of
108.B Ast_c.parameterType
109 | ParamList
110.B of
111.B Ast_c.parameterType Ast_c.wrap2 list
112 | Expr
113.B of
114.B Ast_c.expression
115 | ExprList
116.B of
117.B Ast_c.argument Ast_c.wrap2 list
118 | Decl
119.B of
120.B Ast_c.declaration
121 | Field
122.B of
123.B Ast_c.field
124 | FieldList
125.B of
126.B Ast_c.field list
127 | Stmt
128.B of
129.B Ast_c.statement
130.sp
131
132.B ===
133.B Match management functions
134.B ===
135
136.I val include_match
137:
138.B bool -> unit
139.sp
140If the argument is true, retain the environment with respect to which the
141ocaml script code is being executed for use in subsequent rules. If
142the argument is false, discard this environment. By default, the
143environment is retained.
144.sp
145
146.I val inc_match
147:
148.B bool ref
149.sp
150True if the environment with respect to which the
151ocaml script code is being executed is to be retained for use in
152subsequent rules, and false otherwise.
153.sp
154
155.I val dir
156:
157.B unit -> string
158.sp
159Returns the directory on which spatch was launched.
160.sp
161
162.SH REFERENCES
163Y. Padioleau, J.L. Lawall, R.R Hansen, G. Muller
164"Documenting and Automating Collateral Evolutions in Linux Device Driver"
165.I EuroSys 2008,
166Glasgow, Scotland (April 2008) pp. 247-260.
167.SH AUTHOR
168This manual page was written by Julia Lawall <julia@diku.dk>.
169.SH REPORTING BUGS
170Send a mail to <cocci@diku.dk>
171.SH COPYRIGHT
172Copyright 2011, DIKU, University of Copenhagen and INRIA.