1.用于我们常常要编写 命令行解释程序,编译器的工作原理有点类似于此,因此掌握编译原理很有意义
2.基础:自动机原理
3.汇编语言的编写依赖于特定的机器。所以需要编译程序,来分离物理设备,和编程语言。
4.硬件-fortran编译器-fortran语言
5.上下文无关文法
【在机器翻译系统中
P=“capital of China” 如何翻译?
中国的首都(北京) 或 瓷都(景德镇)
有歧义
用前后文信息 排歧
X China y x 中国 y
U China v u 瓷器 v
下雨天留客天留我不留
白天鹅再飞
诡辩术 “断章取义” 的 语言学本质:前后相关语言中,去掉W 的前后文,在 W 的释义集合中,选择有利于自己的意义。
正则表达式的规则很容易理解,但是正则表达式并不能直接用来解析字符串,我们还要引入一种适合转化为计算机程序的模型。今天我们引入的这种模型就叫做有穷自动机(finite automation,FA),有时也叫有穷状态机(finite state machine)。有穷自动机首先包含一个有限状态的集合,还包含了从一个状态到另外一个状态的转换。有穷自动机看上去就像是一个有向图,其中状态是图的节点,而状态转换则是图的边。此外这些状态中还必须有一个初始状态和至少一个接受状态。下面的图展示了一个有穷自动机,有根从外边来的箭头指向的状态表示初始状态,有个黑圈的状态是接受状态: