sheepy

build system (sheepy) and package manager (spm) for C
git clone https://spartatek.se/git/sheepy.git
Log | Files | Refs | README | LICENSE

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