syntax(1).ppt - 1 LL LR Yacc 2 4.1 3 4.2 a5b5,a(ba)5 a(ba a...

Info icon This preview shows pages 1–13. Sign up to view the full content.

View Full Document Right Arrow Icon
1 第四章 语法分析
Image of page 1

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
2 本章内容 上下文无关文法 自顶向下分析和自底向上分析 LL 文法和 LR 文法 Yacc
Image of page 2
3 分析器 取下一个 记号 源程序 语法 分析 前端的 其余部分 语法分 析器 中间 表示 符号表 4.1 语法分析器的作用
Image of page 3

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
4 4.2 上下文无关文法 正则表达式的局限性 正规式用于定义一些简单的语言,能表示给定结 构的固定次数的重复或者没有指定次数的重复。 例: a 5 b 5 ,a(ba) 5 , a(ba) * , a * b * 当自动机构造好后, a n b n n 是确定的。 正规式不能用于描述配对或嵌套的结构,例: 配对括号串的集合,例如: (())() {a n b n }
Image of page 4
5 例如,包含递归结构的条件语句不能用正规表达式 说明,可以用产生式表示: stmt if expr then stmt else stmt| stmt if then else stmt| 正规表达式: (if then else)*
Image of page 5

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
6 4.2.1 上下文无关文法的定义 上下文无关文法是四元组( V T , V N , S , P V T : 终结符集合 V N : 非终结符集合 S : 开始符号, S V N 唯一一个开始符号 P : 产生式集合,产生式形式为: A A V N , ( V N V T ) * stmt if expr then stmt else stmt statement 语句
Image of page 6
7 4.2 定义算术表达式的文法 expr expr op expr expr ( expr ) expr expr expr id op + | - | * | / operator 运算符 operand 操作数 非终结符集合 V N ={expr,op} 终结符集合 V T ={+,-,*,/, (, ),id} expr 是开始符号
Image of page 7

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
8 4.2.2 符号的使用约定 我们一般用大写字母表示非终结符,小写字母表示 终结符, 终结符 Terminals: a , b , c , +, -, punc, 0, 1,…, 9, Black strings: id , if 非终结符 Non-Terminals: A , B , C , S , 斜体串 italic strings 文法符号: X , Y , Z 表示 非终结符 终结符号 终结符号串: u , v ,…, z in V T * 字母表中排在后面的小写字母 文法符号串: , in ( V T V N ) * 省得对每个文法要说明哪些是终结符,哪些是非终结符。 u=aabbcc =abAcBd
Image of page 8
9 符号的使用约定 产生式 : A 1 ; A 2 ; …; A k ; A 1 | 2 | … | k
Image of page 9

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon