...
In gmStudio, the translation of each migration tasks task proceeds in 3 steps:
- Using data from the migration project, the current task, and the template translation script produce an actual translation script
- Start the gmBasic translation engine as a new process in the working folder, passing in the actual translation script on the command line
- Monitor the gmBasic output, capture it in a log file and display it in the session panel
- Inspect the gmBasic outputs (i.e. the log file and the code bundle) for record status and results on the migration task record.
Inside the gmBasic process, the transformation of a source codebase to a target codebase proceeds in 8 steps as directed by the actual translation script and all files that specify the migration configuration:
- Loading the source code code from disk into memory
- Pre-Processing processing the source code (e.g. compile/fix commands if specified)
- Building a detailed symbol table from the identifiers declared in the source code and in the external libraries referenced by the source code
- Building a low-level semantic model from the logic in the source code
- Analyzing the symbol table and semantic model and transforming it to fit the target requirements
- Authoring the target code for the semantic model and symbol table.
- Post-Processing the target code (optional)
- Publish the target code (write to disk as text bundle file)
...