编译语言原理--文法

版权声明:本文为博主原创文章,未经博主允许不得转载。 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…}
正则闭包+ 指除去空集的所有可能情况
闭包* 和∑* 同理,有空集

猜你喜欢

转载自blog.csdn.net/aimin_com/article/details/83016249