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

(一)图

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

(二)其他

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

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

2.词法分析器的构造

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

3.文法分类

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

相关文章:

  • 2021-06-23
  • 2021-04-02
  • 2021-12-26
  • 2021-11-02
  • 2021-11-02
  • 2021-11-16
  • 2021-06-15
  • 2022-01-30
猜你喜欢
  • 2021-06-13
  • 2021-08-19
  • 2021-12-27
  • 2021-12-15
  • 2021-11-01
  • 2021-11-16
相关资源
相似解决方案