【软件设计师教程】程序设计语言基础知识

来源:互联网 发布:linux snmp起不来 编辑:程序博客网 时间:2024/05/22 02:00

   本篇博文主要对《软件设计师教程》第二章进行粗略的总结(没有在画严格意义上的思维导图),希望能让读者对第二章有个概要认识。

(一)图

这里写图片描述
这里写图片描述

(二)其他

1.解释程序和编译程序的区别?

(1)解释程序:直接解释执行源程序;或将源程序翻译成某种中间代码后再加以执行。解释程序和源程序参与到程序的运行过程中。
(2)编译程序:将源程序翻译成目标语言程序,然后在计算机上运行目标程序。机器上运行与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程。

2.词法分析器的构造

(1)用正规式描述语言中的单词构成规则
(2)为每个正规式构造一个NFA (不确定的有限自动机),它识别正规式所表示的正规集
(3)将构造出的NFA转换成等价的DFA(确定的有限自动机)
(4)对DFA进行最小化处理,使其最简
(5)从DFA构造词法生成器

3.文法分类

(1)0型文法:短语文法,相当于图灵机,0型语言递归可枚举
(2)1型文法:上下文有关文法,对非终结符的替换必须考虑上下文
(3)2型文法:上下文无关文法,对非终结符的替换无需考虑上下文
(4)3型文法:正规文法

原创粉丝点击