Man page - crangler(1)
Packages contains this manual
Manual
CRANGLER
NAMESYNOPSIS
DESCRIPTION
EXAMPLE
ENVIRONMENT
BUGS
COPYRIGHT
NAME
crangler - C source transformation
SYNOPSIS
crangler [-?] [-h] [--help]
crangler file.json
DESCRIPTION
crangler is a command-line utility that makes changes to a preprocessed C file that are prescribed in a JSON configuration file.
The supported transformations are:
Add a contract (pre/post/assigns) to a named C function.
Add a loop contract to a loop identified by the name of the function containing the loop and a loop number.
Remove the static storage classifier from a function or a variable.
Replace a function call by a call to a stub.
The resulting source file is written to standard output or to a file specified in the JSON configuration.
EXAMPLE
The following
JSON configuration file makes
crangler
preprocess
remove_static1.c
. While processing this file to
produce a preprocessed result, no non-standard include paths
or defines reqired. Transformations configured here are
removing the
static
storage classifier from all
functions matching the regular expression
foobar[12]
,
and replacing calls to
bar
by calls to a function
called
bar_stub
. No objects are listed that require
transformation. The result is written to standard output.
{
"sources": [
"remove_static1.c"
],
"includes": [],
"defines": [],
"functions": [
{
"foobar[12]": [
"remove static"
],
"bar": [
"stub bar_stub"
]
}
],
"objects": [],
"output": "stdout"
}
ENVIRONMENT
All tools honor the TMPDIR environment variable when generating temporary files and directories.
BUGS
If you encounter a problem please create an issue at https://github.com/diffblue/cbmc/issues
COPYRIGHT
2021, Daniel Kroening