【软考】-词法分析、语法分析、语义分析、

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qiqibei666/article/details/82911634

前言:

  前两天串这一部分内容的时候,对于词法分析,语法分析,语义分析这三项不是很熟悉,所以就简单总结下,希望能够帮助理解;

内容:

1、词法分析:

  词法分析是编译过程的第一个阶段,这个阶段的任务可以看成是-从左到右一个字符一个字符地读入源程序,从中识别出一个个“单词”符号,即对构成源程序的字符流进行扫描然后根据构词规则识别单词(也称单词符号或符号);

  通过词法分析程序实现上述读入源程序,识别符号的任务,词法分析过程依据的是语言的词法规则;

  输出:词法分析程序输出的“单词”常以二元组的方式输出,即单词种别和单词自身的值;

  认识:词法, 定义组成语言的单词, 是语言中最小单元;

2、语法分析:

  语法分析是编译过程的一个逻辑阶段,此阶段的任务是在词法分析的基础上将单词序列组合成各类语法短语,如“程序”,“语句”,“表达式”等等;

  语法是用户数据与控制信息的结构与格式

  认识:语法-- 将单子组织成有含义的短语和句子的规则,正如英语翻译中的语法;

3、语义分析(Syntax analysis)

  语义分析是编译过程的一个逻辑阶段,语义是解释控制信息每个部分的意义,它规定了需要发出何种控制信息,以及完成的动作与做出什么样的响应,此阶段的任务是对结构上正确的源程序进行上下文有关性质的审查, 进行类型审查;

  收集类型信息供后面的代码生成阶段使用;

  语义分析将审查类型并报告错误:不能在表达式中使用一个数组变量,赋值语句的右端和左端的类型不匹配;

  认识:语义-- 结合上下文,可以推导出语句的真实含义,也就是我们输入中文之后翻译出来的英文含义,或输入英文,翻译出来的中文;

4、举例认识:

  我现在要翻译一句话,如下图所示:
在这里插入图片描述
  词法分析:想要获取这句话的意思,那么首先我需要输入信息,系统进行一个个单词识别,也就是录入源程序,这属于词法分析;

  语法分析:这句话录入程序,接下来系统就要进行识别每一个单词分别都是什么格式,英语语法的主谓宾、定状补,进而确定要翻译的语句的结构;

  语义分析:获取了句子的单词,词性,接下来就是最后的输出阶段啦,语义分析,通过语义分析输出该翻译字句的中文含义:“她很漂亮宛如一个小仙女”;

小结:

  到这里整个语句的翻译完成了,词法分析,语法分析,语义分析的小总结也要告一段落啦;

  认识不到位或偏颇之处,还望大家不吝赐教,一起学习;

猜你喜欢

转载自blog.csdn.net/qiqibei666/article/details/82911634