libregexis024/src/libregexis024sol/expr_compiler.h

32 lines
745 B
C
Raw Normal View History

2024-07-28 16:54:57 +00:00
#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;
2024-07-28 16:54:57 +00:00
bool error = false;
std::string error_msg;
2024-07-28 16:54:57 +00:00
size_t pos = 0;
2024-07-28 16:54:57 +00:00
bool have_comment_tail = false;
size_t comment_tail_start;
std::vector<uint8_t> compiled_program;
2024-07-28 16:54:57 +00:00
KnownTrackingTools ktr;
2024-07-28 16:54:57 +00:00
uint16_t free_selarr_tai = 0;
uint16_t free_colarr_tai = 0;
2024-07-28 16:54:57 +00:00
REGEX_IS024_MeaningContext(size_t inputSize, const char *input);
};
}
2024-07-28 16:54:57 +00:00
#endif //LIBREGEXIS024_EXPR_COMPILER_H