coccigrep(1)coccigrep(1)NAMEcoccigrep - semantic grep for the C programming language
SYNOPSIScoccigrep [OPTIONS] -t TYPE [FILE...]
DESCRIPTIONcoccigrep is a semantic grep for the C programming language. It is
based on coccinelle and can be used to find where a given structure is
used in C source files. coccigrep depends on the spatch program which
comes with coccinelle.
OPTIONS
Display options
-A NUM, --after-context=NUM
Print NUM lines of trailing context after matching line.
-B NUM, --before-context=NUM
Print NUM lines of leading context before matching line.
-c, --color
Colorize output (needs pygments).
-C NUM, --context=NUM
Print NUM lines of output context.
-f FORMAT, --output-format=FORMAT
Colorize format for output. FORMAT is term or html.
Search options
-a ATTRIBUTE, --attribut=ATTRIBUTE
Match operations that involve the field ATTRIBUTE of the struc‐
ture given with option -t.
--cpp Activate coccinelle C++ support.
-o OPERATION, --operation=OPERATION
Specify the kind of operation to look for. The available values
for OPERATION are:
deref
Any access to an ATTRIBUTE.
func
Any function call for which one of the parameters is of
type TYPE (as defined with -t). In this operation, the
option -a sets the name of the function to match and does
not refer to an attribute.
set
Any operation wich changes the value of an ATTRIBUTE.
test
Any boolean test where an ATTRIBUTE appears.
used
Any statement where the type TYPE (as defined with -t)
appears. This OPERATION does not need to look for an
ATTRIBUTE thus it ignores option -a.
The default operation is used if -a is not given, or deref if it
is. Depending on your environment, more OPERATIONs may be
available. See option -L for information about OPERATION list‐
ing.
-t TYPE, --type=TYPE
C type to look for.
Editor options
-E, --emacs
Emacs output.
-V, --vim
Vim output.
Program information
-h, --help
Print usage message and exit.
-L, --list-operations
List available OPERATIONs. Use together with -v to get detailed
information about listed OPERATIONs.
-v, --verbose
Verbose output (including coccinelle errors).
--version
Print the version number of coccigrep.
Other options
-p NCPUS, --process=NCPUS
Number of cpus to use.
-s SP, --sp=SP
Semantic patch to use.
-l FILE, --file-list=FILE
File containing a list of input files.
BUGS
The operation option could lead to some missed match because the seman‐
tic patches used internally may need some improvements. Use options -L
together with -v to get detailed information about available opera‐
tions.
Please report issues to <https://github.com/regit/coccigrep/issues>.
All ideas are welcome.
EXAMPLES
1. Find where in a set of files the structure Packet is used:
$ coccigrep-t Packet *c
2. Finds where in a set of files the datalink attribute is used in the structure Packet:
$ coccigrep-t Packet -a datalink *c
3. Finds where the datalink attribute of Packet is set:
$ coccigrep-t Packet -a datalink -o set source*c
FILES
~/.coccigrep Configuration file for coccigrep.
SEE ALSOspatch(1)
Project homepage: <http://home.regit.org/software/coccigrep/>
version 1.3 October 16, 2011 coccigrep(1)