Re: [問題] compiler

看板Programming作者 ((short)(-15074))時間16年前 (2008/06/19 14:46), 編輯推噓2(200)
留言2則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《ntouckcm (知足常樂)》之銘言: : 請問一下 : 找不到問compiler的專版,但是又有問題,所以只好po在這,請大大解惑 : 一個文法: : exp->atom|list : atom->num|id : list->(exp-list) : exp-list->exp-list exp|exp : num和id 是terminal,其他是nonterminal : 要消去上面的left recursion : 公式:A->Aa|b : 變成:A->bA' : A'->aA'|ε : 但是我不知道要不要取代exp : (1)exp-list->exp-list exp|exp : 變成: : exp-list->exp exp-list' : exp-list'->exp exp-list'|ε : (2)exp-list->exp-list exp|exp : 先取代:exp-list->exp-list exp|atom|list : 變成: : exp-list->atom exp-list'|list exp-list' : exp-list->exp exp-list'|ε : 請問一下哪個才對? 都只做一半 記得沒有左遞迴等同於每條rule的第一個要嘛是下面的non-terminal要嘛是terminal 簡化一下代號 E,A,L,X是non-terminal n,i是terminal E->A|L A->n|i L->X X->XE|E 首先E,A,L三行都沒事 到X E是上面的nonterminal X->XE|A|L A也是 X->XE|n|i|L L也是 X->XE|n|i|X X->X就拿掉了 解決自己 X->nX'|iX' X'->EX'|ε X搞定 換X' E是上面的nonterminal X'->AX'|LX'|ε A也是 X'->nX'|iX'|LX'|ε L也是 X'->nX'|iX'|XX'|ε X也是 X'->nX'|iX'|nX'X'|iX'X'|ε 所以最後變成 E->A|L A->n|i L->X X->nX'|iX' X'->nX'|iX'|nX'X'|iX'X'|ε -- 実琴:「河野!你真的就這樣被物質慾望給吸引過去了嗎?!」 亨:「只要穿著女裝擺出親切的樣子,所有必要花費就能全免,似乎一點都不壞啊。」 実琴:「難道你沒有男人的尊嚴了嗎?!」 亨:(斷然道)「沒有。在節衣縮食生活吃緊學生面前,沒有那種東西。」 --プリンセス・プリンセス 第二話 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.84

06/19 16:57, , 1F
謝謝
06/19 16:57, 1F

06/19 17:04, , 2F
但是不好意思忘了說那個(和)也是terminal
06/19 17:04, 2F
文章代碼(AID): #18MW2pPK (Programming)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 2 之 3 篇):
問題
2
2
文章代碼(AID): #18MW2pPK (Programming)