RustPython / RustPython/Parser
A macro to generating AST with python grammar
未关闭
还没有人认领这个 Issue。
- 主要语言
- Rust
- 星标
- 117
- 派生
- 38
- 平均合并
- 4 天 7 小时
- 30 天内合并 PR
- 1
描述
Inspired by https://docs.rs/pmutil/latest/pmutil/macro.smart_quote.html
e.g.
ExprKind::Tuple(ast::ExprTuple {
elts: names
.iter()
.map(|&name| {
create_expr(ExprKind::Constant(
ast::ExprConstant {
value: Constant::Str(name.to_string()),
kind: None,
},
))
})
.collect(),
ctx: ExprContext::Load,
}))
can be rewritten to:
&python_ast! {
Vars { names },
"(*names)"
}
The grammar will be limited to legal python codes to leverage python parser.
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
首先阅读此 issue 中引用的 pmutil smart_quote 宏以及提议的 python_ast! 调用。在决定应如何约束 Python 语法之前,调查 RustPython/Parser 中的 parser 和 AST 生成入口点。完成的标准是,该宏能够将合法的 Python 代码片段与提供的 bindings 转换为相应的 AST。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- python, rust
- 领域
- compilers
- Issue 类型
- 功能
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100