语言及其文法
作者:互联网
基本概念
字母表
字母表是一个有穷符号集合
符号:字母数字、标点符号、…
字母表上的运算
两个字母表的乘积
字母表的n次幂:长度为n的符号串构成的集合
字母表的正闭包
字母表的克林闭包:任意符号串(长度可以为零)构成的集合
串
串是字母表中符号的一个有穷序列
空串是连接运算的单位元(identity)
自然语言的例子——句子的构成规则
<句子>-><名词短语><动词短语>
<名词短语>-><形容词><名词短语>
<名词短语>-><名词>
<动词短语>-><动词><名词短语>
<形容词>->little
<名词>->apple
<动词>->eat
尖括号括起来的部分称为语法成分
未用尖括号括起来的称为语言的基本符号
文法的形式化定义
终结符(terminal symbol)是文法所定义的语言的基本符号,有时也称为token
非终结符(nonterminal)是用来表示语法成分的符号,有时也称为“语法变量”
产生式集合:产生式(production)描述了将终结符和非终结符组合成串的方法
符号约定
下述符号是终结符
- 字母表中排在前面的小写字母,如a、b、c
- 运算符,如+、*等
- 标点符号,如括号、逗号等
- 数字0、1、…、9
- 粗体字符串,如id、if等
下述符号是非终结符
- 字母表中排在前面的大写字母,如A、B、C
- 字母S,通常表示开始符号
- 小写、斜体的名字,如expr、stmt等
- 代表程序构造的大写字母。如E(表达式)、T(项)和F(因子)
下述为文法符号
字母表中排在后面的大写字母(如X、Y、Z)表示文法符号(即终结符或非终结符)
终结符符号串
字母表中排在后面的小写字母(主要是u、v、…、z)
小写希腊字母,表示文法符号串(包括空串)
推到和归约的概念
标签:文法,终结符,语言,符号,及其,字母表,中排,符号串 来源: https://blog.csdn.net/weixin_44350891/article/details/116347291