2011-09-12 100 views
4

语法找到了一个语法用于下列语言:查找以下语言

  1. A * B |一个

  2. (A * B | B * A)*

我想我有1答案(S - > AS | B),但我在第二个很困惑。任何帮助将不胜感激。

+3

你对#1的'答案'没有办法用a来终止,所以我想你可能想重做那个。 – jbranchaud

回答

1

语言; (A * B | B *α)*

S -> SA | episilon 

甲这里表示(A * B | b *的一个)

A -> B 
A -> C 

B表示(A * B)

B -> [Insert rule here] 

C表示(b * A)

C -> [Insert rule here] 
2

整个表达式(a*b | b*a)*作为非终结的思考,然后考虑每个元素(即,a*b是一个,并且b*a是另一种)内为单独的非终结点。

提示:

S -> ε | ST 
T -> [rule for a*b] | [rule for b*a] 

T是何等的括号内。

+1

+1给某人一个过程。 –