InaCalc is a component that integrates expression parsing, evaluating, and dependent formula recalculation. The InaCalc component is useful in two general areas: first, when a formula has to be defined and evaluated at runtime (for example, if the end user is allowed to enter a formula that will be evaluated and used); second, when a set of formulas that depend on each other are defined, configured, and evaluated at run-time. The InaCalc component supports conventional math operators and functions and is suitable for heavy-duty number crunching. It also supports other data types, such as string, date-time, logical, and operators and functions for these data types. It allows defining variables and sets of related formulas that implement spreadsheet-like recalculations. The various ways data flow, the custom function support, and the different modes of work give power and flexibility. The control contains these objects: