编译原理中的抽象语法树(AST)为什么而存在
编译原理中的抽象语法树(AST)为什么而存在
逆波兰式又称为后缀表达式。a*(b*c+d*e)+a->(a*(b*c+d*e))a+->(a(b*c+d*e)*)a+->(a((b*c)(d*e)+)*)a+->(a(bc*de*+)*)a+->abc*de*+*a+三元式:
- (*,b,c)
- (*,d,e)
- (+,1,2)
- (*,a,3)
- (+,4,a)
- (*,b,c,T1)
- (*,d,e,T2)
- (+,T1,T2,T3)
- (*,a,T3,T4)
- (+,T4,a,T5)
抽象语法树: ------------- 如果我回答对你有帮助,请关注我一下。或有其他问题也可以关注我,给我发私信
程序就是把人类生活中的逻辑,流程编程机器可执行的指令列表。为了保证指令能够一条条正确的运行就需要规约。因此,慢慢衍生出了编译,编译的过程就是将程序员编写的代码转换成机器能够识别的语言。
为了保证编译的准确就必须保证代码没有问题,那么如何保证呢?抽象语法树在其中起到了重要的作用,它能够检测出一段代码是否符合规范,凡是符合的代码就能够编译通过并交由机器执行了。