final public function compile(Buffer $buffer)
    {
        $buffer
            ->writeln("Phar::mapPhar('z.phar');")
            ->writeln("define('ZPREFIX', 'phar://z.phar/');")
            ->writeln("require_once 'phar://z.phar/vendor/autoload.php';")
        ;

        $this->compileInitialization($buffer);
        $buffer
            ->writeln('$app->run();')
            ->writeln('__HALT_COMPILER();')
        ;
    }