Imports System
Imports uCalcSoftware
Public Module Program
   Public Sub Main()
      Dim uc As New uCalc()
      Dim t As New uCalc.Transformer()
      Dim tokens = t.Tokens
      tokens.Clear()
      tokens.Add(".") '// Fallback
      
      Dim tokenPlus = tokens.Add("[+]")
      Dim tokenStar = tokens.Add("[*]")
      Dim tokenCaret = tokens.Add("^")
      
      '// LIFO order means precedence is: '^' > '*' > '+'
      Console.WriteLine("Precedence Check:")
      Console.WriteLine($"Caret (^) > Star (*): {tokens.IndexOf(tokenCaret) > tokens.IndexOf(tokenStar)}")
      Console.WriteLine($"Star (*) > Plus (+): {tokens.IndexOf(tokenStar) > tokens.IndexOf(tokenPlus)}")
      
      '// Test for a token not in this collection
      Dim t2 As New uCalc.Transformer()
      Dim unaddedToken = t2.Tokens.Add("unrelated")
      Console.WriteLine($"Index of un-added token: {tokens.IndexOf(unaddedToken)}")
   End Sub
End Module