To: Hardware Heister who wrote (7090 ) 10/24/1997 12:39:00 AM From: Jeffrey S. Mitchell Read Replies (1) | Respond to of 13949
Jeff: I have never read that Mr. Bemer's solution involves the compiler or linker, or altering either one, but of course, I could have missed something. I believe IBM is working on such a solution, as are a couple of people in Encino, CA (I forget their names.) Do you have some concrete reason that you are saying this is the way he is doing it, or are you just speculating? From bmrsoftware.com Here's a brief outline of what his solution entails: ÿÿÿ1. A preprocessor examines all code and conditions it to trap all year-date calculations during execution. Bemer says that recognizing all year-date calculations is possible, since there is a limited profile of possible operations and formats (for example, no one does division or multiplication on dates) ÿÿÿ2. The output of the preprocessor is then fed into the compiler or assembler (Bemer says his approach works for COBOL and other languages). ÿÿÿ3. At execution time, year-date conversion arithmetic is trapped. ÿÿÿ4. The trap routine tries to utilize special flags that identify the century in question. For new data, those flags will have been input at data entry time. For old data, which have no such flags, a windowing solution, is used - that is, dates in a certain span are treated as being in the 20th century, others in the 21st. Note that the windowing solution is centralized into the trap routine, and thus is easy to change as the window needs changing. ================= Don't forget, once the code is modified, it still has to be maintained, maybe even for dozens more years. It just seems logical to incorporate Bemer's stuff in all the supporting tools rather than add his extra step each time. And what about debugging? Of course, all this talk presupposes he can actually find all the dates. Can you give me an instance of code you've written that involves non arithmetic manipulation of a date that would fail the Y2K test? I bet you can. - Jeff