Buenas, despues de leer bastante sigo con una duda bastante básica.
Como identifico cuando es cada tipo de error?
Alguien la tiene clara como para explicarme?
Muchas gracias!
Error léxico es cuando se encuentra un token que no es reconocido dentro de los válidos en el lenguaje en que se está trabajando. Por ejemplo, usar el operador ":=" en C es un error léxico.
Error sintáctico es justamente cuando no se respeta la sintaxis esperada: paréntesis sin cerrar (o cerrados sin abrir), falta de punto y coma si es que hace falta, etc.
Error semántico es cuando lo que se escribe no tiene sentido, por ejemplo aplicar un operador a un tipo de dato que no corresponde. Por ejemplo: aplicar el operador "/" a un string.
Y errores logicos, como cuando queres dividir por 0. (?)
...cuando el compilador te putéa:
error léxico -> te putéa en el Scanner
error sintáctico -> te putéa en el Parser en un PAS
error semántico -> te putéa una rutina semántica