#scope #graph #programming-language #query #documentation #definition #name

作用域图

对作用域图到Rust的良好文档化移植

20个版本

0.3.2 2024年6月6日
0.3.1-rc02024年6月5日
0.2.18 2024年6月4日
0.2.6 2024年4月24日
0.1.0 2023年11月15日

127编程语言

Download history 93/week @ 2024-04-26 993/week @ 2024-05-31 239/week @ 2024-06-07 13/week @ 2024-06-14

1,080 每月下载量
用于 scopegraphs-macros

MIT/Apache

495KB
11K SLoC

JavaScript 7.5K SLoC // 0.0% comments Rust 3.5K SLoC // 0.0% comments TypeScript 16 SLoC // 0.5% comments

Crates.io MSRV docs.rs GitHub Actions Workflow Status

警告

该软件正在积极开发和测试,并已进行文档化。大多数功能都正常工作,但我们还不能保证API的稳定性,文档的质量也不如我们所期望。如果您不理解某些内容,请随时为我们提供文档,或让我们知道。

该库尚未准备好用于生产使用

作用域图是一种抽象,允许您表达许多编程语言具有的复杂名称解析模式。简单来说,作用域图编码了程序中哪些作用域定义了哪些名称,以及这些作用域之间的关系。然后,我们可以运行查询来从名称的使用创建到名称定义的链接。然而,为了使名称解析灵活,图的构建和图的查询可以并发发生:我们不需要完整的图就可以开始查询它。

这个库及其文档既是作用域图的一种参考实现,也是您编程语言的一个可用的库,同时也是如何使用作用域图的教程,以及如何自己实现作用域图的教程。

研究

作用域图基于研究。以下是一些比这里更科学地介绍这个主题的论文。这是故意的:这个库的文档旨在是作用域图的非正式解释。

但是,更多研究正在进行中!请参阅我们的研究概述页面,了解所有涉及范围图的 研究。

依赖关系

~1.3–2.3MB
~44K SLoC