标签:问题 sp on c ef r bs 递归 正则表达式
一个上下文无关文法有四个元素组成:
文法G可以抽象成四元组的形式:G=(VN,VT,P,S)
其中VN表示非终结符集,VT表示终结符集,P表示产生式集,S表示开始符号。
文法G描述的语言用L(G)表示L(G)={w|w∈VT*且S=+>w}
约定:
文法的分类:
分别被四种自动机识别:
字母表是一个有限的符号集合。
某个字母表上的串是该字母表中符号的一个有穷序列。
语言是某个给定字母表上任意的可数的串集合。
串的基本术语有:前缀prefix、后缀suffix、子串substring、真前缀真后缀真子串、子序列subsequence。
定义两个串的乘积为两个串的连接。
定义指数运算:s0=ε,并且对于i>0,si为si-1s。因为εs=s,由此可知s1=s,s2=ss,以此类推。
语言上最重要的运算有:并、连接和闭包、正闭包。
例:令L表示字母的集合{A,B,...,Z,a,b,...,z},令D表示数位的集合{0,1,...,9}。将L和D看做语言,它们所有串的长度都为1。
根据运算符从L和D中构造新语言:L∪D、LD、L4、L*、L(L∪D)*、D+。
正则表达式可以由较小的正则表达式按照如下规则递归的构建。每个正则表达式r表示一个语言L(r),这个语言也是根据r的字表达式所表示的语言递归的定义的。
归纳基础
归纳步骤
假定r和s都是正则表达式,分别表示语言L(r)和L(s),那么:
进行如下约定丢掉括号:
可以用一个正则表达式定义的语言叫做正则集合。如果两个正则表达式r和s表示同样的语言,则称r和s等价,记做r=s。
一些对任意正则表达式r、s、t都成立的代数定律:
如果∑是基本符号的集合,那么一个正则定义是具有如下形式的定义序列:di=ri(1<=i<=n)
标签:问题 sp on c ef r bs 递归 正则表达式
原文地址:http://www.cnblogs.com/zinthos/p/3962934.html