/************************************************************************ file: includes/flrheader.flh Author(s): Guizhen Yang Michael Kifer This file is automatically included by the FLORA compiler. ************************************************************************/ /************************************************************************ Note: This file should contain Macros only! If FLORA_DUMP is defined: preprocessing for user-friendly output. If FLORA_COMPILE_SYSTEM_MODULE is defined: compiling Flora system module. If any of these macros are changed, the corresponding wrappers in flrwrapper.P must also be changed ************************************************************************/ #mode standard Prolog #include "flora_prefix.flh" #ifndef FLORA_DUMP #mode save #mode nostring "\!#'" #deffast FLORA_USER_WORKSPACE(X,Y) FLORA_USER_MODULE_PREFIX'#1''#2' #deffast FLORA_SYSTEM_WORKSPACE(X,Y) FLORA_SYSTEM_MODULE_PREFIX'#1''#2' #deffast FLORA_USER_FDB_STORAGE(X) FLORA_USER_FDB_TRIE_PREFIX'#1' #deffast FLORA_SYSTEM_FDB_STORAGE(X) FLORA_SYSTEM_FDB_TRIE_PREFIX'#1' %% support for undefinedness #deffast FLORA_USER_FLD_STORAGE(X) FLORA_USER_FLD_TRIE_PREFIX'#1' #deffast FLORA_SYSTEM_FLD_STORAGE(X) FLORA_SYSTEM_FLD_TRIE_PREFIX'#1' #ifndef FLORA_COMPILE_SYSTEM_MODULE %% compiling a Flora user module #deffast FLORA_THIS_WORKSPACE(X) FLORA_USER_WORKSPACE(FLORA_VAR_WORKSPACE,#1) #deffast FLORA_THIS_FDB_STORAGE FLORA_USER_FDB_STORAGE(FLORA_VAR_WORKSPACE) #deffast FLORA_THIS_FLD_STORAGE FLORA_USER_FLD_STORAGE(FLORA_VAR_WORKSPACE) #deffast FLORA_THIS_MODULE_NAME FLORA_VAR_WORKSPACE #else %% compiling a Flora system module #deffast FLORA_THIS_WORKSPACE(X) FLORA_SYSTEM_WORKSPACE(FLORA_VAR_WORKSPACE,#1) #deffast FLORA_THIS_FDB_STORAGE FLORA_SYSTEM_FDB_STORAGE(FLORA_VAR_WORKSPACE) #deffast FLORA_THIS_FLD_STORAGE FLORA_SYSTEM_FLD_STORAGE(FLORA_VAR_WORKSPACE) #deffast FLORA_THIS_MODULE_NAME FL_FLORALIB(FLORA_VAR_WORKSPACE) #endif #mode restore #else %% dumping #define FLORA_SYMBOL(X) #1 #define FLORA_USER_WORKSPACE(X,Y) user_#1#2 #define FLORA_SYSTEM_WORKSPACE(X,Y) sys_#1#2 #define FLORA_USER_FDB_STORAGE(X) userfdbtrie_#1 #define FLORA_SYSTEM_FDB_STORAGE(X) sysfdbtrie_#1 #define FLORA_USER_FLD_STORAGE(X) userfldtrie_#1 #define FLORA_SYSTEM_FLD_STORAGE(X) sysfldtrie_#1 #deffast FLORA_THIS_WORKSPACE(X) FLORA_USER_WORKSPACE(FLORA_VAR_WORKSPACE,#1) #deffast FLORA_THIS_FDB_STORAGE FLORA_USER_FDB_STORAGE(FLORA_VAR_WORKSPACE) #deffast FLORA_THIS_FLD_STORAGE FLORA_USER_FLD_STORAGE(FLORA_VAR_WORKSPACE) #define FLORA_THIS_MODULE_NAME '' #endif