【软考学习】第三章——程序语言和语言处理程序知识
来源:互联网 发布:javascript join函数 编辑:程序博客网 时间:2024/05/22 02:47
【背景】
软考系列博客第三篇。关于程序语言和语言处理程序的知识
【内容】
程序语言和语言处理程序基础知识
- 汇编、编译、解释系统基础
- 解释与编译
- 编译型
- 接受所输入的用程序语言编写的源程序,然后直接解释执行。(BASIC)
- 解释型
- 将用某种程序语言编写的源程序直接翻译成另一种语言(目标程序语言),而且两者在逻辑上等价(C语言)
- 编译型
- 编译过程
- 词法分析
- 从左到右逐字符读入源程序,识别出一个个单词符号;它是根据语言的词法规则(单词结构规则)进行的。
- 语法分析
- 在词法分析的基础上将单词符号序列分解成各类,诸如“程序”,“语句”,“表达式”等语法单位。
- 语义分析
- 审查源程序有无语义错误,为代码生成阶段收集类型信息
- 中间代码生成
- 逆波兰
- 三元式
- 四元式
- 树形
- 代码优化
- 定义
- 对程序进行等价变换,使其生成更有效的目标代码
- 局部优化
- 循环优化
- 全局优化
- 定义
- 目标代码生成
- 把经过语法分析或优化后的中间代码作为输入,将其转换成特定机器的机器语言或汇编语言作为输出,这样的转换程序称为代码生成器
- 词法分析
- 形式语言基本知识
- 字母表∑
- 非空的有穷集合
- 字符串
- 由∑的符号组成的有穷系列成为子母表∑上的字符串
- 包含的字符数称为长度
- ε(有一个元素)
- 长度为0的为空串
- ∅是没有元素的空串
- 形式语言
- ∑上的字符串的全体记为∑*,∑*上的任何自己都成为字母表∑上的形式语言,简称语言
- 前缀、后缀
- 连接
- 连续重复
- 把n个a的链接记为aⁿ
- 字集运算
- 或操作
- A∪B={α|α∈A或α∈B}
- 积运算
- AB={αβ|α∈A且β∈B}
- 幂运算
- 正则闭包
- 闭包
- 或操作
- 形式文法
- 文法分类
- 0型文法
- 1型文法
- 2型文法
- 3型文法
- 右线性文法
- 左线性文法
- 字母表∑
- 词性分析
- 有限自动机
- 确定的
- 不确定的
- 正规式
- 有限自动机
- 语法分析
- 自底向上
- 自顶向下
- 解释与编译
- 程序设计语言基础
- 表达式
- 前缀表达式
- 后缀表达式
- 中缀表达式
- 程序语句基本控制结构
- 程序调用的实现机制
- 表达式
- 各种程序语言的特点
- FORTRAN语言
- PASCAL语言
- C语言
- Lisp语言
- C++语言
- Java语言
- C#语言
- Prolog语言
0 0
- 【软考学习】第三章——程序语言和语言处理程序知识
- 软考之程序语言与语言处理程序总结
- 【软考学习】——计算机系统知识
- 【软考学习】第五章——数据库系统知识
- 【软考总结】程序语言
- 【Dongle】【软考】程序语言之语言(一)
- 【软考学习】第一章总结——计算机系统知识
- 软考备战(2)语言处理程序基础
- 软考——计算机系统知识
- 软考——计算机系统知识
- 软考—计算机系统知识笔记(1)
- 软考(五)——系统开发和运行知识
- 【软考学习】——软考总结
- 《软考之路》——计算机系统知识
- 软考之路(一)——网络知识
- 软考学习——“码制”学习
- JavaScript Event学习第三章:早期的事件处理程序
- R语言学习笔记之程序语言篇
- Linux安装Sqoop(CentOS7+Sqoop1.4.6+Hadoop2.8.0+Hive2.1.1)
- 《站在巨人的肩膀上-英语交流会有感》
- ReadMe.md
- 根文件系统中mdev/udev/devfs的区别
- awk命令
- 【软考学习】第三章——程序语言和语言处理程序知识
- uedp
- python之numpy学习02
- web前端模块化开发
- C# 关于跨线程访问控件问题
- 版本控制---Git系列(一)
- JSON格式数据解析及GSON框架的使用详解
- 如何配置MySQL远程连接(非root用户访问)
- Linux_C编程一站式学习(Chapter6的ex2)