编译原理 陈火旺.ppt

编译原理 陈火旺

复习:程序语言的语法描述 几个概念: 考虑一个有穷 字母表∑ 字符集 其中每一个元素称为一个字符 ∑上的字(也叫字符串) 是指由∑中的字符所构成的一个有穷序列 不包含任何字符的序列称为空字,记为ε 用∑*表示∑上的所有字的全体,包含空字ε 复习:程序语言的语法描述 ∑*的子集U和V的连接(积)定义为 UV={ ?? | ??U ??V } V自身的 n次积记为 Vn=VV…V 规定V0={?},令 V*=V0∪V1∪V2∪V3∪… 称V*是V的闭包; 记 V+=VV* ,称V+是V的正规闭包。 复习:程序语言的语法描述 上下文无关文法的定义: 一个上下文无关文法G是一个四元式 G=(VT,VN,S,P),其中 VT:终结符集合(非空) VN:非终结符集合(非空),且VT ? VN=? S:文法的开始符号,S?VN P:产生式集合(有限),每个产生式形式为 P??, P?VN, ? ? (VT ? VN)* 开始符S至少必须在某个产生式的左部出现一次。 复习:程序语言的语法描述 定义:称?A?直接推出???,即 ?A????? 仅当A ? ?是一个产生式, 且?, ?? (VT ? VN)* 。 如果?1 ? ?2 ? ? ??n,则我们称这个序列是从?1到?n的一个推导。若存在一个从?1到?n的推导,则称?1可以推导出?n 。 通常,用

文档评论(0)

1亿VIP精品文档

相关文档