cil-1.7.3p7
framework for analysis and transformation of C
Back to search · Project homepage
Description
CIL (C Intermediate Language) is a high-level representation along
with a set of tools that permit easy analysis and source-to-source
transformation of C programs.
CIL is both lower-level than abstract-syntax trees, by clarifying
ambiguous constructs and removing redundant ones, and also higher-level
than typical intermediate languages designed for compilation, by
maintaining types and a close relationship with the source program.
The main advantage of CIL is that it compiles all valid C programs
into a few core constructs with a very clean semantics. Also CIL
has a syntax-directed type system that makes it easy to analyze and
manipulate C programs. Furthermore, the CIL front-end is able to
process not only ANSI-C programs but also those using Microsoft C
or GNU C extensions. If you do not use CIL and want instead to use
just a C parser and analyze programs expressed as abstract-syntax
trees then your analysis will have to handle a lot of ugly corners
of the language (let alone the fact that parsing C itself is not a
trivial task).
Package information
- Ports path
- devel/cil
- Package architecture
- amd64
- Maintainer
- The OpenBSD ports mailing-list <ports@openbsd.org>
- Categories
- devel, lang
- Available flavors
- None listed
- Only for architectures
- aarch64, amd64, i386
These are ports metadata. Binary availability depends on the release, architecture and mirror. Build and test dependencies are not an installation checklist.