Functionality that a general compiler should have. Some of these methods might not be implemented on a case-by-case basis: - The ability to compile a file to a PackFile (String name in, Packfile PMC out) - The ability to compile a string to a PackFile We should probably be able to pass flags to some or all of these methods to control executing certain types of functions: - Whether or not we trigger :load or :init functions. Parrot automatically triggers :load functions when it loads in a .pbc file, but we may also want the compiler to trigger these instead of :init, the default - Whether or not we should automatically trigger :main (Typically: When loaded as a program, yes. When loaded as a library, no)