lambdaclass / lambdaclass/lambda_compiler_kit
refactor: eliminate decreasing_by in Parser.lean in favour of structural recursion
Nessuno ha ancora preso questa issue.
- Lingua principale
- Lean
- Stelle
- 2
- Fork
- 1
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
Problem
Lck/Regex/Parser.lean at lines 646 and 912 uses decreasing_by to convince the termination checker. Per CLAUDE.md, decreasing_by is a code smell for parsers — a well-structured LL(1) parser over a token list should terminate structurally.
Expected fix
Restructure the affected parsing functions so that recursive calls are made on a syntactically smaller token list, allowing the Lean termination checker to accept them without decreasing_by. If this turns out to be infeasible, document why with a comment.
References
- Observed by AI code review on PR #9
- See CLAUDE.md termination discipline
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.
Direzione di ricerca
Apri Lck/Regex/Parser.lean e ispeziona il codice di parsing alle righe 646 e 912, quindi leggi le indicazioni sulla terminazione in CLAUDE.md. Determina se le chiamate ricorsive interessate possono usare liste di token strutturalmente più piccole; il lavoro è completato quando entrambi gli usi di decreasing_by sono stati rimossi oppure un commento esplicativo documenta perché la ristrutturazione non è fattibile.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Ambito
- compilers
- Tipo di issue
- Refactoring
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 42/100