使用道具 举报
Post by youxiazhu 真把我当成傻子了,哈哈。不管怎么说,您还没有正面回答我的问题呀?
Post by pupilzeng 其实是没把你傻子才只是提醒一下,以为剩下的你都能明白。因为简单地讲,就是“编译”可以使用其它的系统、工具,“运行”时不可以。 其实这个问题,跟编译器相似,有个自举的问题。 你想想,C编译器是怎么写的?还不是C,那么第一个C编译器呢,当然是其它的语言了。 所以,现在的操作系统编写,都是在已有的系统上编写,至于最初的系统是怎么来的,翻翻操作系统发展历史的书籍吧。
Post by Changyp 这位兄台关于语言的发明和编译器是如何写出来的观点有一点点问题。 计算机语言的编译器分为自编译型和非自编译型。 自编译型就是你自己定义了一个语法,然后根据这个语言的产生式产生出来一个有效的句子,这个句子当然是能有一定功能的。然后自己把这个句子翻译成一段汇编程序,那么你的这个句子就有了能力去完成它的功能。 然后你后面的句子,可以用到前面生面的句子的功能,来进一步解释新生成的句子的语义。那么这样就慢慢地把编译器完成了,就象修楼房一样,是一点一点垒起来的。。 非自编译型就是编译器的内核部分的词法分析器,语法分析器,语义分析器都是别的语言完成的,这个编译器然后再来编译自己的语言。
本版积分规则 发表回复 回帖后跳转到最后一页