While writing my own evaluator, I had the following problem:
If you define operators without spaces e.g. "OR" also strings that are part of a literal get tokenized e.g. "type=PORT OR true" becomes ["type=P", "OR", "T ", "OR", " true"], on the other hand using " OR " solves that problem, but later on " OR " gets not recognized as an operator since tokens get trimmed before comparing and unfortunately "OR" does not match " OR ".
Unfortunately this cannot be solved by overwriting something in my class the operators map and the toToken(Token, String) method are private, so for now I fixed it myself by overwriting the operators map via reflection (I don't have the luxury to wait for an update, and also want the library to use as is without modifying it myself)
In my opinion the best and easiest fix would be to change one line in the AbstractEvaluator(Parameters) constructor
58: this.operators.put(ope.getSymbol(), known);