All compiler parts and modules are implemented as OOP classes.
The compiler modules were not meant just to generate program's source code.