分享

计算机的语言处理系统是怎样的(最早编写的语言就是在纸带上打孔的编译器实现原理是语法树和自动机)

 山峰云绕 2019-01-27

             (最早编写的语言就是在纸带上打孔的编译器实现原理是语法树和自动机)


计算机语言有一个分支学科叫《编译原理》,作为一名很老的程序员,尝试帮大家梳理一下。第一次学习编译原理已经是14年前的事了。如果大家想真正学好编程,《编译原理》是最重要的基础学科。

说到计算机的语言体系就不得不从计算机的硬件底层说起,所有编程语言的本质其实都在是操作硬件。以下这些的层次关系。

计算语言的本质就是在操作计算机硬件,重要的事情说三遍哦😄。

一、计算机有两个很重要的概念,运算器和存储器。没错,运算器就是中央处理器(CPU),存储器就包括内存和硬盘,但内存只不过是缓存,预先读取和预先写入的操作,缓解硬盘的压力。至于其他计算机硬件,如主板、包括主板上的南桥北桥芯片,显示卡,音频卡,USB处理器等等可以全部忽略。

二、硬盘的存储结构属于物理存储,也就是只能存储正负点电两种状态。这就决定了计算机的原始编程语言就是0和1。最早的编程员叫Ada,是位女性,她最早编写的语言就是在纸带上打孔,101010001101011,差不多这个意思,

三、这种0和1组成的程序我们叫机器代码,为了愉快编程,很快又有大神发明了汇编语言。其实就是发明了汇编语言的编译器(翻译器)把汇编语言转换成了机器代码。

四、最重要的语言出场了,C语言,目前C语言是最重要的语言,大家看出来了,它处在计算语言的中间、承上启下。浏览器是C语言编写的,浏览器中的javascript html css就是运行在浏览器的内核引擎中的,它被动态解释并执行;操作系统windows和mac也是C语言编写的,安卓基于java,java运行在虚拟机上,java虚拟机就是C语言编写的。苹果ios直接就是object-c(C语言的一个变种)编写的;就连PHP语言的编译器也是C语言编写的,PHP语言被编译成C语言,再被编译成汇编代码,再被编译成机器代码。

以上就是计算机语言的生态关系,但计算机语言自身的编译器实现原理是什么呢?就两个概念,语法树和自动机,是的,《编译原理》就是由语法树和它的自动机算法构成的,一个是它的数据结构,一个是它的运算过程(算法)。祝大家编程愉快。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多