相关疑难解决方法(0)

在Java中解析算术表达式并从中构建树

给定一个算术表达式,我需要一些创建自定义树的帮助.比如说,您输入此算术表达式:

(5+2)*7
Run Code Online (Sandbox Code Playgroud)

结果树应如下所示:

    *
   / \
  +   7
 / \
5   2
Run Code Online (Sandbox Code Playgroud)

我有一些自定义类来表示不同类型的节点,即PlusOp,LeafInt等.我不需要评估表达式,只需创建树,所以我可以在以后执行其他功能.此外,否定运算符' - '只能有一个子节点,并且要表示'5-2',您必须将其输入为5 +( - 2).

需要对表达式进行一些验证,以确保每种类型的运算符都具有正确的no.参数/儿童,每个开口括号都附有一个结束括号.

另外,我应该提一下,我的朋友已经编写了将输入字符串转换为一堆标记的代码,如果这对此有帮助的话.

我会感激任何帮助.谢谢 :)

(我读过你可以编写一个语法并使用antlr/JavaCC等来创建解析树,但我不熟悉这些工具或编写语法,所以如果这是你的解决方案,我将不胜感激,如果你可以为他们提供一些有用的教程/链接.)

java tree parsing

38
推荐指数
3
解决办法
6万
查看次数

C++简单操作(+, - ,/,*)评估类

我正在寻找一个C++类,我可以将其纳入我正在进行的项目中.我需要的功能是将字符串操作评估为数字形式:例如"2 + 3*7"应评估为23.

我确实意识到我所要求的是一种翻译,并且有一些工具来构建它们,我在CS中的背景非常差,所以如果你能指出我已经准备好的课程,我将不胜感激.

c++ calculator

6
推荐指数
1
解决办法
3301
查看次数

标签 统计

c++ ×1

calculator ×1

java ×1

parsing ×1

tree ×1