采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
请问程序翻译中使用的“编译器”与程序解析中的“解释器”的区别是?在ppt看起来都是为了完成L1语言到L0语言的转换,用途上似乎没有区别
先贴两张PPT的图。
先说编译:编译器完成了什么功能?编译器能够根据L1的逻辑生成L0,这里面的生成有很多额外的优化可以做,比如逻辑优化、指令优化等等,因此生成的L0从一定程度上来讲,他的执行效率是要比L1高的,在计算机上实际执行的是L0语言组成的程序。
再说解释:对于解释,解释并没有生成新的程序,而是有一个别的和用户逻辑不相关的程序,这个程序把L1的代码当做是一种输入,然后从输入里面逐行去把它解释成计算机能够理解的语言,然后让计算机去执行,就比如js,我在console写一行,计算机就执行一行,又或者是Python,也是我在终端写一行,计算机就执行一行,在这些语言的后面,都有一个解释器,去把语句解释成实际计算机能够理解的语言去执行。
最后举个例子,假设有只懂中文和只懂英文的两个人交流,中文为高级语言,英文为低级语言,那么对于翻译,则是先有一篇中文的文章,然后通篇翻译成一篇英文文章,然后再呈现给那个只懂英文的人交流,这里面要求中文的文章必须完整,这样才可以整篇进行翻译,而在翻译的过程中,可以对一些语法上的不同进行文章的优化,使得翻译出来的英文文章更加合理,这个就是编译。
而对于解释,解释就不要求中文的文章必须完整了,甚至不需要中文文章,可以是懂中文的人说一句,然后立即就给懂英文的人翻译一句,可以理解为实时翻译,这个就是解释。
这就是解释和编译的区别。希望对你有所帮助。
这个关于解释器和编译器的解释有点精辟
这个解释十分精辟!终于理解了!
也就是说 编译器是整篇翻译 解释器是实时翻译
登录后可查看更多问答,登录/注册
编程之前先学这门课,系统补足计算机基础知识,夯实编程地基
3.4k 17
1.8k 14
1.3k 13
1.4k 11