public function finalize()
	{
		$return = [];

		// Finalize the plugins' config
		$this->plugins->finalize();

		// Normalize the tags' templates
		foreach ($this->tags as $tag)
		{
			$this->templateNormalizer->normalizeTag($tag);
		}

		// Create a renderer
		$return['renderer'] = $this->rendering->getRenderer();

		// Add the generated tag rules
		$this->addTagRules();

		// Prepare the parser config
		$config = $this->asConfig();
		if (isset($this->javascript))
		{
			$return['js'] = $this->javascript->getParser(ConfigHelper::filterConfig($config, 'JS'));
		}

		// Remove JS-specific data from the config
		$config = ConfigHelper::filterConfig($config, 'PHP');
		ConfigHelper::optimizeArray($config);

		// Create a parser
		$return['parser'] = new Parser($config);

		return $return;
	}