Need help with redgrep?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

google
132 Stars 21 Forks Apache License 2.0 36 Commits 0 Opened issues

Description

♥ Janusz Brzozowski

Services available

!
?

Need anything else?

Contributors list

# 17,258
C++
Perl
calcula...
prometh...
34 commits
# 62,731
Shell
c-plus-...
MATLAB
async-p...
1 commit

redgrep

About

redgrep is a grep based on regular expression derivatives. That is, it uses regular expression derivatives to construct the DFA. It then uses LLVM to JIT the DFA.

Since regular expression derivatives permit the three basic Boolean operations of disjunction (

|
), conjunction (
&
) and complement (
!
), redgrep enables you to write very powerful regular expressions very easily and guarantees to match them in linear time.

Building

You must have Bazel, GNU bison and either GCC or Clang.

redgrep attempts to keep up with LLVM development, so you should get the source code and build LLVM. (Debian and Ubuntu users might prefer to install the nightly packages instead.)

If

llvm-config-14
is in your path, add the following to your
WORKSPACE
file:
load("@com_github_google_redgrep//:redgrep_configure.bzl", "redgrep_configure")
redgrep_configure(name = "local_config_redgrep")

Otherwise, add the following to your

WORKSPACE
file and specify the path to
llvm-config-14
:
load("@com_github_google_redgrep//:redgrep_configure.bzl", "redgrep_configure")
redgrep_configure(name = "local_config_redgrep", llvm_config = "/path/to/llvm-config-14")

Note that LLVM requires C++14; you must pass

--cxxopt=-std=c++14
to Bazel.

Contact

[email protected]

Disclaimer

This is not an official Google product.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.