【软件设计师教程】程序设计语言基础知识
来源:互联网 发布: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型文法:正规文法
阅读全文
0 0
- 【软件设计师教程】程序设计语言基础知识
- 【软件设计师教程】程序设计语言
- 软件设计师学习2——程序设计语言基础知识
- 软件设计师教程目录
- 《软件设计师教程》阅读小结
- 【软件设计师教程】计算机系统知识
- 读书笔记:软件设计师教程:操作系统
- 读书笔记:软件设计师教程:软件工程
- 【软件设计师考试】《软件设计师教程》(一)
- 软件设计师教程第四章 笔记
- 《软件设计师教程最新版(第三版》
- 软件设计师考试复习笔记一:计算机系统基础知识
- 软件设计师考试(计算机硬件基础知识)易错点易考点
- Java教程:软件开发基础知识
- 软件设计师
- 软件设计师
- 软件设计师
- 软件设计师
- 排序算法总结
- python除法:传统除法,真除法,floor除法
- Flip game
- Java中静态变量和实例变量的区别?&和&&
- 开源系统ThinkSNS V4移动APP端 10月--11月更新播报
- 【软件设计师教程】程序设计语言基础知识
- java并发-java同步块(8)
- RabbitMQ研究与应用
- 仿人机器人的跑步研究学习笔记2之什么是正逆运动学
- 一些很不错的Android开发技巧
- ros中rosbag的记录与重放
- 欢迎使用CSDN-markdown编辑器
- Idea 2017
- 【基础】Unity3D研究院之游戏对象的访问绘制线与绘制面详解(十七)