I am writing an application that allows a user to enter a boolean expression. I need the ability to evaluate the entered boolean expression at runtime and am looking for both a parser and a expressoin validator.
Parser
The parser needs to take a boolean expression as a string and return true/false.
Example:
string expression = "(1 == 1) && (1 > 0)"; Parser parser = new Parser(); boolean result = parser.parse(expression); // Result should be True.
In addition to handling boolean expressions I also need it to handle Math.
expression = "((1 + 1 * 2) == 1)"; result = parser.parse(expression); // Result should be False.
Validate
So that I can tell the user if there is a problem with the expression being entered I also need a way to validate the syntax.
I am working in C# using the .NET Compact Framework, but if you know of something written in another language that may be helpful.
Thanks for any help you can provide. Tom
Antlr grammars can be designed to allow for both parsing and evaluation.
Here's an example: http://www.antlr.org/wiki/display/ANTLR3/Expression+evaluator