![]() |
1
2
我不知道一个图书馆,但它可以像这样实现。 您需要的基本上是来自给定表达式的表达式树(按顺序遍历) 要构造树,请使用以下步骤: 在表达式中循环
请参考这个 link 算法的实现。 |
![]() |
2
0
实际上,可以使用类似于语法分析器的生成器库。 ANTLR 为了达到你的效果,但是对于一个简单的任务来说,这是过分的。 你可以用下面的方法来定义你自己的小语法(我用了‘+’代替了‘‘’’和‘‘。’代替‘& & & &’’。”用符号替换这些符号,同时对递归下降解析器代码进行适当的代码更改):
基于上述语法,现在您可以轻松地编写递归下降分析器如下(下面的代码可能不是语法正确的,只是使用它作为伪代码):
类nodeor、node and和nodesinglevalue都是类node的子类。一旦调用方法s(),就可以将树的根作为node类型的对象。 对于递归下降解析的介绍, this 链接可能有用。 |
![]() |
A B · C#Excel自动调整列避免长文本时出错 3 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 3 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 3 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 4 月前 |