版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/aimin_com/article/details/83016249
文法四元组格式定义:G=(Vn,Vt,P,S),如下解释
Vn | Vt | P | S |
---|---|---|---|
非终结符(例如:A) | 终结符(例如:a) | 有限集合 | 开始符号 |
文法运算规则:
文法 | 名称 | 适用于 | 限制条件 :α→β |
---|---|---|---|
0型文法 | 短语文法 | 图灵机 | α∈(Vn∪Vt)﹢,α至少有一个Vn;β∈(Vn∪Vt)* |
1型文法 | 上下文有关文法 | 线性有界自动机 | α<=β个数(Aa→abC) |
2型文法 | 上下文无关文法 | 下推自动机 | α∈Vn ;β∈(Vn∪Vt)* |
3型文法 | 正规文法(线性文法) | 有限状态自动机 | α∈Vn且只有一个;β∈Vt一个或者两个的时候只能是一个Vt和Vn组合;(比如A→a或A→aB (或者A→Ba) 如果β给出固定格式接下来的操作必须跟着格式走(比如是A→aB,格式就只能这样不能变成:A→Ba) |
备注:其中Vn只是助记符而已,最终状态都需要推倒成为Vt。
字符串集合的特殊运算:
字符 | 运算规则 | 例如 |
---|---|---|
∑* | 指包括空串∑在内的所有可能的字符串集合 | ∑={a,b},∑*={∑(表示空),a,b,aa,bb,ab,ba,aaa…} |
正则闭包+ | 指除去空集的所有可能情况 | |
闭包* | 和∑* 同理,有空集 |