【发布时间】:2011-05-24 02:00:09
【问题描述】:
我正在为我的期末考试而学习,我正在阅读来自维基百科的上下文无关语法文章,并遇到了以下示例。
S → SS- (1st production rule)
S → (S) - (2nd production rule)
S → () - (3rd production rule)
我很清楚左右推导。当我试图解决这个问题时,我从开始符号开始
S-> SS -> (S)S-> ()S-> ()(S) -> ()()
但是当我看答案时,它是这样的
S → SS → SSS → (S)SS → ((S))SS → ((SS))S(S)
→ ((()S))S(S) → ((()()))S(S) → ((()()))()(S)
→ ((()()))()(())
我不确定我的回答出了什么问题?是否需要两次使用第一个生产规则?谁能帮我解决这个问题。
【问题讨论】:
-
在上述问题中,S 是非终结符,(, ) 是终结符。我知道我们正在使用递归,但它是如何工作的?
标签: computer-science context-free-grammar