Imports System
Imports uCalcSoftware
Public Module Program
   Public Sub Main()
      Dim uc As New uCalc()
      uc.DefineOperator("{x} MyOp {y} = x + y", 0) '// Infix operator with alphanumeric name
      uc.DefineOperator("@@ {number} = number * 2", 0) '// Prefix operator with symbolic name
      uc.DefineOperator("{val} % = val / 100", 0) '// Postfix operator with symbolic name
      uc.DefineOperator("{a} times {b} = a * b", uc.ItemOf("*").Precedence) '// Specifying precedence
      uc.DefineOperator("{TextA As String} concat {TextB As String} As String = TextA + TextB", 0) '// Specifying types
      
      Console.WriteLine(uc.Eval("5 MyOp 4"))
      Console.WriteLine(uc.Eval("@@5"))
      Console.WriteLine(uc.Eval("5 %"))
      Console.WriteLine(uc.Eval("3 times 5"))
      Console.WriteLine(uc.EvalStr("'Hello' concat ' world!'"))
   End Sub
End Module