GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
CRANGLER(1) User Commands CRANGLER(1)

crangler - C source transformation

crangler [-?] [-h] [--help]

crangler file.json

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.

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" }

All tools honor the TMPDIR environment variable when generating temporary files and directories.

If you encounter a problem please create an issue at https://github.com/diffblue/cbmc/issues

2021, Daniel Kroening

June 2022 crangler-5.59.0

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.