/**
  * Create a new interpreter of the given classname
  * @param to_load - the file to load from
  * @param classname - the classname of the inheriting interpreter
  * @return MarkupInterpreter - a new MarkupInterpreter object
  * @access protected
  */
 protected function newInterpreter($to_load, $classname)
 {
     $cname = MarkupInterpreter::compiledCacheName($to_load);
     if (file_exists($cname)) {
         MarkupInterpreter::clearCache($to_load);
     }
     $classname = rsClassName($classname);
     $ret = new $classname($to_load);
     return $ret;
 }
function doRequire($class, $basedir, $required = true)
{
    global $include_paths;
    $classname = rsClassName($class);
    $path = str_replace('.', '/', rsClasstoFile($class));
    $path .= '.class.php';
    if (!file_exists($basedir . '/' . $path)) {
        echo 'couldn\'t load package: ' . $class . '<br /><br />

';
        if ($required) {
            debug_print_backtrace();
        }
    } else {
        $path = $basedir . '/' . $path;
        if (isset($include_paths[$classname])) {
            if ($include_paths[$classname] != $path) {
                $include_paths[$classname] = $path;
                rsPersist();
            }
        } else {
            $include_paths[$classname] = $path;
            rsPersist();
        }
    }
}