比较两个表达式树的语义等价性

时间:2018-04-09 15:58:30

标签: compiler-construction abstract-syntax-tree

我有问题比较两个表达式树并确定它们是否在语义上等效。

背景:

在我的OpenPEARL编程语言的开源编译器中有 位串和字符串的切片,可以采用以下形式:

variable.BIT(expr:expr+42)

在这种情况下" expr"必须评估相同的值。

示例:

设a和b一些数值变量,其值在运行时已知:

Expression1: (a+2)*(b/8)
Expression2: (1+a+1)*(b/(4*2))

为了解决这个问题,我需要评估常量表达式部分(已经完成并正在工作),对两个树进行规范化,然后执行递归树比较。通过规范化我的意思是根据它们的代数属性重新排序节点。

欢迎任何想法,暗示或讨论!

0 个答案:

没有答案