Index of values


(++) [Pretty]
Concatenates two documents.

A
addAttribute [Cil]
Add an attribute.
addAttributes [Cil]
Add a list of attributes.
addOffset [Cil]
addOffset o1 o2 adds o1 to the end of o2.
addOffsetLval [Cil]
Add an offset at the end of an lvalue.
add_identifier [Errormsg]
add_type [Errormsg]
align [Pretty]
Mark the current column as the current indentation level.
alignOf_int [Cil]
The minimum alignment (in bytes) for a type.
append [Clist]
Append two clists
argsToList [Cil]
Obtain the argument list ([] if None)
attributeHash [Cil]
This table contains the mapping of predefined attributes to classes.

B
bitsOffset [Cil]
Give a type of a base and an offset, returns the number of bits from the base address and the width (also expressed in bits) for the subobject denoted by the offset.
bitsSizeOf [Cil]
The size of a type, in bits.
break [Pretty]
A document that consists of either a space or a line break.
bug [Cil]
Like Errormsg.bug except that Cil.currentLoc is also printed
bug [Errormsg]
Similar to error except that its output has the form Bug: ...

C
cExp [Formatcil]
Constructs an expression based on the program and the list of arguments.
cInstr [Formatcil]
Constructs an instruction based on the program and the list of arguments.
cLval [Formatcil]
Constructs an lval based on the program and the list of arguments.
cStmt [Formatcil]
cStmts [Formatcil]
Constructs a list of statements
cType [Formatcil]
Constructs a type based on the program and the list of arguments.
charConstPtrType [Cil]
char const *
charPtrType [Cil]
char *
charType [Cil]
char
char_is_unsigned [Cil]
Whether "char" is unsigned.
checkBeforeAppend [Clist]
A useful check to assert before an append.
chr [Pretty]
A document that prints a character.
cilVersion [Cil]
This are the CIL version numbers.
cilVersionMajor [Cil]
cilVersionMinor [Cil]
cilVersionRevision [Cil]
compFullName [Cil]
Get the full name of a comp
compactStmts [Cil]
Try to compress statements so as to get maximal basic blocks
compareLoc [Cil]
Comparison function for locations.
computeCFGInfo [Cil]
Compute the CFG information for all statements in a fundec and return a list of the statements.
constFold [Cil]
Do constant folding on an expression.
constFoldBinOp [Cil]
Do constant folding on a binary operation.
copyCompInfo [Cil]
Makes a shallow copy of a Cil.compinfo changing the name and the key.
copyFunction [Cil]
Create a deep copy of a function.
copyVarinfo [Cil]
Make a shallow copy of a varinfo and assign a new identifier
countNewLines [Pretty]
Keep a running count of the taken newlines.
currentLoc [Cil]
A reference to the current location.
currentPattern [Errormsg]

D
dExp [Formatcil]
Deconstructs an expression based on the program.
dExp [Cil]
Generate an Cil.exp to be used in case of errors.
dGlobal [Cil]
Generate a Cil.global to be used in case of errors.
dInstr [Formatcil]
Deconstructs an instruction based on the program.
dInstr [Cil]
Generate an Cil.instr to be used in case of errors.
dLval [Formatcil]
Deconstructs an lval based on the program.
dType [Formatcil]
Deconstructs a type based on the program.
d_attr [Cil]
Pretty-print an attribute using Cil.defaultCilPrinter
d_attrlist [Cil]
Pretty-print a list of attributes using Cil.defaultCilPrinter
d_attrparam [Cil]
Pretty-print an argument of an attribute using Cil.defaultCilPrinter
d_binop [Cil]
Pretty-print a binary operator
d_const [Cil]
Pretty-print a constant
d_exp [Cil]
Pretty-print an expression using Cil.defaultCilPrinter
d_fkind [Cil]
Pretty-print a floating-point kind
d_formatarg [Cil]
Pretty-prints a format arg
d_global [Cil]
Pretty-print the internal representation of a global using Cil.defaultCilPrinter.
d_ikind [Cil]
Pretty-print an integer of a given kind
d_init [Cil]
Pretty-print an initializer using Cil.defaultCilPrinter.
d_instr [Cil]
Pretty-print an instruction using Cil.defaultCilPrinter
d_label [Cil]
Pretty-print a label using Cil.defaultCilPrinter
d_list [Pretty]
sm: Yet another list printer.
d_loc [Cil]
Pretty-print a location
d_lval [Cil]
Pretty-print an lvalue using Cil.defaultCilPrinter
d_offset [Cil]
Pretty-print an offset using Cil.defaultCilPrinter, given the pretty printing for the base.
d_plainexp [Cil]
Pretty-print the internal representation of an expression
d_plaininit [Cil]
Pretty-print the internal representation of an integer
d_plainlval [Cil]
Pretty-print the internal representation of an lvalue
d_plaintype [Cil]
Pretty-print the internal representation of a type
d_shortglobal [Cil]
Pretty-print a short description of the global.
d_stmt [Cil]
Pretty-print a statement using Cil.defaultCilPrinter.
d_storage [Cil]
Pretty-print storage-class information
d_thisloc [Cil]
Pretty-print the Cil.currentLoc
d_type [Cil]
Pretty-print a type using Cil.defaultCilPrinter
d_typsig [Cil]
Print a type signature
debugFlag [Errormsg]
If set then print debugging info
defaultCilPrinter [Cil]
dn_attr [Cil]
dn_attrlist [Cil]
dn_attrparam [Cil]
dn_exp [Cil]
Versions of the above pretty printers, that don't print #line directives
dn_global [Cil]
dn_init [Cil]
dn_instr [Cil]
dn_lval [Cil]
dn_stmt [Cil]
dn_type [Cil]
docAlphaTable [Cil]
docArray [Pretty]
Formats an array.
docCList [Clist]
A document for printing a clist (similar to docList)
docList [Pretty]
An alternative function for printing a list.
docOpt [Pretty]
Prints an 'a option with None or Some
doubleType [Cil]
double
dprintf [Pretty]
This function provides an alternative method for constructing doc objects.
dropAttribute [Cil]
Remove all attributes with the given name.
dummyFile [Cil]
A dummy file
dummyFunDec [Cil]
A dummy function declaration handy when you need one as a placeholder.
dummyInstr [Cil]
A instr to serve as a placeholder
dummyStmt [Cil]
A statement consisting of just dummyInstr
dumpFile [Cil]
Pretty-print an entire file.
dumpGlobal [Cil]
Pretty-print a global.
dumpInit [Cil]
Dump an initializer to a file using a given indentation.
dumpStmt [Cil]
Dump a statement to a file using a given indentation.

E
empty [Clist]
The empty clist
emptyFunction [Cil]
Make an empty function
eprintf [Pretty]
Like Pretty.fprintf applied to stderr
error [Cil]
Like Errormsg.error except that Cil.currentLoc is also printed
error [Errormsg]
Prints an error message of the form Error: ... and then raises the exception Error.
errorLoc [Cil]
Like Cil.error except that it explicitly takes a location argument, instead of using the Cil.currentLoc
existsType [Cil]
Scans a type by applying the function on all elements.

F
fastMode [Pretty]
If set to true then optional breaks are taken only when the document has exceeded the given width.
filterAttributes [Cil]
Retains attributes with the given name
finishParsing [Errormsg]
flushOften [Pretty]
If true the it flushes after every print
foldGlobals [Cil]
Fold over all globals, including the global initializer
foldLeftCompound [Cil]
Fold over the list of initializers in a Compound.
foldLeftCompoundAll [Cil]
Fold over the list of initializers in a Compound, like Cil.foldLeftCompound but in the case of an array it scans even missing zero initializers at the end of the array
fold_left [Clist]
A version of fold_left that works on clists
fprint [Pretty]
Format the document to the given width and emit it to the given channel
fprintf [Pretty]
Like Pretty.dprintf followed by Pretty.fprint
fromList [Clist]
Convert an ordinary list to a clist

G
gccBuiltins [Cil]
A list of the GCC built-in functions.
getCompField [Cil]
Return a named fieldinfo in compinfo, or raise Not_found
getGlobInit [Cil]
Get the global initializer and create one if it does not already exist
getPosition [Errormsg]
get_globalLoc [Cil]
Return the location of a global, or locUnknown
get_instrLoc [Cil]
Return the location of an instruction
get_stmtLoc [Cil]
Return the location of a statement, or locUnknown
gprintf [Pretty]
Like Pretty.dprintf but more general.

H
hadErrors [Errormsg]
This is set whenever one of the above error functions are called.
hasAttribute [Cil]
True if the named attribute appears in the attribute list.

I
increm [Cil]
Increment an expression.
indent [Pretty]
Indents the document.
initCIL [Cil]
Call this function to perform some initialization.
insert [Pretty]
A function that is useful with the printf-like interface
intPtrType [Cil]
int *
intType [Cil]
int
integer [Cil]
Construct an integer of kind IInt.
isArithmeticType [Cil]
True if the argument is an arithmetic type (i.e.
isArrayType [Cil]
True if the argument is an array type
isCompleteType [Cil]
Returns true if this is a complete type.
isConstant [Cil]
True if the expression is a compile-time constant
isFunctionType [Cil]
True if the argument is a function type
isInteger [Cil]
True if the given expression is a (possibly cast'ed) character or an integer constant
isIntegralType [Cil]
True if the argument is an integral type (i.e.
isPointerType [Cil]
True if the argument is a pointer type
isSigned [Cil]
Returns true if and only if the given integer type is signed.
isVoidPtrType [Cil]
isVoidType [Cil]
isZero [Cil]
True if the given expression is a (possibly cast'ed) integer or character constant with value zero
iter [Clist]
A version of iter that works on clists
iterGlobals [Cil]
Iterate over all globals, including the global initializer

K
kinteger [Cil]
Construct an integer of a given kind.
kinteger64 [Cil]
Construct an integer of a given kind, using OCaml's int64 type.

L
leftflush [Pretty]
Use after a Pretty.line to prevent the indentation.
lenOfArray [Cil]
Call to compute the array length as present in the array type, to an integer.
length [Clist]
Find the length of a clist
line [Pretty]
A document that consists of a mandatory newline.
lineDirectiveStyle [Cil]
How to print line directives
little_endian [Cil]
Whether the machine is little endian.
loadBinaryFile [Cil]
Read a Cil.file in binary form from the filesystem.
locUnknown [Cil]
Represents a location that cannot be determined
log [Errormsg]
Print something to logChannel
logChannel [Errormsg]
A channel for printing log messages
longType [Cil]
long

M
makeFormalVar [Cil]
Make a formal variable for a function.
makeGlobalVar [Cil]
Make a global variable.
makeLocalVar [Cil]
Make a local variable and add it to a function's slocals (only if insert = true, which is the default).
makeTempVar [Cil]
Make a temporary variable and add it to a function's slocals.
makeVarinfo [Cil]
Make a varinfo.
makeZeroInit [Cil]
Make a initializer for zero-ing a data type
map [Clist]
Map a function over a clist.
mapGlobals [Cil]
Map over all globals, including the global initializer and change things in place
mapNoCopy [Cil]
Like map but try not to make a copy of the list
mapNoCopyList [Cil]
Like map but each call can return a list.
missingFieldName [Cil]
This is a constant used as the name of an unnamed bitfield.
mkAddrOf [Cil]
Make an AddrOf.
mkAddrOrStartOf [Cil]
Like mkAddrOf except if the type of lval is an array then it uses StartOf.
mkBlock [Cil]
Construct a block with no attributes, given a list of statements
mkCast [Cil]
Like Cil.mkCastT but uses typeOf to get oldt
mkCastT [Cil]
Construct a cast when having the old type of the expression.
mkCompInfo [Cil]
Creates a a (potentially recursive) composite type.
mkEmptyStmt [Cil]
Returns an empty statement (of kind Instr)
mkFor [Cil]
Make a for loop for(start; guard; next) { ...
mkForIncr [Cil]
Make a for loop for(i=start; i<past; i += incr) { ...
mkMem [Cil]
Make a Mem, while optimizing AddrOf.
mkStmt [Cil]
Construct a statement, given its kind.
mkStmtOneInstr [Cil]
Construct a statement consisting of just one instruction
mkString [Cil]
Make an expression that is a string constant (of pointer type)
mkWhile [Cil]
Make a while loop.
mone [Cil]
-1
msvcMode [Cil]
Whether the pretty printer should print output for the MS VC compiler.

N
newAlphaName [Cil]
Create a new name based on a given name.
newline [Errormsg]
nil [Pretty]
Constructs an empty document
noMemoize [Formatcil]
If set then will not memoize the parsed patterns
num [Pretty]
A document that prints an integer in decimal form

O
one [Cil]
1

P
parseInt [Cil]
Convert a string representing a C integer literal to an expression.
parse_error [Errormsg]
partitionAttributes [Cil]
Partition the attributes into classes:name attributes, function type, and type attributes
peepHole1 [Cil]
Similar to peepHole2 except that the optimization window consists of one statement, not two
peepHole2 [Cil]
A peephole optimizer that processes two adjacent statements and possibly replaces them both.
popContext [Errormsg]
Removes the last registered context printing function
pop_context [Errormsg]
prepareCFG [Cil]
Prepare a function for CFG information computation by Cil.computeCFGInfo.
print [Stats]
Print the current stats preceeded by a message
printAttr [Cil]
Print an attribute given a pretty printer
printAttrs [Cil]
Print a set of attributes given a pretty printer
printCilAsIs [Cil]
Whether to print the CIL as they are, without trying to be smart and print nicer code.
printDepth [Pretty]
Specifies the nesting depth of the align/unalign pairs at which everything is replaced with ellipsis
printExp [Cil]
Print an expression given a pretty printer
printGlobal [Cil]
Print a global given a pretty printer
printIndent [Pretty]
If false then does not indent
printInit [Cil]
Print an initializer given a pretty printer.
printInstr [Cil]
Print an instruction given a pretty printer
printLval [Cil]
Print an lvalue given a pretty printer
printStmt [Cil]
Print a statement given a pretty printer.
printType [Cil]
Print a type given a pretty printer
print_CIL_Input [Cil]
Whether we print something that will only be used as input to our own parser.
printf [Pretty]
Like Pretty.fprintf applied to stdout
pushContext [Errormsg]
Registers a context printing function
pushGlobal [Cil]
CIL keeps the types at the beginning of the file and the variables at the end of the file.
push_context [Errormsg]

R
real [Pretty]
A document that prints a real number
registerAlphaName [Cil]
Register a name with an alpha conversion table to ensure that when later we call newAlphaName we do not end up generating this one
removeOffset [Cil]
Remove ONE offset from the end of an offset sequence.
removeOffsetLval [Cil]
Remove ONE offset from the end of an lvalue.
repeattime [Stats]
repeattime is like time but runs the function several times until the total running time is greater or equal to the first argument.
reset [Stats]
Reset all the timings
rev [Clist]
Reverse a clist

S
s [Errormsg]
saveBinaryFile [Cil]
Write a Cil.file in binary form to the filesystem.
saveBinaryFileChannel [Cil]
Write a Cil.file in binary form to the filesystem.
seq [Pretty]
Formats a sequence.
setCurrentFile [Errormsg]
setCurrentLine [Errormsg]
setFormals [Cil]
Update the formals of a fundec and make sure that the function type has the same information.
setFunctionType [Cil]
Set the types of arguments and results as given by the function type passed as the second argument.
setMaxId [Cil]
Update the smaxid after you have populated with locals and formals (unless you constructed those using Cil.makeLocalVar or Cil.makeTempVar.
setTypeAttrs [Cil]
setTypeSigAttrs [Cil]
Replace the attributes of a signature (only at top level)
showContext [Errormsg]
Show the context stack to stderr
single [Clist]
Create a clist containing one element
sizeOf [Cil]
splitFunctionType [Cil]
Given a function type split it into return type, arguments, is_vararg and attributes.
splitFunctionTypeVI [Cil]
splitNameForAlpha [Cil]
Split the name in preparation for newAlphaName.
sprint [Pretty]
Format the document to the given width and emit it as a string
startParsing [Errormsg]
startsWith [Cil]
sm: return true if the first is a prefix of the second string

T
test [Formatcil]
Just a testing function
text [Pretty]
A document that prints the given string
theLexbuf [Errormsg]
time [Stats]
Time a function and associate the time with the given string.
toList [Clist]
Convert a clist to an ordinary list
typeAddAttributes [Cil]
Add some attributes to a type
typeAttrs [Cil]
Returns all the attributes contained in a type.
typeOf [Cil]
Compute the type of an expression
typeOfLval [Cil]
Compute the type of an lvalue
typeOfSizeOf [Cil]
typeOffset [Cil]
Compute the type of an offset from a base type
typeRemoveAttributes [Cil]
Remove all attributes with the given names from a type.
typeSig [Cil]
Compute a type signature
typeSigAttrs [Cil]
Get the top-level attributes of a signature
typeSigWithAttrs [Cil]
Like Cil.typeSig but customize the incorporation of attributes

U
uintPtrType [Cil]
unsigned int *
uintType [Cil]
unsigned int
ulongType [Cil]
unsigned long
unalign [Pretty]
Reverts to the last saved indentation level.
undoAlphaChanges [Cil]
Undo the changes to a table
unimp [Cil]
Like Errormsg.unimp except that Cil.currentLocis also printed
unimp [Errormsg]
Similar to error except that its output has the form Unimplemented: ...
uniqueVarNames [Cil]
Assign unique names to local variables.
unrollType [Cil]
Unroll a type until it exposes a non TNamed.
unrollTypeDeep [Cil]
Unroll all the TNamed in a type (even under type constructors such as TPtr, TFun or TArray.
upointType [Cil]
useLogicalOperators [Cil]
Whether to use the logical operands LAnd and LOr.

V
var [Cil]
Makes an lvalue out of a given variable
verboseFlag [Errormsg]
visitCilAttributes [Cil]
Visit a list of attributes
visitCilBlock [Cil]
Visit a block
visitCilExpr [Cil]
visitCilFile [Cil]
Visit a file.
visitCilFileSameGlobals [Cil]
A visitor for the whole file that does not change the globals (but maybe changes things inside the globals).
visitCilFunction [Cil]
Visit a function definition
visitCilGlobal [Cil]
Visit a global
visitCilInit [Cil]
Visit an initializer
visitCilInitOffset [Cil]
Visit an initializer offset
visitCilInstr [Cil]
Visit an instruction
visitCilLval [Cil]
Visit an lvalue
visitCilOffset [Cil]
Visit an lvalue or recursive offset
visitCilStmt [Cil]
Visit a statement
visitCilType [Cil]
Visit a type
visitCilVarDecl [Cil]
Visit a variable declaration
voidPtrType [Cil]
void *
voidType [Cil]
void

W
warn [Cil]
Like Errormsg.warn except that Cil.currentLoc is also printed
warn [Errormsg]
Like Errormsg.error but does not raise the Errormsg.Error exception.
warnContext [Cil]
Like Errormsg.warn except that Cil.currentLoc and context is also printed
warnContextOpt [Cil]
Like Errormsg.warn except that Cil.currentLoc and context is also printed.
warnFlag [Errormsg]
Set to true if you want to see all warnings.
warnLoc [Cil]
Like Cil.warn except that it explicitly takes a location argument, instead of using the Cil.currentLoc
warnOpt [Cil]
Like Errormsg.warnOpt except that Cil.currentLoc is also printed.
warnOpt [Errormsg]
Like Errormsg.warn but optional.
wcharKind [Cil]
wchar_t (depends on architecture) and is set when you call Cil.initCIL.
wcharType [Cil]
withContext [Errormsg]
To ensure that the context is registered and removed properly, use the function below
withPrintDepth [Pretty]
Invokes a thunk, with printDepth temporarily set to the specified value

Z
zero [Cil]
0