找到接受给定语法的相同语言的正则表达式的步骤是什么?
- S - > b | AA
- A - > aA | Abb | ε
答案 0 :(得分:2)
我正在写一些试图理解的东西(希望它会有所帮助):
根据S --> b
,字符串'b'
是语法语言中的字符串。
使用A
的作品A --> aA | &
,我们可以生成:“A
后跟任意数量的a
s”或RE:{{1 (*因为epsilon)
同样,使用a*A
我们可以生成“任意数量的A ---> Abb | &
s后跟bb
”,或者生成RE:A
(*因为epsilon )
使用A(bb)*
使用2和3可以生成:A
注意最终变量必须转换为终端,因此A可以转换为a*(bb)*
,a
或bb
。
从4开始,使用&
我们可以生成:AA
。
所以语法生成的语言是a*(bb)*a(bb)*
程序阅读这个答案:Constructing an equivalent Regular Grammar from a Regular Expression我从RE解释为语法,我觉得答案会帮助你更好地理解。
答案 1 :(得分:0)
语法:
A - > SA | b
我怎样才能达到正则表达式,这个语法的解决方案?
这些规则有用吗?
S = AS +一个; A = SA + B
S = A * a; A = S * B
从A = SA + b和S = AS + a
纠正@GrijeshChauhan ??