查找以下语言的语法:
a * b |一个
(a * b | b * a)*
我想我有1的答案(S - > aS | b),但我对第二个问题感到困惑。任何帮助将不胜感激。
答案 0 :(得分:2)
将整个表达式(a*b | b*a)*
视为非终结符,然后将每个元素(即a*b
为1,b*a
为另一个)视为单独的非终结符。
提示:
S -> ε | ST
T -> [rule for a*b] | [rule for b*a]
T
是括号内的内容。
答案 1 :(得分:1)
语言; (a * b | b * a)*
S -> SA | episilon
这里代表(a * b | b * a)
A -> B
A -> C
B代表(a * b)
B -> [Insert rule here]
C代表(b * a)
C -> [Insert rule here]