#regex #bindings #text #ffi #native-bindings

sys vectorscan-rs-sys

对 Vectorscan 高性能正则表达式库的本地绑定

3 个版本

0.0.3 2024 年 8 月 22 日
0.0.2 2024 年 4 月 18 日
0.0.1 2024 年 4 月 5 日

2578解析器实现

Download history 26/week @ 2024-05-03 37/week @ 2024-05-10 63/week @ 2024-05-17 43/week @ 2024-05-24 51/week @ 2024-05-31 48/week @ 2024-06-07 99/week @ 2024-06-14 90/week @ 2024-06-21 24/week @ 2024-06-28 19/week @ 2024-07-05 59/week @ 2024-07-12 56/week @ 2024-07-19 166/week @ 2024-07-26 52/week @ 2024-08-02 105/week @ 2024-08-09 232/week @ 2024-08-16

每月 567 次下载
vectorscan-rs 中使用

Apache-2.0 或 MIT

2MB
795

vectorscan-rs-sys

概述

此包实现了对 Vectorscan 分支的 Rust 最小绑定,Vectorscan 是 Hyperscan 的高性能正则表达式引擎。此包从源代码构建 Vectorscan 的供应商副本。

依赖项

  • Boost >= 1.57
  • CMake
  • 补丁
  • 可选:当使用 bindgen 功能构建时,Clang

已在 x86_64 Linux、x86_64 macOS 和 aarch64 macOS 上进行了测试。

实现说明

此包最初是作为 Nosey Parker 的一部分编写的。它从 pyperscan 项目改编而来,该项目使用 Rust 将 Hyperscan 暴露给 Python。(该项目以 Apache 2.0 或 MIT 许可证发布。)

目前公开的绑定仅限于 Vectorscan 的基于块的匹配 API。其他各种 API(如基于流和向量的匹配)尚未公开。其他功能,如 Chimera PCRE 库、测试代码、基准代码和支持工具已禁用。

Vectorscan 5.4.11 的源代码包含在 5.4.11.tar.gz 文件中。

在构建时,对 Vectorscan 源代码应用了一个 补丁。此补丁做了几件事

  • 修改基于 CMake 的构建系统,以消除对 ragel 的构建时依赖
  • 将 4 个预编译的 Ragel .rl 文件添加到源代码树中
  • 修改基于 CMake 的构建系统,允许禁用此包中未使用的几个组件

许可证

本项目采用以下任一许可证授权:

供您选择。

本项目包含一个由第三方提供的 Vectorscan 复制,该软件采用3条款BSD许可证发布(《LICENSE-VECTORSCAN》)。

贡献

除非您明确说明,否则根据Apache-2.0许可证定义,您提交给 vectorscan-rs-sys 的任何有意贡献将如上双许可,不附加任何额外条款或条件。

依赖项