查找以下语言的语法

时间:2011-09-12 21:43:51

标签: grammar context-free-grammar

查找以下语言的语法:

  1. a * b |一个

  2. (a * b | b * a)*

  3. 我想我有1的答案(S - > aS | b),但我对第二个问题感到困惑。任何帮助将不胜感激。

2 个答案:

答案 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]