Datatek’s Language Conversion Process

In Brief

Our language conversion process is an iterative process. In general, the code, including copybooks/include files, is parsed (similar to that of a compiler) and put into a metadata format. This information is then correlated with other modules, making the necessary modifications for handling the differences between the source and target programming languages. Information needed for other modules is then split out to feed into those source code conversions, creating a “cross pollination” effect which ensures that the information needed by a module is carried through the entire conversion process code base. The final code is then generated.

Process Diagram

A diagram of the language conversion process

Successive passes through the entire code set gather additional information during each stage. This provides the ability to perform complex code manipulations and conversions resulting in better and more maintainable converted code.

The Conversion Process in More Detail

The process begins with the parsing of a source file and its copy/include modules into a metadata format. The parsed information is fed into the language converter along with additional information that may be pertinent to the conversion, including data types, prototypes, conversion parameters, and overrides. The additional information provides the flexibility that is needed to ensure each conversion covers the client’s needs.

For instance, some conversions require the creation of additional data types if a particular data type is not available in the target language. If source code is being converted to an object-orientated language, certain base classes are usually required that may not have existed in the original code. Prototypes are another essential component in the conversion process. Depending on the language, implicit data conversions would be performed by the compiler, allowing a caller to call a routine with differing data types for parameters. For languages that do not support the implicit conversion, explicit conversions need to be inserted into the code. Sometimes it is also necessary to implement functionality overrides. For instance, pathnames to files may need to be modified due to differences between operating system platforms. Clients may also request conversion options which are specific to their environment. For example, the customer may want a particular piece of data which is used in a particular scenario to have new characteristics (such as a data type). Conversion parameters provide information to the converter which will define rules pertinent to particular conversion scenarios.

Once all of these components have been passed to the converter, information that is required for other modules is extracted, such as variable, parameter, and subroutine usage. From this, a determination must be made about how variables are used. For example, a routine that passes a variable must be examined to determine whether the variable is to be passed by value or reference.

The conversion process then becomes iterative. With each successive pass through the entire code set, additional information is generated, since a change to one module can create the domino effect of requiring modifications in other modules. Changes to those modules, can then require modifications to another set of modules, and so on. By having the ability to quickly and repetitively parse through entire code sets, making additional modifications on-the-fly, it is clear that Datatek’s automated language conversions are the most cost effective and reliable way to convert between programming languages.

PL/I Conversion Tour

  1. PL/I conversion overview
  2. Learn about the language conversion process
  3. Language Conversion Advantages
  4. Resources & White Papers

Ready For More Information?

Call 800-536-4TEK and speak to a Datatek project manager today! Email Datatek at info@datatek-net.com

Datatek has successfully converted millions of lines of PL/I code. We will put our experience and insight to work for you.

Call 800-536-4TEK and speak to a Datatek project manager today!

More Information

Strategic Partners

IBM Logo Mainframe Migration Alliance Logo Microfocus Logo
Sun Logo

How Can We Make This Website Better?

If you’ve discovered a mistake, an ambiguity, or that some important information is missing from this website, please let us know.