sheepy

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

analyzerCounter (2520B)


      1 /* -*- C++ -*-   vim: set syntax=cpp:
      2  * (C) Frank-Rene Schaefer                               */
      3 #ifndef __QUEX_INCLUDE_GUARD__ANALYZER__COUNTER
      4 #define __QUEX_INCLUDE_GUARD__ANALYZER__COUNTER
      5 
      6 #if ! defined(__QUEX_OPTION_PLAIN_C)
      7 #   include <cstddef> 
      8 #else
      9 #   include <stddef.h>
     10 #endif
     11 #include "definitions"
     12 
     13 QUEX_NAMESPACE_MAIN_OPEN
     14 
     15 #   if defined(QUEX_OPTION_INDENTATION_TRIGGER)
     16     typedef struct QUEX_SETTING_USER_CLASS_DECLARATION_EPILOG {
     17         QUEX_TYPE_INDENTATION   front[QUEX_SETTING_INDENTATION_STACK_SIZE];
     18         QUEX_TYPE_INDENTATION*  back;         /* pointer to last element */
     19         QUEX_TYPE_INDENTATION*  memory_end;
     20     } QUEX_NAME(IndentationStack);
     21 
     22 	QUEX_INLINE void
     23 	QUEX_NAME(IndentationStack_init)(QUEX_NAME(IndentationStack)* me);
     24 #   endif
     25 
     26     typedef struct QUEX_SETTING_USER_CLASS_DECLARATION_EPILOG {
     27 #       ifdef  QUEX_OPTION_LINE_NUMBER_COUNTING
     28         size_t  _line_number_at_begin;    /* line where current pattern starts   */
     29         size_t  _line_number_at_end;      /* line after current pattern          */
     30 #       endif
     31 #       ifdef  QUEX_OPTION_COLUMN_NUMBER_COUNTING
     32         size_t  _column_number_at_begin;  /* column where current pattern starts */
     33         size_t  _column_number_at_end;    /* column after current pattern        */
     34 #       endif
     35 #       ifdef   QUEX_OPTION_INDENTATION_TRIGGER
     36         QUEX_NAME(IndentationStack) _indentation_stack;
     37 #       endif
     38     } QUEX_NAME(Counter);
     39 
     40 
     41     QUEX_INLINE void  QUEX_NAME(Counter_construct)(QUEX_NAME(Counter)*  me); 
     42     QUEX_INLINE void  QUEX_NAME(Counter_copy_construct)(QUEX_NAME(Counter)*      me, 
     43                                                        const QUEX_NAME(Counter)* That);
     44 
     45 #if 0
     46     /* General Count: All involved characters for column counting do have the same width. */
     47     QUEX_INLINE void  QUEX_NAME(Counter_count)(QUEX_NAME(Counter)*                   me, 
     48                                                          const QUEX_TYPE_LEXATOM*  Lexeme, 
     49                                                          const QUEX_TYPE_LEXATOM*  LexemeEnd);
     50     QUEX_INLINE void  QUEX_NAME(Counter_count_newlines)(QUEX_NAME(Counter)*        me,
     51                                                         const QUEX_TYPE_LEXATOM* Lexeme,
     52                                                         const QUEX_TYPE_LEXATOM* LexemeEnd);
     53 #endif
     54 
     55 
     56     QUEX_INLINE void  QUEX_NAME(Counter_print_this)(QUEX_NAME(Counter)* me);
     57 
     58 QUEX_NAMESPACE_MAIN_CLOSE
     59 
     60 #endif /* __QUEX_INCLUDE_GUARD__ANALYZER__COUNTER */
     61