# C typechecker in Ocaml

This package implements a C typechecker in Ocaml. Part of the codes are borrowed from CIL. The followings are some details on which files are from CIL, with or without being modified.
The files borrowed from CIL without being modified include: cabshelper.ml, cabs.ml, cprint.ml, errormsg.mli, errormsg.ml, escape.mli, escape.ml, growArray.mli, growArray.ml, inthash.mli, inthash.ml, lexerhack.ml, longarray.mli, longarray.ml, machdep.ml, pretty.mli, pretty.ml, table.ml, trace.mli, trace.ml, whitetrack.mli, whitetrack.ml.
The files borrowed and modified from CIL include: cily.mli, cily.ml, clexer.mll, clexer.mli, clexer.ml, cparser.mly, cparser.mli, cparser.ml, frontc.mli, frontc.ml
The other files are written based on the C typechecker in Typical.