gmStudio is an IDE that helps you orchestrate the execution of a number of Great Migrations tools to perform specific migration and development tasks. The most crucial of these tools is gmBasic.exe, which is a highly configurable VB6/ASP/COM compiler that produces .NET code as its output. This is a language reference manual for gmBasic. Its purpose is to describe the notations and conventions used by the tool to describe the languages -- VB6, ASP, and IDL--that it processes and the changes it makes in the content of the source codes to produce the desired .NET target code.
There are five different language types processed by gmBasic described in this manual:
|gmPL||The Great Migrations Programming Language is a simple command language used to issue instructions to gmBasic and to enter declarations into the symbol table. It is not a procedural programming language, it is an xml-style scripting language.|
|gmSL||The Great Migrations Scripting Language is a procedural language for use with the authoring and reporting facilities of gmBasic. It uses VB6-style syntax and is executed interpretively. It can also be embedded, using ASP-style syntax, into gmPL; thus, greatly enhancing the power and flexibility of that language.|
|gmNI||The Great Migrations Native Interface makes writing native methods in C, C++, or C# possible to handle situations when a migration cannot be written entirely in the languages supported by the standard capabilities of the translation tool. Native code methods, loaded into runtime libraries, can handle events triggered during the translation process. These native methods have direct access to all of the information being managed during the translation via an extensive set of service classes.|
|gmIL||The Great Migrations Intermediate Language is a binary reverse-polish representation. Source languages are compiled into gmIL. That representation is then analyzed and modified to be expressible in a target language. Then the gmIL is authored in that target language.|
|gmCL||The Great Migrations Command Line controls the translation and deployment tools directly via a set of switches. There are many simple tasks that can be most easily performed by using the gmCL directly.|