短語編譯原理
❶ 編譯原理的疑問
設文法G的開始符號為S,abc是G的一個句型。
如果有句型S *=>aAc,且A +=>b,則稱b是句型abc相對於非終結符A的短語。
假如A =>b,則稱b是句型abc相對於規則A=>b的直接短語。
句柄就是句型的最左直接短語。
假如一個短語,有且只含有一個非終結符,則稱之為素短語;(語法樹)最左邊的素短語為最左素短語。
形式語言里,規范推導是最右開始,則歸約是最左開始。
短語的特點是由非終結符而來。在算符優先分析里,短語是進行歸約的方向。它和常見的中文、英文里所說的短語概念有相似,也有不同。
❷ 編譯原理中,句柄的定義中的最左直接短語,那個最左是什麼意思啊急求!!!跪謝!!!
就是說,對一棵分析樹從上到下,從左到右把所有的直接短語寫出來,在所有的直接短語的最前面(也就是最左邊)的那個就是句柄啦。
希望幫到你理解這個意思。
❸ 編譯原理中,素短語是個什麼東東
素短語是一個短語,它至少含有一個終結符,而且除他之外不含有其他素短語。
短語:一個句型的語法樹中任一子樹葉節點所組成的符號串都是該句型的短語。
❹ 編譯原理!為什麼F3.不是素短語
素短語是至少含有一個終結符的短語,且除它自身外不再含有任何更小的素短語。F3是
非終極符,所以只有i1是素短語。
❺ 編譯原理有關語法的題
短語:E+F*(E+i),F*(E+i),(E+i),E+i,i
直接短語:i(能直接推出來的)
句柄:i(最左直接短語)
素短語:i(並且至少含有一個終結符並除自身之外不含任何更小的素短語)
這些你根據語法樹看,就比較好找了啊~
語法樹如圖:
❻ 編譯原理,設文法G[E]如下,句型T+T * F+a的素短語是__
試給出句型T-T/F+a和T+T*F-F↑a的短語、句柄、素短語:
句型1:短語TT/F+a, T-T/F, T, T/F, a
句型T
素短語: T/F,a
句型2:短語E+T*F_F↑a, E+T*F, T*F,F↑a, a
句型T*F
素短語: T*F,a
(6)短語編譯原理擴展閱讀
文法:以有窮的集合描述無窮的計劃的工具。
字母表:元素的非空有窮集合,其中的元素稱為符號,因此也叫符號集。
符號串:由字母表中的元素組成的任何有窮序列,串中的元素個數叫做符號串的長度,空符號串ε,長度為0。
符號串的運算:
連接-符號串x = ab,y=cd, xy = abcd
方冪-z=xn,當n = 0, z = ε,當 n = 2, z = xx
集合的閉包-∑* = ∑0 ∪∑1 ∪∑2 ∪…∪∑n
∑+ 為正閉包 = ∑1 ∪∑2 ∪…∪∑n
❼ 編譯原理中的短語、直接短語、句柄
如果給出短語等名詞的形式化的定義,便較難理解,不好求。我們通過構造語法樹來求解。首先你應該會根據文法將所給句型構造成語法樹的形式,即根據文法怎樣推導出句型E+T*F。如果你有數據結構二叉樹基礎的話這很簡單就構造出來了。構造出語法樹後,求短語看根節點,有T,和E。則短語為:E+T*F,T*F,而直接短語是指能直接推出葉子節點的根所對應的短語,可知該節點為T,直接短語為:T*F。句柄是最左直接短語,可知為:T*F。
❽ 編譯原理:空字元串可以是短語嗎
可以的。。。
❾ 編譯原理實現判斷是不是一個文法的句子
構造LL(1)語法分析程序,任意輸入一個文法符號串,並判斷它是否為文法的一個句子。程序要求為該文法構造預測分析表,並按照預測分析演算法對輸入串進行語法分析,判別程序是否符合已知的語法規則,如果不符合(編譯出錯),則輸出錯誤信息。
❿ 編譯原理中的句柄是什麼意思舉個簡單的例子
語法樹的最左子樹