The System.Bindings.* set of units is where this mechanism has been implemented. It is a far from trivial implementation and includes a relevant number of functionalities and capabilities (scope definition, method implementations, object wrapping, constants and operator definitions, and more). This final convenient behavior is made available to developers through a number of abstraction layers and goes up as far as the high-level abstraction we saw in the previous section. This abstraction can be easily handled at design time in the IDE – and even through the support of a visual designer.
The expression evaluator supports constants, variables, wrapping objects, functions (methods), and operators. The basic concept of scope represents the building blocks of the expression evaluator; that is, you can define several kinds of scopes (that is, dictionary scopes such as TDictionaryScope, which can be found in the System.Bindings...