00001 /* 00002 FILE: prepext.c 00003 HEADER: prepext.h 00004 00005 --GNU LGPL 00006 This library is free software; you can redistribute it and/or 00007 modify it under the terms of the GNU Lesser General Public 00008 License as published by the Free Software Foundation; either 00009 version 2.1 of the License, or (at your option) any later version. 00010 00011 This library is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 Lesser General Public License for more details. 00015 00016 You should have received a copy of the GNU Lesser General Public 00017 License along with this library; if not, write to the Free Software 00018 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00019 00020 TO_HEADER: 00021 00022 // this is the Internal Preprocessor interface version 00023 #define IP_INTERFACE_VERSION 1 00024 00025 typedef struct _Prepext { 00026 long lVersion; 00027 void *pPointer; 00028 void *pMemorySegment; 00029 struct _SupportTable *pST; 00030 } Prepext, *pPrepext; 00031 00032 enum PreprocessorCommands { 00033 // constant values that tell the preprocessor the actual action that the 00034 // preprocessor is called for 00035 PreprocessorLoad = 0, 00036 PreprocessorReadStart, 00037 PreprocessorReadDone0, 00038 PreprocessorReadDone1, 00039 PreprocessorReadDone2, 00040 PreprocessorReadDone3, 00041 00042 PreprocessorLexInit, 00043 PreprocessorLexDone, 00044 PreprocessorLexNASymbol, 00045 PreprocessorLexASymbol, 00046 PreprocessorLexSymbol, 00047 PreprocessorLexString, 00048 PreprocessorLexMString, 00049 PreprocessorLexInteger, 00050 PreprocessorLexReal, 00051 PreprocessorLexCharacter, 00052 00053 PreprocessorExStart, 00054 PreprocessorExStartLine, 00055 PreprocessorExEnd, 00056 PreprocessorExFinish, 00057 PreprocessorExStartLocal, 00058 PreprocessorExEndLocal, 00059 PreprocessorExLineNode, 00060 00061 PreprocessorExeStart, 00062 PreprocessorExeFinish, 00063 PreprocessorExeNoRun, 00064 00065 // constant values that the preprocessor can pass back to the calling 00066 // level to tell what to do next 00067 PreprocessorContinue, // go on call the next available preprocessor 00068 PreprocessorDone, // this preprocessor has done what had to be done at this level, do not call further preprocessors 00069 PreprocessorUnload, 00070 00071 00072 _PreprocesorDummy_ 00073 }; 00074 00075 */