编译器为什么能编译高级语言

如题所述

语言是人定义的,举个简单的例子 你创造个编译器定义语句 “我实现A+B”,在编译器里面你事先定义了这个句子等价于C语言的 int C=A + B;再由C语言通过类似的方法转换成汇编语言,这样就把高级语言一步步处理成计算机能执行的每步。打个比方。一栋房子很高,顶楼就是高级语言,楼梯就是编译器,底层就是计算机能识别的操作。比如JAVA就是用C写的,其楼层比C高。一般来说,同等算法条件下C语言执行更快。关于楼梯的原理(编译器),你想了解的话你的看编译原理相关书籍,上面涉及很多数学知识,包括很多状态转化,词法分析,语义分析。比如int C=A+B中如何识别INT是什么东西。“=”的意义等问题。说实话,如果你不是计算机专业,理解这个有困难的。对于一般人来说,不用从事相关工作的话,知道大概这个是干嘛的就行了。比如你盖个房子,你需要扳手,难道你要先学采铁矿学冶炼学制作扳手的方法?。。追问

我问的是能力因,编译器为什么能编译高级语言成为机器语言,请说明白点

温馨提示:答案为网友推荐,仅供参考
相似回答