Compiler-compilers are metaprograms for compiling compilers in their totality, complete with precompilers, lexical analyzers, parsers, and code generators. As such, compiler-compilers are considered kits, along with other tools and environments for generating full compilers.