Return the Dwoo compiler object

@return Dwoo_Data
504076
public function getCompiler()
	{	
		if (null === $this->_compiler) {	
			$this->_compiler = Dwoo_Compiler::compilerFactory();
		}

		return $this->_compiler;
	}
59773
public function getDataOcorrencia()
    {
        $data = $this->segmento_u->data_ocorrencia ? \DateTime::createFromFormat('dmY', sprintf('%08d', $this->segmento_u->data_ocorrencia)) : false;
        if ($data) {
            $data->setTime(0, 0, 0);
        }

        return $data;
    }
1224028
public function getData()
    {
        /** @var ModifierInterface $modifier */
        foreach ($this->pool->getModifiersInstances() as $modifier) {
            $this->data = $modifier->modifyData($this->data);
        }

        return $this->data;
    }
381526
protected function compileRoute()
    {
        if (! $this->compiled) {
            return $this->compiled = with(new RouteCompiler($this))->compile();
        }

        return $this->compiled;
    }
219660
protected function getAssembler()
    {
        if (!$this->assembler) {
            $this->assembler = Ioc::make(EntityAssembler::class);
        }

        return $this->assembler;
    }
1323831
protected function getCompiler()
    {
        if ($this->compiler === null) {
            $this->compiler = new Compiler();
            $this->compiler->setFormatter($this->formatter);
        }
        return $this->compiler;
    }
907702
protected function getCompileService()
    {
        if ($this->compileService === null) {
            $this->compileService = GeneralUtility::makeInstance(CompileService::class);
        }
        return $this->compileService;
    }
132390
private function getOutput()
    {
        $output = "# Todo list\n\n";

        // Make menu
        $columns = 12;

        $captions = implode('|', array_fill(0, $columns, ' '));
        $subcaptions = implode('|', array_fill(0, $columns, ':---:'));

        $output .= "|$captions|\n";
        $output .= "|$subcaptions|\n";

        $menu = [];
        foreach (array_keys($this->output) as $language) {
            $menu[] = "[$language](#$language)";
        }

        $rows = array_chunk($menu, $columns);
        array_map(function ($row) use (&$output) {
            $row = implode(' | ', $row);
            $output .= $row."\n";
        }, $rows);

        $output .= "\n\n";

        // Make items
        foreach ($this->output as $language => $values) {
            $output .= "#### {$language}:\n";
            $output .= implode(PHP_EOL, $values);
            $output .= "\n\n[ [to top](#todo-list) ]\n\n";
        }

        return $output;
    }
570147
public function getWorkflowObject()
    {
        if ($this->wfID > 0) {
            $wf = Workflow::getByID($this->wfID);
        } else {
            $wf = new EmptyWorkflow();
        }

        return $wf;
    }
684733
public function code()
    {
        return $this->compiler->compile(
            $this->filesystem->get($this->getStubPath()),
            $this->obtainReplacements()
        );
    }
426892
private function compileConfiguration()
    {
        $code = '';
        $configurationByWrapper = [];
        foreach ($this->configurations as $key => $configuration) {
            if(!isset($configurationByWrapper[$configuration->getIdWrapper()])){
                $configurationByWrapper[$configuration->getIdWrapper()] = [];
            }
            $data = array();
            $data['key'] = $configuration->getKey();
            $data['value'] = $configuration->getValue();
            $data['active'] = $configuration->getActive();
            $data['id'] = $configuration->getId();
            $configurationByWrapper[$configuration->getIdWrapper()][] = $data;
        }
        foreach ($configurationByWrapper as $id => $data) {
            $code .= sprintf("'%s' => %s,",$id,var_export($data,true));
        }

        return $code;
    }
437752
public function isLargeObject()
    {
        return $this->data_type === PDO::PARAM_LOB ||
            $this->data_type === (PDO::PARAM_LOB | PDO::PARAM_INPUT_OUTPUT);
    }
114717
public function getObjectBuilder()
    {
        if (!isset($this->objectBuilder)) {
            $this->objectBuilder = $this->getGeneratorConfig()->getConfiguredBuilder($this->getTable(), 'object');
        }

        return $this->objectBuilder;
    }
832954
public function compile()
    {
        $report = $this->internalCompile();
        if ($report->getType() == common_report_Report::TYPE_SUCCESS) {
            // replace instances with service
            list($item, $publicDirectory, $privateDirectory) = $report->getData();
            $report->setData($this->createQtiService($item, $publicDirectory, $privateDirectory));
        }
        return $report;
    }
717703
protected function compileRouteStub()
    {
        $stub = $this->files->get(substr(__DIR__,0, -5) . 'Stubs/route.stub');

        $this->buildStub($this->scaffoldCommandObj->getMeta(), $stub);

        return $stub;
    }
649706
private function getDataDeclaration()
    {

        $vars = $this->pgClass->getAttributes()->map(
            function ($column) {
                $dataType = $this->dataTypes[$column->name];

                // initial value
                $initialValue = null;

                // is bool with default
                if( $dataType->isBool( $default ) and is_bool( $default ) ) {
                    $initialValue = $dataType->getDefault();
                }

                $comment = '';

                // primary key
                if( $column->isPrimaryKey() ) {
                    $comment .= 'PK; ';
                }

                // references
                if( count( $references = $column->getReferences() ) ) {
                    $comment .= sprintf( "references %s", $references->implode(', ') );
                }

                // isReferencedBy
                if( count( $isReferencedBy = $column->getIsReferencedBy() ) ) {
                    $comment .= sprintf( "is referenced by %s", $isReferencedBy->implode(', ') );
                }

                // form options
                if( $formOptions = $column->getTags('form') ) {
                    $comment .= "Form options ".json_encode( $formOptions );
                }

                // explode, trim, implode comment
                $comment = implode( ", ", array_map( 'trim', explode( "\n", $comment ) ) );

                return sprintf(
                    "'%s' => %s,%s",
                    $column->name,
                    Php::varExport( $initialValue ),
                    $comment ? " # {$comment}" : ''
                );
            }
        );

        $vars = (new Format($vars))->indent(4);

        $this->class->classComponents[] = new VariableDeclaration(
            'data',
            new Sformatf( <<<'PHP'
/**
 * Columns defined in %s
 * @var array
 */
protected $data = array(
%s
);
PHP
                , $this->pgClass->getFullyQualifiedName()
                , $vars
            )
        );

        return $this;

    }
354383
public function get_registered_object($name)
    {
        $data = $this->dataProvider->getData();
        if (isset($data[$name]) && is_object($data[$name])) {
            return $data[$name];
        } else {
            trigger_error('Dwoo_Compiler: object "' . $name . '" was not registered or is not an object', E_USER_ERROR);
        }
    }