实现目标的最干净的方法是为此目的编写Lexer和Parser。对于算术表达式,从头开始编写递归下降解析器并不难。
网上有许多代码示例。这是一个可以激发灵感的示例。
Lexer在那里可以规范化您的输入并将其抽象为令牌流。这样,您的解析器只需要处理令牌,而不必另外处理空白问题和其他令人讨厌的事情。
基于堆栈的高级算法的两个示例,另一个示例显示递归下降方法。

实现目标的最干净的方法是为此目的编写Lexer和Parser。对于算术表达式,从头开始编写递归下降解析器并不难。
网上有许多代码示例。这是一个可以激发灵感的示例。
Lexer在那里可以规范化您的输入并将其抽象为令牌流。这样,您的解析器只需要处理令牌,而不必另外处理空白问题和其他令人讨厌的事情。
基于堆栈的高级算法的两个示例,另一个示例显示递归下降方法。