136 Commits

Author SHA1 Message Date
Wang, Xiang W
bf87f8c003 chimera: hybrid of Hyperscan and PCRE 2018-07-09 11:30:35 -04:00
Chang, Harry
8a1c497f44 Logical Combination of patterns. 2018-06-27 14:04:57 +08:00
Justin Viiret
a1d4eec116 nfagraph: remove ng_undirected.h 2018-06-27 13:40:21 +08:00
Justin Viiret
c7c90c7ab7 graph_undirected: adapt bidi graph to undirected
Introduces an adaptor (like the BGL's reverse_graph) that presents an
undirected view of a bidirectional graph.

Initially used in ng_calc_components.
2018-06-27 13:40:10 +08:00
Matthew Barr
582fd3014c Bump version number for release 2018-01-24 01:52:11 -05:00
Matthew Barr
934d6f2dad cmake: support MinSizeRel config 2018-01-19 06:33:54 -05:00
Matthew Barr
5827bd1c2b icc: disable warning about constant expression 2018-01-19 06:11:10 -05:00
Matthew Barr
3d235f4474 cmake: add a dummy c++ file to force linkage
The hs dylib when built with Xcode wasn't being linked to C++ runtime
libs. Fixes #69
2017-09-29 14:52:11 +10:00
Matthew Barr
3fa1236f09 Bump version number for release 2017-09-22 15:17:56 +10:00
Matthew Barr
1a81263744 Check for unused typedef warning and disable
This affects older versions of Boost (1.58), and we were only disabling the
warning for g++.

Fixes #62.
2017-09-18 15:23:57 +10:00
Matthew Barr
bc27d6ae4b msvc: disable more warnings 2017-09-18 13:29:33 +10:00
Matthew Barr
b259283d6b cmake: set isystem flag for older cmake 2017-08-21 11:27:20 +10:00
Matthew Barr
96f57a9c2e icc: disable more warnings 2017-08-21 11:27:03 +10:00
Matthew Barr
d9030805de cmake: use abi-version on older gcc 2017-08-21 11:25:21 +10:00
Justin Viiret
3ff70d5568 insertion_ordered_{map,set}: add new containers
These are associative map/set structures that are iterable in insertion
order.
2017-08-21 11:25:21 +10:00
Alex Coyte
ffc2d578b1 roseQuality() no longer needs to be part of rose's API. 2017-08-21 11:23:41 +10:00
Alex Coyte
e099d85524 CMake: put the stream compress files in the correct part 2017-08-21 11:19:11 +10:00
Hong, Yang A
205a5bc98f multibit compression support 2017-08-21 11:19:11 +10:00
Alex Coyte
952f0aad21 support dynamic stream compression 2017-08-21 11:18:54 +10:00
Matthew Barr
2a044427c8 cmake: another convenience lib for compile side 2017-08-21 11:18:43 +10:00
Justin Viiret
9cf66b6ac9 util: switch from Boost to std::unordered set/map
This commit replaces the ue2::unordered_{set,map} types with their STL
versions, with some new hashing utilities in util/hash.h. The new types
ue2_unordered_set<T> and ue2_unordered_map<Key, T> default to using the
ue2_hasher.

The header util/ue2_containers.h has been removed, and the flat_set/map
containers moved to util/flat_containers.h.
2017-08-21 11:14:55 +10:00
Justin Viiret
21a4c8d4e2 rdfa: move raw_dfa member functions to rdfa.cpp 2017-08-21 11:12:26 +10:00
Justin Viiret
0d1e441629 cmake: add graph_range.h 2017-08-21 11:12:26 +10:00
Justin Viiret
a1ff4d3293 small_color_map: add efficient 2-bit color map 2017-08-21 11:12:26 +10:00
Matthew Barr
44e45f727e Bump version number for release 2017-07-26 15:51:23 +10:00
Matthew Barr
2b788f1234 Bump version number for release 2017-06-16 10:07:40 +10:00
Matthew Barr
87469d4775 Bump version number for release 2017-06-09 10:12:03 +10:00
Matthew Barr
dba2470ec9 msvc: use the vectorcall calling convention
This requires declaring external interfaces with the cdecl
calling convention.
2017-06-09 10:12:02 +10:00
Matthew Barr
73765f1f84 cmake: Improve the microarch checks 2017-06-09 10:12:02 +10:00
Matthew Barr
3e345c2567 If we can shift by an immediate, do it. Otherwise, don't. 2017-05-30 14:00:45 +10:00
Matthew Barr
055ff7391c cmake: build shared libs with the PIC objs 2017-05-30 13:59:23 +10:00
Matthew Barr
ec7869711f avx512 fat runtime support: experimental 2017-05-30 13:59:23 +10:00
Matthew Barr
423569ec82 De-multiaccel 2017-05-30 13:59:00 +10:00
Alex Coyte
15c8a7bd98 rose: rework storage of extra lookaround information
- remove explicit lookaround table from bytecode
- make the RoseInstr responsible for adding required info to blob
2017-05-30 13:59:00 +10:00
Alex Coyte
bb29aeb298 rose: shift program construction functions to rose_build_program 2017-05-30 13:58:32 +10:00
Justin Viiret
82838f5728 rose_build: move dedupe analysis into own file 2017-05-30 13:58:32 +10:00
Alex Coyte
1287b70f4b split out instruction details to own files 2017-05-30 13:58:32 +10:00
Matthew Barr
b1c57f9f54 cmake: check for libc++ directly
Rather than trying to infer libc++ use from platform and compiler, just
look for a defined symbol.
2017-04-26 15:19:52 +10:00
Justin Viiret
1ef87c43ee noncopyable: switch over from boost 2017-04-26 15:18:26 +10:00
Justin Viiret
a61b92f8d1 operators: add simple ue2::totally_ordered class 2017-04-26 15:18:26 +10:00
Justin Viiret
5dfae12a62 ng: split NGWrapper into NGHolder, ExpressionInfo
We now use NGHolder for all graph information, while other expression
properties (report, flag information, etc) go in new class
ExpressionInfo.
2017-04-26 15:18:09 +10:00
Matthew Barr
ce50ff6119 Use GNUInstallDirs for install paths 2017-04-26 15:17:19 +10:00
Matthew Barr
5daa191313 cmake: simplify g++ version check 2017-04-26 15:17:19 +10:00
Matthew Barr
11aac07855 cmake: override gcc's tuning guess 2017-04-26 15:17:19 +10:00
Matthew Barr
b68e4ea336 cmake: move boost tests 2017-04-26 15:17:19 +10:00
Matthew Barr
287f519205 cmake: look for Boost in-tree first
During development we tend to use a symlink to the most recent version of
Boost from the Hyperscan source tree, so look there first.

Also, unset some cached results so we recheck when the Boost version changes.
2017-04-26 15:17:19 +10:00
Justin Viiret
187a4b82c2 small_vector: add header to handle older Boost
This provides ue2::small_vector<T, N, Alloc> which will fall back to
std::vector<T, Alloc> where the Boost version is too old or not present.
2017-04-26 15:17:11 +10:00
Matthew Barr
79308e6791 cmake: don't build static libs if we don't have to 2017-04-26 15:17:03 +10:00
Anatoly Burakov
2de6706df2 Adding support for compiling approximate matching patterns
Adds new "edit_distance" extparam
2017-04-26 15:11:39 +10:00
Alex Coyte
fddcdbb129 determinisation: use unordered_map to hold state set -> id mapping 2017-04-26 14:59:22 +10:00