第1章 编译程序理论概述
1.1 导言
编译程序设计是少数几个由抽象的理论改变人们编写程序方法的计算机���学领域之一。*早的编译程序采用传统的“对号入座”的程序设计技术,直到“语法制导”分析程序的出现才得到改变。一个好的编译程序的任何部分都或多或少地与语法相关,因为语法理论可以驱动编译程序的设计,并使编译程序的设计清晰、易实现。
1.2 语言及其翻译
计算机语言像自然语言一样,为了沟通信息而定义了用单词构造句子的方法。自然语言可以表达、传递人们心灵的感觉、客观的世界真相、人们对这些感觉和真相提出的问题以及要求他人听从的指令等等,但计算机语言则被限制用于描述要求接受该语言的机器听从的指令。自然语言限制了允许说的句子的形式,例如,人们可以说:“约翰吃香蕉”,但不能说:“约翰香蕉吃”。**句语法正确,而第二句则不符合中文的语法。又如,英文句子John eats an apple是正确的句子,而eats Jqbn apple an却不符合英语语法。会英、德两种语言的人马上就知道德语句子John iBt einen Apfel与Johneats an apple说的是一回事,但对只熟悉其中一种语言的人来说,就不知道两句话同义了。因为,单词iBt在英语中无任何意义,同样eats也不是德语中的正确单词。
当一个不懂德语的英国人想与不懂英语的德国人相互交流时,就需要有一个翻译。在自然语言中,翻译是将他所接收的一种语言的信息表述为另一种语言的人。他将所读的英语句子John eats an apple写成德语句子John iBt einen Apfel。对于错误的句子eats John apple an,他将无法翻译。
……