Solutions Manual Int1roduction This manual contains suggested solutions to many of the PLP exercises. It is provided only to instructors who have adopted the text in their course.1 1.1 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 imperative language, give an example of each of the following. (a) A lexical error, detected by the scanner (b) A syntax error, detected by the parser (c) A static semantic error, detected by semantic analysis (d) A dynamic semantic error, detected by code generated by the compiler (e) An error that the compiler can neither catch nor easily generate code to catch (this should be a violation of the language definition, not just a program bug) Answer: There are many possible answers to this question. Here are possibilities in C: Lexical error: ‘@’ sign outside of a string or comment Syntax error: mismatched parentheses in an arithmetic expression Static semantic error: use of an identifier that was never declared Dynamic semantic error: divide by zero Error that can’t reasonably be caught: failure to reclaim dynamically allocated objects that are no longer needed (“memory leak”)
Category | Testbanks |
Comments | 0 |
Rating | |
Sales | 0 |