mode-handling (1840B)
1 /* -*- C++ -*- vim: set syntax=cpp: 2 * (C) 2005-2010 Frank-Rene Schaefer 3 * ABSOLUTELY NO WARRANTY */ 4 #ifndef __QUEX_INCLUDE_GUARD__ANALYZER__MEMBER__MODE_HANDLING 5 #define __QUEX_INCLUDE_GUARD__ANALYZER__MEMBER__MODE_HANDLING 6 7 #include "definitions" 8 9 QUEX_NAMESPACE_MAIN_OPEN 10 11 /* Read Access */ 12 QUEX_INLINE QUEX_NAME(Mode)* QUEX_NAME(mode)(QUEX_TYPE_ANALYZER* me); 13 QUEX_INLINE int QUEX_NAME(mode_id)(QUEX_TYPE_ANALYZER* me); 14 QUEX_INLINE const char* QUEX_NAME(mode_name)(QUEX_TYPE_ANALYZER* me); 15 16 /* Map: mode id to mode and vice versa */ 17 QUEX_INLINE QUEX_NAME(Mode)* QUEX_NAME(map_mode_id_to_mode)(QUEX_TYPE_ANALYZER* me, 18 const int ModeID); 19 QUEX_INLINE int QUEX_NAME(map_mode_to_mode_id)(const QUEX_TYPE_ANALYZER* me, 20 const QUEX_NAME(Mode)* Mode); 21 22 /* Changing Modes */ 23 QUEX_INLINE void QUEX_NAME(set_mode_brutally_by_id)(QUEX_TYPE_ANALYZER* me, 24 const int LexerMode); 25 QUEX_INLINE void QUEX_NAME(set_mode_brutally)(QUEX_TYPE_ANALYZER* me, 26 QUEX_NAME(Mode)* Mode); 27 QUEX_INLINE void QUEX_NAME(enter_mode)(QUEX_TYPE_ANALYZER* me, 28 /* NOT const*/ QUEX_NAME(Mode)* TargetMode); 29 30 /* Changing Modes with stack */ 31 QUEX_INLINE void QUEX_NAME(pop_mode)(QUEX_TYPE_ANALYZER* me); 32 QUEX_INLINE void QUEX_NAME(pop_drop_mode)(QUEX_TYPE_ANALYZER* me); 33 QUEX_INLINE void QUEX_NAME(push_mode)(QUEX_TYPE_ANALYZER* me, QUEX_NAME(Mode)* new_mode); 34 35 QUEX_NAMESPACE_MAIN_CLOSE 36 37 #endif /* __QUEX_INCLUDE_GUARD__ANALYZER__MEMBER__MODE_HANDLING */ 38