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

2022-11-28 11:54:46 浏览数 (1)

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 框架。

代码语言:javascript复制
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语言中文社区

0 人点赞