sheepy

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

misc (3306B)


      1 /* -*- C++ -*- vim: set syntax=cpp:
      2  * (C) 2005-2016 Frank-Rene Schaefer
      3  * ABSOLUTELY NO WARRANTY                                                    */
      4 #ifndef __QUEX_INCLUDE_GUARD__ANALYZER__MEMBER__MISC
      5 #define __QUEX_INCLUDE_GUARD__ANALYZER__MEMBER__MISC
      6 
      7 #include "definitions"
      8 
      9 QUEX_NAMESPACE_MAIN_OPEN
     10 
     11 /* Callback on buffer content change --> user may safe its lexeme's away.    */
     12 QUEX_INLINE void        
     13 QUEX_NAME(set_callback_on_buffer_content_change)(QUEX_TYPE_ANALYZER*  me,
     14                                                  void               (*callback)(const QUEX_TYPE_LEXATOM*, 
     15                                                                                 const QUEX_TYPE_LEXATOM*));
     16 #if defined(__QUEX_OPTION_PLAIN_C)
     17 QUEX_INLINE QUEX_TYPE_LEXATOM*  
     18 QUEX_NAME(lexeme_start_pointer_get)(QUEX_TYPE_ANALYZER*);
     19 QUEX_INLINE QUEX_TYPE_LEXATOM*
     20 QUEX_NAME(input_pointer_get)(QUEX_TYPE_ANALYZER*);
     21 QUEX_INLINE void
     22 QUEX_NAME(input_pointer_set)(QUEX_TYPE_ANALYZER*, QUEX_TYPE_LEXATOM* Adr);
     23 #endif
     24 
     25 /* Activate/deactivate byte order reversion (big-/little-endian) */
     26 QUEX_INLINE bool        QUEX_NAME(byte_order_reversion)(QUEX_TYPE_ANALYZER* me);
     27 QUEX_INLINE void        QUEX_NAME(byte_order_reversion_set)(QUEX_TYPE_ANALYZER* me,
     28                                                             bool Value);
     29 /* Version information */
     30 QUEX_INLINE const char* QUEX_NAME(version)(QUEX_TYPE_ANALYZER* me); 
     31 
     32 /* Token handling. */
     33 QUEX_INLINE QUEX_TYPE_TOKEN*  QUEX_NAME(token_p)(QUEX_TYPE_ANALYZER* me);
     34 
     35 #if defined(QUEX_OPTION_TOKEN_POLICY_SINGLE)
     36     QUEX_INLINE QUEX_TYPE_TOKEN*  QUEX_NAME(token_p_swap)(QUEX_TYPE_ANALYZER*  me, 
     37                                                           QUEX_TYPE_TOKEN*     TokenP);
     38 
     39 #   if defined(QUEX_OPTION_USER_MANAGED_TOKEN_MEMORY)
     40     QUEX_INLINE void                QUEX_NAME(token_p_set)(QUEX_TYPE_ANALYZER*  me, 
     41                                                            QUEX_TYPE_TOKEN*     TokenP);
     42 #   endif
     43 
     44 #elif defined(QUEX_OPTION_TOKEN_POLICY_QUEUE)
     45     QUEX_INLINE bool    QUEX_NAME(token_queue_is_empty)(QUEX_TYPE_ANALYZER* me);
     46     QUEX_INLINE void    QUEX_NAME(token_queue_remainder_get)(QUEX_TYPE_ANALYZER*  me,
     47                                                              QUEX_TYPE_TOKEN**    begin, 
     48                                                              QUEX_TYPE_TOKEN**    end);
     49     QUEX_INLINE void    QUEX_NAME(token_queue_swap)(QUEX_TYPE_ANALYZER*  me, 
     50                                                       QUEX_TYPE_TOKEN**    memory, 
     51                                                       size_t*              n);
     52 
     53 #   if defined(QUEX_OPTION_USER_MANAGED_TOKEN_MEMORY)
     54     QUEX_INLINE void    QUEX_NAME(token_queue_get)(QUEX_TYPE_ANALYZER*  me, 
     55                                                    QUEX_TYPE_TOKEN** begin, size_t* size);
     56 
     57     QUEX_INLINE void    QUEX_NAME(token_queue_set)(QUEX_TYPE_ANALYZER*  me, 
     58                                                    QUEX_TYPE_TOKEN*     Begin, 
     59                                                    size_t               Size);
     60 #   endif
     61 
     62 #else
     63 #   error "This section should never be compiled."
     64 #endif
     65 
     66 /* Print */
     67 QUEX_INLINE void        QUEX_NAME(print_this)(QUEX_TYPE_ANALYZER* me);
     68 
     69 QUEX_NAMESPACE_MAIN_CLOSE
     70 
     71 #endif /* __QUEX_INCLUDE_GUARD__ANALYZER__MEMBER__MISC */
     72