ITPub博客

首页 > 数据库 > 数据库开发技术 > 【Rust日报】2022-08-13 Rust Sitter 轻松编写快速且健壮的解析器

【Rust日报】2022-08-13 Rust Sitter 轻松编写快速且健壮的解析器

原创 数据库开发技术 作者:Rust语言中文社区 时间:2022-08-13 22:14:52 0 删除 编辑

Rust Sitter 轻松编写快速且健壮的解析器

tl;dr

Rust Sitter 是一种用 Rust 编写解析器的新方法。通过将宏与外部编译时工具相结合,它可以使用 Tree Sitter 和绑定自动生成高效的解析器,从而将结果提取到上层用户结构中。

Tree Sitter,一个解析器生成工具和一个增量解析库。

博客原文,https://www.shadaj.me/writing/introducing-rust-sitter/

SeaQL 团队庆祝 Github 获得 3k+ star

SeaQL 团队庆祝其所有 SeaQL 代码库达到 3,000 GitHub star 的里程碑!

SeaQL.org 成立于 2020 年。致力于开发开源库,帮助 Rust 开发人员构建数据密集型应用程序。在过去的两年里,SeaQL 团队发布并维护了四个开源库:SeaQuery、SeaSchema、SeaORM 和 StarfishQL。每个库都旨在填补 Rust 生态系统中的一个细分市场,并且它们可以与其他 Rust 库很好地配合使用。

SeaQL 博客原文,https://www.sea-ql.org/blog/2022-08-12-3k-github-stars/

Viz,轻量级 Web 框架

Viz,快速、健壮、灵活、轻量级的 Web 框架。

use std::net::SocketAddr;use viz::{Request, Result, Router, Server, ServiceMaker};

async fn index(_: Request) -> Result<&'static str> { Ok("Hello Viz")
}
#[tokio::main]async fn main() -> Result<()> { let addr = SocketAddr::from(([127, 0, 0, 1], 3000)); println!("listening on {}", addr);
let app = Router::new().get("/", index);
if let Err(err) = Server::bind(&addr)
.serve(ServiceMaker::from(app))
.await
{ println!("{}", err);
}
Ok(())
}

Github 链接,https://github.com/viz-rs/viz

crates 中静态链接 C/C++ 库:可追溯性和安全问题

目标是探索 crates 的现状,包括静态链接的 C/C++ 库,并开始讨论如何更轻松地以安全可靠的方式在 crates 中导入外部代码。

论坛原文,https://internals.rust-lang.org/t/statically-linked-c-c-libraries/17175


From 日报小组 洋芋

社区学习交流平台订阅:

  • Rustcc论坛: 支持rss

  • 微信公众号:Rust语言中文社区


原文作者:Rust语言中文社区;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2020-06-11

  • 博文量
    1769
  • 访问量
    719037