A macro to generating AST with python grammar
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia leggendo la macro smart_quote di pmutil referenziata in questa issue e l’invocazione proposta di python_ast!. Esamina i punti di ingresso del parser e della generazione dell’AST in RustPython/Parser prima di decidere come dovrebbe essere vincolata la grammatica Python. Il lavoro è completato quando la macro può trasformare snippet Python validi insieme ai binding forniti nell’AST corrispondente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- Rust
- Stelle
- 117
- Fork
- 38
- Merge medio
- 4g 7h
- PR unite (30g)
- 1
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di RustPython/Parser
-
Maintenance status Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 25/100
RustPython/Parser#140 · 3 commenti ·
-
`unic` is unmaintained Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
RustPython/Parser#139 · 3 commenti ·
-
cargo audit paste Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 30/100
RustPython/Parser#137 · 1 commento ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 50/100
RustPython/Parser#133 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
RustPython/Parser#130 ·
Tutte le issue di RustPython/Parser
Issue simili
-
risk:low runtime status:in-progress type:test
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
zeroclaw-labs/zeroclaw#11023 ·
-
good first issue refactor
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
EricSpencer00/Resilient#4835 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
bisq-network/bisq-musig#204 ·
-
agent:ready documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
cesarferreira/stax#890 ·