例如,我有这一职能:
def max(a,b) {
if(a < b) return b;
if(a > b) return a;
}
I am curious how to parse this into an AST. If I understand this well then the node of it s body should return a ReturnInst*.
但是,在我的助产士中,本机构由两个节点组成(作为表达方式),第一个或另一个节点。
是否有点trick或设计是错误的?
Edit:我刚刚摆脱了一种可能的解决办法:
- CreateAlloca at the begin of the body.
- CreateStore and jump to the end label at every return.
- At the end label return the var.
这是一种好的想法吗? 如何跳跃/跑到一半?