Substitutions of the translator

Top  Previous  Next

User interface > Translation options > Substitution options > Substitutions of the translator


Similar to the substitution table for the preprocessor there is a second substitution table for the translator.


There are two differences to the substitutions, which are carried out by the preprocessor:


1.While the preprocessor cannot distinguish identifiers, which are keywords from other identifiers, the translator does. Only the latter are substituted by the translator, i.e. the names for variables, functions etc. Therefore, the translator can substitute such names, which are keywords in C#. Without this substitution, there would be errors in the translated code. E.g.


double float;  -> double float_value; .


2.The identifier is already recognized by the translator before the substitution takes place. Therefore it can be substituted by something completely different, without affecting the translation process. E.g.


StringOfChar -> AnsiString::StringOfChar


This translation table also is applied to the names of helping variables which are needed for the definition of implicitly defined types, e.g. in set's. So a adjustment of the according names in the C# Builder VCL is possible, which can be different there from version to version. Also the set type "System::Set" can be renamed this way now, e.g. for a comfortable integration of Daniel Flower's TSet.




This page belongs to the Delphi2C# Documentation

Delphi2C# home  Content