libregexis024/src/libregexis024sol/expr_compiler.h

32 lines
745 B
C++

#ifndef LIBREGEXIS024_EXPR_COMPILER_H
#define LIBREGEXIS024_EXPR_COMPILER_H
#include <string>
#include <vector>
#include <stdint.h>
#include <libregexis024sol/part_of_expr_that_tracks.h>
namespace regexis024 {
struct REGEX_IS024_MeaningContext{
size_t input_size;
const char* input;
bool error = false;
std::string error_msg;
size_t pos = 0;
bool have_comment_tail = false;
size_t comment_tail_start;
std::vector<uint8_t> compiled_program;
KnownTrackingTools ktr;
uint16_t free_selarr_tai = 0;
uint16_t free_colarr_tai = 0;
REGEX_IS024_MeaningContext(size_t inputSize, const char *input);
};
}
#endif //LIBREGEXIS024_EXPR_COMPILER_H