A method, apparatus, and article for solving the year 2000 problem involves
limited modifications in the data definition portions of the source code
and compiler support for processing the modified source code. Fields in
the source code that contain a year or date values are identified and, for
each such field, the user selects an appropriate technique (for example,
expansion, compression or windowing). The user modifies the data
definition for each identified field, by adding new attributes to request
the selected technique. The user then compiles the program and resolves
any ambiguous references to the variables whose definitions were modified.
This procedure is applied, module by module, and each processed module is
merged into production, after testing, by using a compiler option to
disable the use of the new attributes. A compiler option provides for the
generation of debugger hooks for each statement that has been affected by
modified declarations, which may be used with a suitably equipped debugger
or other run-time analysis tool.
Une méthode, un appareil, et un article pour résoudre le problème 2000 d'année comporte des modifications limitées dans les parties de définition de données du code source et du soutien de compilateur de traiter le code source modifié. Les champs dans le code source qui contiennent une année ou des valeurs de date sont identifiées et, pour chaque un tel champ, l'utilisateur choisit une technique appropriée (par exemple, expansion, compression ou fenêtrage). L'utilisateur modifie la définition de données pour chaque champ identifié, en ajoutant de nouveaux attributs pour demander la technique choisie. L'utilisateur alors compile le programme et résout toutes les références ambiguës aux variables dont les définitions ont été modifiées. Ce procédé est appliqué, module par le module, et chaque module traité est fusionné dans la production, après essai, en employant une option de compilateur pour neutraliser l'utilisation des nouveaux attributs. Une option de compilateur prévoit la génération des crochets de programme de mise au point pour chaque rapport qui a été affecté par les déclarations modifiées, qui peuvent être employées avec un programme de mise au point convenablement équipé ou tout autre outil d'exécution d'analyse.