A static semantics of C.
This static semantics consists of ACL2 functions that check whether the abstract syntactic entities satisfy the needed constraints. If the constraints are satisfied, additional information (e.g. types) may be returned, used to check constraints on enclosing abstract syntactic entities.