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语言中文社区