Ckit, a C front-end, converts C source code into abstract syntax using SML data types. It is written in SML.
Presently, Ckit serves as the front-end tool deployed for various static analysis tools of C code, as well as at least one domain-specific language. In order to install Ckit, a user would need to navigate to the directory containing the Ckit software in their system and then run the command "CM.make()" in the "$CKIT/ast" directory. This would provide the user with access to the parser/elaborator.
On unpacking the Ckit sources, a user would find three directories: src, doc, and README (with additional directories unique to the distribution). The src directory contains sub-directories, such as parser, which show a lexer and a parser, parse trees. Additionally, the ast sub-directory showcases Ast, type-checker, and pretty-printer, while the variants sub-directory illustrates flags for controlling the parser and type-checker. In order to build the system, a user should move to the src directory, run SML/NJ, and then type "CM.make();".
For parser testing on "test.c", a user can type "ParseToAst.fileToAst "test.c";". This option would parse and type-check "test.c", return an abstract syntax tree for it. An alternative with the added advantage of pretty-printing "test.c" is to type "ParseToAst.fileToC "test.c";".
In this new release, Ckit reinforces its size and alignment mechanism to support parameterization, which is available in the src/ast/sizes[-sig].sml. To generate size info for any given platform, the utility program src/c-util/sizes.c comes in handy.
Version 1.0: N/A