Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

parser: size-limit errors (list/dict/params/match) never reach the first-error recorder

Abierto
#1,360 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
78/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
c

Línea de trabajo

Start in src/parser.c by enumerating every size-limit guard with grep -n exceeds, then inspect how the current token’s line, column, and length reach p_record_tok_error. Run --lint --json against over-limit list and dict literals, and add the regression in tests/test_lsp.py or tests/test_lint.sh. Done means the size-limit message is reported as the first error with location data.

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

Descripción

area:lint-tooling kind:silent-wrong

Found by the builder on #1359, which fixed the same shape for the PARSE_MAX_DEPTH guards (#1342).

The size-limit errors in src/parser.c (list literal exceeds N, dict literal exceeds N, found with grep -n exceeds src/parser.c) do two things: they fprintf to stderr and they bump g_parse_errors. They never call the first-error recorder (p_record_tok_error). So --lint --json and the LSP publish whatever recovery error comes next, or a column-less parse error, instead of the real cause.

Done when

  • Every size-limit guard in src/parser.c records through p_record_tok_error, at the current token's line, column and length. Enumerate them with grep; don't rely on this list.
  • --lint --json on an over-limit list literal and on an over-limit dict literal reports the size-limit message as its error.
  • A regression test in tests/test_lsp.py or tests/test_lint.sh, shown red on the unfixed parser and green after.
Lenguaje dominante
C
Estrellas
3
Forks
7
Merge medio
4 h 5 min
PR fusionados (30 d)
116

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

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.

Más de InauguralSystems/EigenScript

Todos los issues de InauguralSystems/EigenScript

Issues similares

Más issues de C

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.