我正在编写一个应用程序,允许用户输入布尔表达式。我需要在运行时评估输入的布尔表达式,并寻找解析器和表达式验证器。
解析器 解析器需要将布尔表达式作为字符串输入并返回true/false。
例如:
string expression = "(1 == 1) && (1 > 0)"; Parser parser = new Parser(); boolean result = parser.parse(expression); // 结果应该是True。
除了处理布尔表达式外,我还需要它处理数学问题。
expression = "((1 + 1 * 2) == 1)"; result = parser.parse(expression); // 结果应该是False。
验证 为了告诉用户输入的表达式是否有问题,我还需要一种验证语法的方法。
我正在使用.NET Compact Framework中的C#进行工作,但如果您知道其他语言编写的东西可能会有所帮助。
感谢您提供的任何帮助。 Tom
解析器 解析器需要将布尔表达式作为字符串输入并返回true/false。
例如:
string expression = "(1 == 1) && (1 > 0)"; Parser parser = new Parser(); boolean result = parser.parse(expression); // 结果应该是True。
除了处理布尔表达式外,我还需要它处理数学问题。
expression = "((1 + 1 * 2) == 1)"; result = parser.parse(expression); // 结果应该是False。
验证 为了告诉用户输入的表达式是否有问题,我还需要一种验证语法的方法。
我正在使用.NET Compact Framework中的C#进行工作,但如果您知道其他语言编写的东西可能会有所帮助。
感谢您提供的任何帮助。 Tom