Interfaces and abstract classes for the compiler abstraction itself.