}}/* This function is called when the driver wants to cast a string
* to a program, this might be because of an explicit cast, an inherit
* or a implict cast. In the future it might receive more arguments,
* to aid the master finding the right program.
*/

return ret;
return 0;
}}/* This function is called when an error occurs that is not caught
* with catch(). It's argument consists of:
* ({ error_string, backtrace }) where backtrace is the output from the
* backtrace() efun.
*/

}/*
* This function is called whenever a inherit is called for.
* It is supposed to return the program to inherit.
* The first argument is the argument given to inherit, and the second
* is the file name of the program currently compiling. Note that the
* file name can be changed with #line, or set by compile_string, so
* it can not be 100% trusted to be a filename.
* previous_object(), can be virtually anything in this function, as it
* is called from the compiler.
*/

/* This function is called when all the driver is done with all setup
* of modules, efuns, tables etc. etc. and is ready to start executing
* _real_ programs. It receives the arguments not meant for the driver
* and an array containing the environment variables on the same form as
* a C program receives them.
*/

"Pike comes with ABSOLUTELY NO WARRANTY; This is free software and you are\n""welcome to redistribute it under certain conditions; Read the files\n""COPYING and DISCLAIMER in the Pike distribution for more details.\n");
exit(0);
case"help":
werror("Usage: pike [-driver options] script [script arguments]\n""Driver options include:\n"" -I --include-path=<p>: Add <p> to the include path\n"" -M --module-path=<p> : Add <p> to the module path\n"" -P --program-path=<p>: Add <p> to the program path\n"" -e --execute=<cmd> : Run the given command instead of a script.\n"" -h --help : see this message\n"" -v --version : See what version of pike you have.\n"

/* This function is called whenever an #include directive is encountered
* it receives the argument for #include and should return the file name
* of the file to include
* Note that previous_object cannot be trusted in ths function, because
* the compiler calls this function.
*/string handle_include(string f,
string current_file,
int local_include){