A method for translating source code programs written in a procedural
computer language in source code programs written in an Object Oriented
language. The method of the invention provides a parser which adds to the
lexicographic and syntactical analysis of the source code a semantic
analysis: a parser is written for identifying the semantic patterns in the
source code. At execution, the parser reads the instructions of the
procedural language and classify the sequences of instructions identified
as using a known pattern. According to the matched patterns, the parser
creates different categories of classes containing both functional
(linearly translated code) or references to other object instances. Each
time an object is discovered in the code it is stored in an Object
Dictionary with its description and reused when referred later in the
code. The parser is executed for each program and at each execution new
classes and new objects are created; when all the programs are translated
the OO classes and objects form the target object model.