【发布时间】:2015-02-25 08:25:34
【问题描述】:
所以我最近开始学习汇编语言,但在创建抽象语法树 (AST) 并在汇编中实现它们时遇到了麻烦。所以可以说我有这个等式:z = (3 - 2*x)*x - 2*y + 1。那么下面的 AST 是否正确,因为我知道有多个答案,每个答案在实现上都不同?
=
/ \
- *
/ \ \
* 3 *
/ \ / \
2 x - +
/ \ / \
x 2 y 1
从那里,我将如何在我的代码中实现它(如果树是正确的)?不幸的是,我不知道从哪里开始。提前致谢。
【问题讨论】:
-
AST 不正确,因为它应该反映获取结果的路径。
-
至于组装实现,这取决于你,所以到目前为止,这应该被关闭为“太宽泛”。
-
我将如何修复这棵树?
-
好吧,记住算术中的运算符优先级,并使树符合将要执行的操作。
-
我需要视觉来理解,对不起。
标签: assembly x86 abstract-syntax-tree