1. The module SYMBOL_TABLE shown in Figure 4.16 requires client modules to follow a precise protocol in the invocation of the exported services. (Din must be called before any other operation.) How can this policy be enforced through SYMBOL_TABLE's interface via exceptions?
2. Suppose that the code implementing operation PUT contains the statement TOT : = TOT + 1, TOT being the total number of buffered characters, while operation GET contains the statement TOT : = TOT – 1. Suppose also that PRODUCER_1 and CON-SUNER_2 are concurrently performing PUT and GET on the buffer. Show that the system may enter an invalid state.