analyzerInclude-stack (5247B)
1 /* -*- C++ -*- vim: set syntax=cpp: 2 * (C) 2005-2010 Frank-Rene Schaefer 3 * ABSOLUTELY NO WARRANTY */ 4 #ifndef __QUEX_INCLUDE_GUARD__ANALYZER__STRUCT__INCLUDE_STACK 5 #define __QUEX_INCLUDE_GUARD__ANALYZER__STRUCT__INCLUDE_STACK 6 7 #include "definitions" 8 9 QUEX_NAMESPACE_MAIN_OPEN 10 11 #ifdef __QUEX_OPTION_PLAIN_C 12 13 /* The constructor 'core' function is implemented per analyzer. 14 * It's implementation happens inside the generated source file. */ 15 16 /* Level (1) __________________________________________________________________ 17 * */ 18 QUEX_INLINE bool QUEX_NAME(include_push_file_name)(QUEX_TYPE_ANALYZER* me, 19 const char* Filename, 20 const char* CodecName /* = 0x0 */); 21 22 /* Level (2) __________________________________________________________________ 23 * */ 24 QUEX_INLINE bool QUEX_NAME(include_push_FILE)(QUEX_TYPE_ANALYZER* me, 25 const char* InputName, 26 __QUEX_STD_FILE* fh, 27 const char* CodecName /* = 0x0 */, 28 bool BinaryModeF /* = false */); 29 30 #if defined(QUEX_OPTION_POSIX) 31 QUEX_INLINE bool QUEX_NAME(include_push_POSIX)(QUEX_TYPE_ANALYZER* me, 32 const char* InputName, 33 __QUEX_STD_FILE* fh, 34 const char* CodecName /* = 0x0 */); 35 #endif 36 37 #ifndef __QUEX_OPTION_PLAIN_C 38 QUEX_INLINE bool 39 QUEX_NAME(include_push_istream)(QUEX_TYPE_ANALYZER* me, 40 const char* InputName, 41 std::istream* istream_p, 42 const char* CodecName /* = 0x0 */, 43 bool BinaryModeF /* = false */); 44 #endif 45 46 #if defined(__QUEX_OPTION_WCHAR_T) && ! defined(__QUEX_OPTION_PLAIN_C) 47 QUEX_INLINE bool 48 QUEX_NAME(include_push_wistream)(QUEX_TYPE_ANALYZER* me, 49 const char* InputName, 50 std::wistream* istream_p, 51 const char* CodecName /* = 0x0 */, 52 bool BinaryModeF /* = false */); 53 #endif 54 55 /* Level (3) __________________________________________________________________ 56 * */ 57 QUEX_INLINE bool QUEX_NAME(include_push_ByteLoader)( 58 QUEX_TYPE_ANALYZER* me, 59 const char* InputName, 60 QUEX_NAME(ByteLoader)* byte_loader, 61 const char* CodecName); 62 63 /* Level (4) __________________________________________________________________ 64 * */ 65 QUEX_INLINE bool QUEX_NAME(include_push_LexatomLoader)( 66 QUEX_TYPE_ANALYZER* me, 67 const char* InputName, 68 QUEX_NAME(LexatomLoader)* filler); 69 70 /* Level (5) __________________________________________________________________ 71 * */ 72 QUEX_INLINE bool QUEX_NAME(include_push_memory)( 73 QUEX_TYPE_ANALYZER* me, 74 const char* InputName, 75 QUEX_TYPE_LEXATOM* BufferMemoryBegin, 76 size_t BufferMemorySize, 77 QUEX_TYPE_LEXATOM* BufferEndOfFileP); 78 79 /* Basic constructions ________________________________________________________ 80 * */ 81 QUEX_INLINE bool QUEX_NAME(basic_include_push)(QUEX_TYPE_ANALYZER* me, 82 const char* InputName, 83 QUEX_NAME(Buffer)* new_buffer_setup); 84 QUEX_INLINE bool QUEX_NAME(user_memento_pack)(QUEX_TYPE_ANALYZER* me, 85 const char* InputName, 86 struct QUEX_NAME(Memento_tag)* memento); 87 QUEX_INLINE void QUEX_NAME(user_memento_unpack)(QUEX_TYPE_ANALYZER* me, 88 struct QUEX_NAME(Memento_tag)* memento); 89 90 QUEX_INLINE bool QUEX_NAME(include_pop)(QUEX_TYPE_ANALYZER* me); 91 QUEX_INLINE void QUEX_NAME(include_stack_delete)(QUEX_TYPE_ANALYZER* me); 92 QUEX_INLINE bool QUEX_NAME(include_detect_recursion)(QUEX_TYPE_ANALYZER* me, 93 const char* InputName); 94 95 #endif 96 97 QUEX_NAMESPACE_MAIN_CLOSE 98 99 #endif /* __QUEX_INCLUDE_GUARD__ANALYZER__STRUCT__INCLUDE_STACK */