using uCalcSoftware; var uc = new uCalc(); static void ItemCallback(uCalc.Callback cb) { var itm = cb.Item; Console.WriteLine($"Name: {itm.Name}"); Console.WriteLine($"Data type: {itm.DataType.Name}"); Console.WriteLine($"Param count: {(itm.Count).ToString()}"); Console.Write("Procedure type: "); if (itm.IsProperty(ItemIs.Operator)) { Console.WriteLine("Operator"); } else if (itm.IsProperty(ItemIs.Function)) { Console.WriteLine("Function"); } Console.WriteLine($"Definition: {itm.Text}"); Console.WriteLine($"Description: {itm.Description}"); Console.WriteLine("---"); } uc.DefineFunction("AAA() As Double", ItemCallback).Description = "Does this and that"; uc.DefineFunction("BBB(x, y, z) As String", ItemCallback).Description = "Does something else"; uc.DefineOperator("{x} CCC {y} As Int32", 55, Associativity.LeftToRight, ItemCallback); uc.EvalStr("AAA()"); uc.EvalStr("BBB(9, 8, 7)"); uc.EvalStr("5 CCC 4");