/* * Maintaining a stack of files / scripts. * * The Hugs 98 system is Copyright (c) Mark P Jones, Alastair Reid, the * Yale Haskell Group, and the OGI School of Science & Engineering at OHSU, * 1994-2003, All rights reserved. It is distributed as free software under * the license in the file "License", which is included in the distribution. * */ #ifndef __SCRIPT_H__ #define __SCRIPT_H__ /* * The Script module handles the management of the stack of scripts * known to the interpreter. * * When the interpreter processes a module, it adds the module's * imports to the script stack which are then subsequently loaded in. * Assuming the imported modules were all found and loaded without error, * the original module and its imports is then processed again, * but this time all the imports are found on the stack of scripts * already loaded in. * */ extern Void initScripts Args((Void)); extern Void stopScripts Args((Void)); extern Void setScriptStableMark Args((Void)); extern String getScriptName Args((Script)); extern String getScriptRealName Args((Script)); extern Int getScriptHwMark Args((Void)); extern Int numLoadedScripts Args((Void)); extern Void addScriptName Args((String,Bool)); extern Bool chase Args((List)); extern Void addScriptsFromArgs Args((Int,String [])); extern Void forgetScriptsFrom Args((Script)); extern Void forgetAllScripts Args((Void)); extern Void forgetAScript Args((Script)); extern String scriptFile; extern Void whatScripts Args((Void)); extern Void readScripts Args((Int)); extern Void script Args((int)); #if HUGS_FOR_WINDOWS extern Void setNumLoadedScripts Args((Script)); extern Void setScriptHwMark Args((Script)); extern Void setScriptName Args((Script,String)); extern Void setScriptRealName Args((Script,String)); #endif #endif /* __SCRIPT_H__ */