mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-09-29 11:16:29 +03:00
add new Literal API for pure literal expressions:
Design compile time api hs_compile_lit() and hs_compile_lit_multi() to handle pure literal pattern sets. Corresponding option --literal-on is added for hyperscan testing suites. Extended parameters and part of flags are not supported for this api.
This commit is contained in:
committed by
Chang, Harry
parent
8bfbf07f75
commit
23e5f06594
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2015-2017, Intel Corporation
|
||||
* Copyright (c) 2015-2019, Intel Corporation
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -283,7 +283,6 @@ ue2_literal &ue2_literal::erase(size_type pos, size_type n) {
|
||||
}
|
||||
|
||||
void ue2_literal::push_back(char c, bool nc) {
|
||||
assert(!nc || ourisalpha(c));
|
||||
if (nc) {
|
||||
c = mytoupper(c);
|
||||
}
|
||||
|
@@ -211,17 +211,10 @@ public:
|
||||
|
||||
size_t hash() const;
|
||||
|
||||
void set_pure() { pure = true; }
|
||||
void unset_pure() { pure = false; }
|
||||
bool get_pure() const { return pure; }
|
||||
|
||||
/* TODO: consider existing member functions possibly related with pure. */
|
||||
|
||||
private:
|
||||
friend const_iterator;
|
||||
std::string s;
|
||||
boost::dynamic_bitset<> nocase;
|
||||
bool pure = false; /**< born from cutting or not (pure literal). */
|
||||
};
|
||||
|
||||
/// Return a reversed copy of this literal.
|
||||
|
Reference in New Issue
Block a user