I need a general purpose eval function that can solve an expression like this:

Val("1") + 0 Or Int(1.5)

That would produce the result TRUE (1 or -1 in thinBASIC).

Notice that the expression has a string, math, and the logical/bitwise operator Or in it. I don't want to have to use Eval_String, or Eval_Math, or Eval() to solve different expressions because I need an evaluator that spits out a variant.

Do I have any options? I have no idea how to write an expression evaluator, I don't think I'm quite that skilled yet.