The Analyser class contains utilities used to allow the introduction of external library component transformations into the analyser phase of a translation.
More...
|
delegate int | Transform (int subRoot, int target, int iRefer, int[] qeStack) |
| The Transform delegate encapsulates the logic needed to transform a set of library specific components based upon references to them in compiled code. More...
|
|
|
static void | StartAnalyser (string[] components, int[] compAddr, int migNumber) |
| The StartAnalyser method is called after the compiler has completed and before the anayser is called. It places markers in the library component information vectors whose code references are to be transformed. This method should be called for each library being migrated. More...
|
|
static void | CodeScan (int migNumber, Transform migrate) |
|
The Analyser class contains utilities used to allow the introduction of external library component transformations into the analyser phase of a translation.
◆ StartAnalyser()
static void gmslLibrary.Services.Analyser.StartAnalyser |
( |
string [] |
components, |
|
|
int [] |
compAddr, |
|
|
int |
migNumber |
|
) |
| |
|
static |
The StartAnalyser method is called after the compiler has completed and before the anayser is called. It places markers in the library component information vectors whose code references are to be transformed. This method should be called for each library being migrated.
- Parameters
-
components | The components parameter is a string vector containing the fully qualified identifiers of the components to be migrated. A maximum of 255 components may be included. If any of the identified components cannot be located a warning message is logged. |
compAddr | The compAddr parameter is an integer vector that returns the storage offsets of the listed components. |
migNumber | The migNumber parameter is a unique user assigned value that identifies the particular library being migrated. The actual marker for the components is the sequence number of the component in the components vector plus the migration number times 256. It is stored in the migTransform property of the component. |
◆ Transform()
delegate int gmslLibrary.Services.Analyser.Transform |
( |
int |
subRoot, |
|
|
int |
target, |
|
|
int |
iRefer, |
|
|
int [] |
qeStack |
|
) |
| |
The Transform delegate encapsulates the logic needed to transform a set of library specific components based upon references to them in compiled code.
- Parameters
-
subRoot | The subRoot parameter is the root offset of the component whose compiled code is referencing one of the components being transformed. |
target | The target parameter is the root offset of the external library component whose references are the target of a transformation. |
iRefer | The iRefer parameter is the operation code offset of the actual reference to the targeted component. |
qeStack | The qeStack parameter is a vector used internally to keep track of the starts of the code for the nested quantity expressions surrounding the reference to the target component. Its initial entry specifies the nesting level and its fillowing members contain the starting offset at each level. |
- Returns
- The delegate instances are assumed to return a nonzero value if they changed the underlying compiled code, and a zero value if they did not.
The documentation for this class was generated from the following file:
- C:/gmProducts/gmStudio_dev/src/gmslAPI/gmslLibrary/Analyser.cs