00001 // Copyright (C) 2006 Bryan Jacobson <bryanjacobson@users.sourceforge.net> 00002 // This program is licensed under the terms of the GNU General Public License 00003 // version 2, as published by the Free Software Foundation. 00004 // This program is distributed in the hope that it will be useful, 00005 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00006 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00007 00011 00012 #ifndef TRACE_H 00013 #define TRACE_H 00014 00015 // Trace number of Data 'factoids' (items) created 00016 extern int gFactoidCount; 00017 00018 // Variable number of arguments 00019 #define TRACE(flag, format, ...) ( flag ? printf(format, ## __VA_ARGS__) : 0 ) 00020 00021 // This version of the macro did not work - it always traced to log file 00022 //#define TRACE(flag, format, ...) ( flag ? printf(format, ## __VA_ARGS__), \ 00023 // fprintf(gFpLog, format, ## __VA_ARGS__) : 0 ) 00024 00025 // Declaration of trace flags 00026 // Note: Additions here must be added to the trace table. 00027 extern int gTrReadFile; 00028 extern int gTrWordLookup; 00029 extern int gTrGramLookup; 00030 extern int gTrMakeProd; 00031 extern int gTrBestParse; 00032 extern int gTrDoQuery; 00033 extern int gTrTraverse; 00034 extern int gTrSpell; 00035 extern int gTrPalmFull; 00036 extern int gTrPalm; 00037 00038 // Toggle a trace flag 00039 void TraceToggle(char *p); 00040 00041 // Print list of available trace flags 00042 void TraceHelp(); 00043 00044 #endif // TRACE_H