编译原理笔记

本文由用户“zhangc321”分享发布 更新时间:2021-10-11 07:27:19 举报文档

以下为《编译原理笔记》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

词法分析:从左向右逐行扫描源程序的字符,识别出各个单词,确定单词的类型。将识别出的单词转换成统一的机内表示——词法单元(token)形式。

语法分析:语法分析器(parser)从词法分析器输出的token序列中识别出各类短语,并构造语法分析树(parse tree),语法分析树描述了句子的语法结构。

语义分析:收集标识符的属性信息。语义检查。

字母表∑1和∑2的乘积

?∑1∑2 ={ab|a ∈ ∑1 , b ∈ ∑2}

字母表的n次幂:长度为n的符号串构成的集合

字母表的正闭包:长度正数的符号串构成的集合

字母表的克林闭包:任意符号串(长度可以为零)构成的集合,正闭包+空串

下述符号是终结符

?(a) 字母表中排在前面的小写字母,如 a、b、c

?(b) 运算符,如 +、*等

?( c ) 标点符号,如括号、逗号等

?(d) 数字0、1、. . . 、9

?( e ) 粗体字符串,如id、if等

下述符号是非终结符

?(a) 字母表中排在前面的大写字母,如A、B、C

?(b) 字母S。通常表示开始符号

?( c ) 小写、斜体的名字,如 expr、stmt等

?(d) 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 文法。它比较宽容,没有那么多的限制条件。左边必须要包含这些元素或者元素组合中的至少一个非终结符,右边可以是这些元素的任意组合,这样就构成了0型文法。由于限制最少,所以见到的文法至少是一个0型文法。如:A—> a

1型文法(上下文有关文法)

它在0型文法的基础之上,只添加了一个要求:右边的长度>=左边的长度(终结符或非终结符的个数)。A—> a、B—>dba则是1型文法,而adB—>d不符合1型文法要求

注意这里有一个特殊的形式 S—> ∑(∑表示空),也是一个1型文法。

2型文法(上下文无关文法)

它在1型文法的基础上,有增加了一个要求:左边必须是非终结符(个数不限)。

如:AB—>de 属于2型文法,而 Aa—>DE则不是,因为Aa中含有a。

3型文法(正规文法)

它是在2型的基础上提出了要么一个非终结符推出一个终结符,要么一个非终结符推出一个终结符并且带一个非终结符。

而上图中的左线性、右线性是相互独立的。如:A—>b、A—>bD这是3型文法

但是A—>b、A—>bD、A—>Db则不是3型文法。从这里可以看出,对于3型文法,它不是左右线性的“组合”,要么都是右线性,要么都是左线性。

[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]请点击下方选择您需要的文档下载。

  1. 党课讲稿坚持全心全意为人民服务
  2. 早市奇遇随笔
  3. 人教版小学五年级下册数学期中试卷(1)
  4. 大学生厨房创业计划书
  5. 师德师风学习心得
  6. 电器符号内容
  7. 四年级周某某
  8. 六年级下册数学试题-小升初模拟考试 人教新课标(含答案)
  9. 小学数学练习卷

以上为《编译原理笔记》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览