词法分析器的设计
词法分析器的功能:输入源程序、输出单词符号
词法分析器的设计:给出程序设计语言的单词规范——单词表, 对照单词表设计识别该语言所有单词的状态转换图, 根据状态转换图编写词法分析程序
字母表:一个有穷字符集,记为∑
字母表中每个元素称为字符
∑上的字(也叫字符串) 是指由∑中的字符所构成的一个有穷序列
不包含任何字符的序列称为空字,记为ε
用∑*表示∑上的所有字的全体,包含空字ε
例如: 设 ∑={a, b},则,∑*={ε,a,b,aa,ab,ba,bb,aaa,...}
∑ * 的子集U和V的连接(积)定义为UV={ αβ | α∈U & β∈V }
V自身的 n次积记为V n =V V…V
正规式和正规集
程序设计语言的单词符号都是一些特殊的字符串,用正规集和正规表达式(简称正规式)来描述
正规集可以用正规式表示,正规式是表示正规集一种方法, 一个字集合是正规集当且仅当它能用正规式表示
正规式和正规集的递归定义
对给定的字母表Σ,ε 和∅都是Σ上的正规式,它们所表示的正规集为{ε}和∅;
任何a∈Σ ,a是Σ上的正规式,它所表示的正规集为{a} ;
ε是什么?字