protected static function compile($source, $destination)
 {
     $pconf = new Project_Config();
     if (isset($pconf->templates['remote_parser']) && $pconf->templates['remote_parser']) {
         $parser = new Remote_HTML_Parser($pconf->templates['remote_parser']);
     } else {
         $parser = new HTML_Parser();
     }
     if (array_key_exists('dtd', $pconf->templates)) {
         $parser->dtd = $pconf->templates['dtd'];
     }
     $parser->parse($source);
     $code = $parser->compile();
     if ($code !== '' && substr($code, 0, 4) == '$_e_') {
         $code = "<?php\n" . $code . "\n?>";
     } else {
         if ($_e_pos = mb_strpos($code, '$_e_', 0, 'UTF-8')) {
             $code = mb_substr($code, 0, $_e_pos, 'UTF-8');
         }
     }
     file_put_contents($destination, $code);
     @chmod($destination, 0666);
 }