# Package org.eclipse.jdt.core.compiler

This package contains compiler associated infrastructure APIs.

## Package Specification

This package contains some compiler tooling APIs, allowing to perform operations at a lower-level than using the JavaModel.

Interface Summary
IProblem: Description of a Java problem, as detected by the compiler or some of the underlying technology reusing the compiler.
IScanner: Caveat: With the introduction of "restricted keywords" in Java 9 it is impossible to classify a token without the help of a parser.
ITerminalSymbols: Maps each terminal symbol in the java-grammar into a unique integer.

Class Summary
BuildContext: The context of a build event that is notified to interested compilation participants when `a build is starting`, or to annotations processors when `a source file has annotations`.
CategorizedProblem: Richer description of a Java problem, as detected by the compiler or some of the underlying technology reusing the compiler.
CharOperation: This class is a collection of helper methods to manipulate char arrays.
CompilationParticipant: A compilation participant is notified of events occurring during the compilation process.
CompilationProgress: A compilation progress is used by the `BatchCompiler` to report progress during compilation.
ReconcileContext: The context of a reconcile event that is notified to interested compilation participants while a reconcile operation is running.

Exception Summary
InvalidInputException: Exception thrown by a scanner when encountering lexical errors.