Since the 1990s, Microsoft Visual Basic (VB6) and Microsoft Active Server Pages (ASP) have been useful and popular tools in software development. However, their long term viability ended when Microsoft released the .NET platform and started aggressively promoting it as the dominant programming paradigm for Windows. VB6 and ASP Classic are now being replaced by Microsoft .NET and they are rapidly losing community support. Because the .NET platform is so different from VB6/ASP, many organizations are finding the upgrade to be extremely difficult. Great Migrations has developed a methodology that can help in making this transition. Central to our methodology is Promula -- PRocessor Of MUltiple LAnguages. Promula is a a powerful ANSI-C based computer language translation technology. This document describes the Promula system, its technology and its implementation in ANSI-C via the Great Migrations Service Classes.
The goal of a Promula based tool like gmBasic or gmFortran is to aid a software engineer whose task is to translate computer source code written in one language such as Fortran or VB6 into another language like ANSI-C or C# in such a way that the translated code when running on its target platform is functionally equivalent to its original form. For simple systems the translated code by a Promula based tool might already be functionally equivalent; however, in most cases this will not be true. The resources, system conventions, and even code design used by the original version will not be present for the translated code. Source code must not only be translated it must also be migrated and refactored before it can used in its translated form.