写在开始:
看自然语言处理相关内容时看到了编译原理中文法相关的内容,特意记录一下。
字符串概念:
假定Σ是字符的有限集合,由Σ中字符相连而成的有限序列称为Σ上的字符串
不包含任何字符的字符串称为空串,记作ε
包括空串在内的Σ上字符串的全体记为Σ*
字符串运算:
1、连接运算
例:Σ={a,b,c}, x=ab, y=ac, 那么xy=abac
2、方幂
x的n次方幂即n个x相连接。当n为0时,x^0=ε
3、闭包
例:V={a,b}
那么:V*={ε,a,b,aa,ab,bb,ba,aaa,…}
V+={a,b,aa,ab,bb,ba,…}
描述一种语言的途径:
1、穷举法:把语言中所有句子都枚举出来,显然只适合句子数目有限的语言
2、文法:语言中的每个句子用严格定义的规则来构造,利用规则生成语言中合法的句子
3、自动机法:通过对输入的句子进行合法性检验,区别哪些是语言中的句子,哪些不是
故文法用来精确地描述语言和其结构,自动机则是用来机械地刻画对输入字符串的识别过程。
形式语法:
形式语法是一个四元组G={N,Σ,P,S}
N:非终结符集,一般由大写字母表示
Σ:终结符集,一般由小写字母表示
P:一组重写规则的有限集合,P={a->b},其中a,b是N∪Σ中元素构成的串,
但是a中至少含有一个非终结符,表示a可以被改写成b
S:句子符或开始符,为非终结符
举个栗子:
我钓鱼。(由主语、谓语、宾语构成)
终结符集Σ={我,钓,鱼}
非终结符集N={<主语>,<谓语>,<宾语>}
语法规则集P={<句子> -> <主语> <谓语>…}
开始符号S=<句子>
下一篇讲一讲形式文法的推导吧,希望能和大家一起进步!