已知文法G[E]: E→cTd T→Eb|c
- 教育綜合
- 2023-10-31 07:57:26
編譯原理求解答案
編譯原理是計(jì)算機(jī)軟件專(zhuān)業(yè)中的非常重要一門(mén)課程。例如:如何把我們編寫(xiě)的高級(jí)語(yǔ)言源程序,翻譯成機(jī)器可執(zhí)行的目標(biāo)程序,這個(gè)就需要用到編譯原理技術(shù)。 但是學(xué)習(xí)編譯原理這門(mén)課程時(shí),是需要頭腦中對(duì)編譯原理課程中涉及到的所有概念必須是相當(dāng)清楚的,別人才能夠?qū)δ愕倪@些問(wèn)題進(jìn)行準(zhǔn)確的回答。而不是看到這些似曾親切的內(nèi)容就敢于回答你的內(nèi)容的。 故我個(gè)人的建議還是:你可以向?qū)iT(mén)講授編譯原理的老師請(qǐng)教你的問(wèn)題。 以上就是我很多年前學(xué)習(xí)編譯原理的親身體會(huì)。編譯原理
E--(E)--(E+E)--(E*E+E)--(i*E+E)--(i*i+E)--(i*i+i)最左推倒如何消除二義性 編譯原理
1、需要在語(yǔ)法設(shè)計(jì)時(shí)就要考慮了,即使是C/C++也存在二義性、不確定性的語(yǔ)法,對(duì)于這種情況,各編譯器考慮的不同的方案,主要還是看你如何進(jìn)行文法分析,可以選一種方便分析的一種去做。 2、要判斷二義性的存在,可以嘗試使用不同的優(yōu)先順序解釋 假如解釋出現(xiàn)歧義,那么一定存在二義性的語(yǔ)法(如經(jīng)典的++運(yùn)算) 3、要消除二義性,最簡(jiǎn)單可行的就是定義優(yōu)先級(jí),不過(guò)不一定適合所有情況。展開(kāi)全文閱讀