Engine_body (2701B)
1 2 /*_________________________________________________________________________ 3 * Tokens: 4 * 5 * Allow public access. 6 * 7 * Tokens are placed directly before the buffer. They are one of the most 8 * used variables. The most used variables shall be stored close to each 9 * other, in order to prevent cache misses. 10 * 11 * Note, that the token queue is also implemented from higher addresses 12 * to lower addresses. It is assumed that it is most likely only filled 13 * at the top, and thus the addresses close to the buffer shall be used 14 * more often than the addresses far from it. */ 15 # ifdef QUEX_OPTION_TOKEN_POLICY_QUEUE 16 QUEX_NAME(TokenQueue) _token_queue; 17 # if ! defined(QUEX_OPTION_USER_MANAGED_TOKEN_MEMORY) 18 uint8_t __memory_token_queue[sizeof(QUEX_TYPE_TOKEN)*QUEX_SETTING_TOKEN_QUEUE_SIZE]; 19 # endif 20 # else 21 QUEX_TYPE_TOKEN* token; 22 # if ! defined(QUEX_OPTION_USER_MANAGED_TOKEN_MEMORY) 23 QUEX_TYPE_TOKEN __memory_token; 24 # endif 25 # endif 26 27 char* __input_name; 28 QUEX_NAME(Buffer) buffer; 29 30 #if defined(QUEX_OPTION_AUTOMATIC_ANALYSIS_CONTINUATION_ON_MODE_CHANGE) \ 31 || defined(QUEX_OPTION_ASSERTS) 32 /* When a mode change happens and the user does not 'return' but 'CONTINUE' 33 * an error must be logged, since the following characters are still swallowed 34 * by the current function and not the new one. For this one needs to return and 35 * then continue further. */ 36 QUEX_NAME(AnalyzerFunctionP) DEBUG_analyzer_function_at_entry; 37 # endif 38 39 /* Each mode has a dedicated analyzer function. The function pointer 40 * to the currently active mode's function is stored redundantly in 41 * 'current_analyzer_function' to accelerate the access to it. */ 42 QUEX_NAME(AnalyzerFunctionP) current_analyzer_function; 43 QUEX_NAME(Mode)* __current_mode_p; 44 45 QUEX_NAME(ModeStack) _mode_stack; 46 47 __QUEX_IF_COUNT(QUEX_NAME(Counter) counter;) 48 __QUEX_IF_STRING_ACCUMULATOR(QUEX_NAME(Accumulator) accumulator;) 49 __QUEX_IF_POST_CATEGORIZER(QUEX_NAME(Dictionary) post_categorizer;) 50 __QUEX_IF_INCLUDE_STACK(struct QUEX_NAME(Memento_tag)* _parent_memento;) 51