Handle integer parsing exceptions in the lexer
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 82/100
Línea de trabajo
Empieza en compiler/main.cpp, en la ruta de análisis de enteros identificada en el issue, y sigue cómo el lexer registra las posiciones de los tokens y notifica los errores de sintaxis. Comprueba cómo se manejan los tokens de enteros mal formados y demasiado grandes; luego verifica que produzcan un error claro con la línea y la columna del token y que no se produzca ninguna excepción std::stoi sin capturar.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
The compiler tokenizes integers using std::stoi without validating the token or catching invalid conversion exceptions.
Problem
A numeric token like +, -, or an oversized integer can produce an exception instead of a clean syntax error. That creates hard-to-diagnose crashes during assembly.
Expected behavior
- Reject malformed integer literals with a clear error message.
- Report the line and column of the invalid token.
- Avoid uncaught exceptions from
std::stoi.
Relevant code
compiler/main.cppin the integer parsing path.
Suggested fix
Before calling std::stoi, validate the token string and catch std::invalid_argument/std::out_of_range to convert them into syntax errors with source positions.
- Lenguaje dominante
- C++
- Estrellas
- 0
- Forks
- 0
- Merge medio
- 1 min
- PR fusionados (30 d)
- 4
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de DavidSkillman/LittleManCompiler
-
bug copilot
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
bug copilot enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Todos los issues de DavidSkillman/LittleManCompiler
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
ROCm/rocm-systems#15475 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
Sendspin/sendspin-cpp#257 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
pocoproject/poco#5664 ·
Los mantenedores suelen responder en 2 días
-
community:good-first-issue kind:bug kind:test scope:control status:needs-triage vehicle:rover
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
PX4/PX4-Autopilot#29727 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día