RustPython / RustPython/Parser
A macro to generating AST with python grammar
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- Rust
- Estrelas
- 117
- Forks
- 38
- Merge médio
- 4d 7h
- PRs com merge (30d)
- 1
Descrição
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.
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Direção de pesquisa
Comece lendo a macro smart_quote de pmutil referenciada nesta issue e a invocação proposta de python_ast!. Investigue os pontos de entrada do parser e da geração de AST em RustPython/Parser antes de decidir como a gramática Python deve ser restringida. A tarefa estará concluída quando a macro puder transformar snippets Python válidos, juntamente com os bindings fornecidos, no AST correspondente.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- python, rust
- Domínio
- compilers
- Tipo de issue
- Funcionalidade
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 35/100