This project aims to apply the Algebraic data types for the language C which supports the pattern matching, type checker scheme and a tricky tag scheme.