The Java™ programming language compiler API is a set of interfaces that describes the functions provided by a compiler. This API has three main objectives: