编译原理之一:什么是编译程序?

永远的晴天

发表于2013-06-05 23:37:56

        编译原理:初次听到这个词汇,如同见到陌生人这般,一丝畏惧,一丝好奇。
 
        他对程序员来讲:第一、学习编译原理可以帮助自己更加深层次的理解程序语言和内部机制。第二、我们学到了一种新的解决问题的方法,从他的各种算法中可以得到启发。(语法分析、语义分析等)一些不同的思想会让你受益终身。第三、让我们更加深入的了解计算机思想,进一步培养计算机思维。第四、表面上的啦,对学习正则表达式有帮助。总之,百利而无一害,大概的懂得一些还是有必要的。 
 
       计算机语言的发展史:
 
                  机器语言--汇编语言--早期高级语言--结构化高级语言--面向对象语言,如同我们的汉语,图画形式--表意符号--甲骨文--象形文字--古代各代的文字--...--现在的文字。语言的发展是越来越高级了,社会也变的越来越文明了。
 
        编译程序和编译原理:
 
                就是把高级程序设计语言翻译成计算机汇编语言或机器语言的翻译程序。我们学习的编译原理就是学习如何构造翻译程序,构造翻译程序中的一些思想和原理。就相当于我们现代人穿越到了原始社会,但是原始社会的人不懂得我们的文字啊,我们需要把我们的文字翻译成原始社会人能看懂的文字,但是如何进行翻译呢?我们把翻译的这件事情,单独的交给翻译官(编译程序)来做,而不是每个人都去学如何翻译,这样一个翻译官就解决问题了!OK了!    
 

 
              作为翻译官是既要懂现代语言,也需要懂得原始人语言,但是我们的编译程序就没有翻译官那样简单了。是一个复杂的整体过程,而且这个工作时按照阶段来进行的,就像加工一个产品一样,是按照流水线来工作的,而我们的这个工作分成了六个阶段:词法分析、语法分析、语义分析、中间代码生成、代码优化、和目标代码生成六个阶段。
 
作者:永远的晴天
 
出处:http://blog.csdn.net/lovesummerforever