Interpreter loading and initialization

The process of loading the CAM system interpreter into memory consists of the following steps:

  • Reading interpreter settings file.

  • Load the register list from the interpreter settings file.

  • Loading the parent interpreter into memory (the process of loading the parent interpreter repeats all the steps of loading the interpreter into memory in the same sequence).

  • Load the interpreter program library into memory, get the INCT_Interpreter interface (by calling the NCT_GetInterface function of the loaded program library).

  • Checking the match of the settings file identifiers and the program library (getting the ID of the program library is made by calling the INCT_Interpreter.GetIdentifier function), and the identifiers of the parent interpreter.

  • Loading the list of registers from the program library (call the INCT_Interpreter.GetRegisters function).

  • Loading the list of parent interpreter registers.

As a result of loading the interpreter, the program library of the interpreter and its parent libraries (if any) will be loaded, the resulting list of registers (base) will be generated. In this case, the registers of the settings file have a higher priority over the registers of the program library (ie, they override them), and the registers of interpreter-heirs have a higher priority than the registers of interpreter-parents, if a register with this name is present in both lists.


The interpreter initialization consists of the following steps:

  • Initializing the parent interpreters (the parent interpreter initialization process repeats all the interpreter initialization steps in the same sequence).

  • The sequential transfer of CAM system interfaces to the program library (the INCT_Interpreter.SetInterface method of the interpreter program library will be called several times, according to the number of interfaces transmitted).

  • Initialization software library (INCT_Interpreter.Initialize method call).

As a result of the initialization, CAM system objects will be passed to the interpreter implementing the interfaces:

The interpreter library initialization method will be executed.