I have this question in a homework assignment for my Computer Languages class. I'm trying to figure out what each one means, but I'm getting stuck.
Errors in a computer program can be classified according to when they are detected and, if they are detected at compile time, what part of the compiler detects them. Using your favorite programming language, give an example of:
(a) A lexical error, detected by the scanner.
(b) A syntax error, detected by the parser.
(c) A static semantic error, detected (at compile-time) by semantic analysis.
(d) A dynamic semantic error, detected (at run-time) by code generated by the compiler.
For (a), I think this is would be correct: int char foo;
For (b), int foo
(no semicolon)
For (c) and (d), I'm not sure what is being asked.
Thanks for the help.