Page tree

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


  1. Open the Settings dialog by clicking the [Settings] button on the toolbar
  2. Click the [Configuration Files] tab
  3. Click the [Project] option in the [Translator Configuration] group box.




Clicking the [Project] option copies two files into your [workspace]\usr folder. 

StartUp File (gmBasic.xml)


<Startup metalanguage="..\usr\VB7Lang.vbi"> 

Language Information Script (VB7Lang.xml)


Key Points


Once you have modified the gmBasic.xml and the VB7Lang.xml files is in your workspace, clicking the [Update Translator Configuration] button will create a new metalanguage information file (VB7Lang.vbi) in your workspace.  This customized file will take precedence over the default copy that ships with gmStudio and will be used by the translator instead. of the default copy that ships with gmStudio. 



Part 2: customizing default language files

  1. Identify the metalanguage file that you wish to update and make a copy of the file in your workspace -- if you have not already done so.  For example, assume you want to modify the VBASIC.xml file. 

    1. Click [Language Files] to list the default language files
  2. Modify the VBASIC.xml file in your work space user folder so as desired.  For example.

    1. Click VBASIC.xml
    2. Click [Save As…] and save a copy of the VBASIC.xml in the [workspace]\usr\lang folder


  1. Modify the VB7Lang.xml file in your workspace so that it will include the VBASIC.xml in your workspace instead of the one in the default metalanguage folder. 

    The default location for default language files is specified as %MetaLangFolder%; for example:



  1.  <Include FileName="%MetaLangFolder%\vbasic.xml"/>


  1. The convention follow for customized Language Files is to place them in the usr\lang folder in the workspace and specify this using %UserFolder% script variable; for example:



  1. <Include FileName="%UserFolder%\lang\vbasic.xml"/>


  2. Rebuild the metalanguage information file by clicking the [Update Translator Configuration] button.  

    This process processes the VB7Lang.xml script and display the Translator Configuration Build Log into the text box. 
    If the process is successful, the listing will show the directory listing for the new VB7Lang.VBI file in your workspace.




Appendix Y: Migration Dlls

Migration DLLs extend and alter the behavior of the gmStudio translator.   Migration DLLs can manipulate the information about the system at the lowest level: symbol tables and operation streams.   Migration DLLs can also be used to extend the gmBasic scripting language, for example, to develop specialized analysis, reporting, and  code generation tools.  Migration DLLs allow migration teams to make the translator do things that cannot be easily specified using the declarative refactoring statements or the gmStudio scripting language. 

Migration DLLs contain "handlers".  These are subroutines invoked by the translator when various "migration events" occur during processing.  There is a large set of predefined migration events as well as a facility for attaching migration events to the specific types and members in COM libraries and to specific application types and variables.   There is also an extensive gmStudio API that facilitates interacting with the translator and the system model in migration event handlers. 

Migration DLLs can be coded with Visual Studio using C, Managed C++, C#, and VB.NET.   The system programming techniques and meta-programming concepts needed to develop migration DLLs are somewhat advanced.  We typically develop the Migration DLLs for our customers; but we also offer an SDK and Training Package for teams who want to develop Migration DLLs in house.

Appendix Z: Upgrading System Defaults

From time to time a new release of gmStudio will include changes to the default metalanguage scripts.  These changes will be baked" into the system default metalanguage file (vb7lang.vbi) and will be used by default in new translation workspaces. However, if you have a workspace that is using a project-specific metalanguage configuration, you will have to sync up your custom metalanguage scripts to be compatible with gmStudio according to the following steps:

For each of new system default files, check to see if you are using a custom script in your project workspace.

If you have a custom copy of a script, merge the new system default into your custom copy. Using a file comparison tool such as Beyond Compare.

Once you have synced all of your custom metalanguage scripts with the new system default script, you should rebuild your project specific metalanguage file.


Be careful not to change the system default files when you are doing the merge.

Your solution configuration should always be kept under version control, but you may also want make a local backup of your project-specific files before starting the merge so you can use it to restart if you make a mistake and to double check your work. Your migration