文法的构建问题
* 参考已有的模型
最经典的即是算数表达式的模型,其有多个算术运算符号和优先级别。
文法与正则表达式与有穷自动机的转换
显然是3型文法,也就是正则文法才有相应的性质,因为只有3型文法才是右部至多仅有两个符
号,一个是终结符,一个是非终结符;或者仅有一个终结符的情况。
文法与有穷自动机的转换
右线性文法:
文法与正则表达式的转换
正则表达式转正则文法
先明确要转成左线性还是右线性。如果是右线性,则把 S → α op β(α是只有终结符的串,
op是基本正则运算,β不作限制)转成 S → αA,A → β(A可能是S或者ε)的形式。左线性,
则把 S → α op β 转成 S → Aβ,A → α的形式。下面以右线性为例。
计算机学院2022-2023学年考试题,编译原理A卷。
(2)可以画一个DFA图出来
可以发现正则表达式以0开头, 最后一定是0结尾
最后可以知道
0(10)* 0*0
正则文法转正则表达式
就是上述的逆过程,将其再转回正则表达式。
祝学弟学妹考个好成绩!