lambdaclass / lambdaclass/lambda_compiler_kit

refactor: eliminate decreasing_by in Parser.lean in favour of structural recursion

Abierto
#34 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
Lean
Estrellas
2
Forks
1
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Abre Lck/Regex/Parser.lean e inspecciona el código de análisis en las líneas 646 y 912; después, lee las indicaciones sobre terminación en CLAUDE.md. Determina si las llamadas recursivas afectadas pueden usar listas de tokens estructuralmente más pequeñas; se considera hecho cuando se hayan eliminado ambos usos de decreasing_by o un comentario explicativo documente por qué la reestructuración no es viable.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Área
compilers
Tipo de issue
Refactorización
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
42/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.