1樓:幻翼高達
編譯原理中,素短語是至少含義一個終結符,並且自身不包含任何更小素短語的一種短語。
素短語是一種特殊的短語,它是一個遞迴的定義,至少含有一個終結符,並且除它自身之外不再含任何更小的素短語,所謂最左素短語就是處於句型最左邊的素短語的短語。
一個算符優先文法g的任何句型的最左素短語是滿足以下條件的最左子串nanb…n***n(n是非終結符,a,b,c,d是終結符)。例如:句型t+t*f+id,t*f是最左素短語,id是素短語。
2樓:手機使用者
太多了,大概看了下考點:
若源程式是用高階語言編寫的,目標程式是 機器語言程式或彙編程式 ,則其翻譯程式稱為編譯程式.
何謂優化?按所涉及的程式範圍可分為哪幾級優化?
答:優化:對程式進行各種等價變換,使得從變換後的程式出發,能產生更有效的目標**。
三種級別:區域性優化、迴圈優化、全域性優化。
簡述常用的優化技術有哪些?
答:編譯程式中常用的優化技術有:
(1) 刪除公共子表示式;
(2) 複寫傳播;
(3) 刪除無用**;
(4) **外提;
(5) 強度削弱;
(6) 刪除歸納變數;
(7) 合併常量。
一個句型中的最左 b 稱為該句型的控制代碼。
可選項有:
a. 短語 b. 簡單短語 c. 素短語 d. 終結符號
.遞迴下降法不允許任一非終極符是直接 左 遞迴的。
簡單優先方法每次歸約當前句型的 控制代碼 ,算符優先方法每次歸約當前句型的 最左素短語 ,二者都是不斷移進輸入符號,直到符號棧頂出現 可歸約串 的尾,再向前找到 可歸約串 的頭,然後歸約。
算符優先文法——設有一不含ε產生式的算符文法g,如果對任意兩個終結符對a,b之間至多隻有 、 和 三種關係中的一種成立,則稱g是一個算符優先文法。
常用的中間語言種類有哪幾種?
答:有逆波蘭式、三地址**、抽象語法樹和dag。
3樓:匿名使用者
短語,最左素短語,控制代碼,直接短語的區別是什麼? 設文法g的開始符號為s,abc是g的一個句型。如果有句型s *=
4樓:匿名使用者
素短語是一種方法。
簡單來說:素短語是個短語,並且至少含有一個終結符,並且,除它自身之外不再含任何更小的素短語。
5樓:新娘
我想知道最左素短語和控制代碼的區別在**……0 0
6樓:隨風而舞的魚
它是個短語,並且至少含有一個終結符,並且,除它自身之外不再含任何更小的素短語
7樓:袁詩波
素短語的概念:它是個短語,並且至少含有一個終結符,並且,除它自身之外不再含任何更小的素短語,所謂最左素短語就是處於句型最左邊的素短語。而一個算符優先文法g的任何句型的最左素短語是滿足以下條件的最左子串nanb…n***n(n是非終結符,a,b,c,d是終結符) 例項:
句型t+t*f+id,求出其語法樹,可知,t*f是最左素短語,id也是素短語,但不是最左的。
8樓:匿名使用者
我也看不懂書上的定義,從書上的例子我總結出一個定義:「至少包含一個終結符的,除自身外,不含其它短語的短語」。未經過驗證。
編譯原理,設文法g[e]如下,句型t+t * f+a的素短語是__
9樓:春天的離開
試給出句型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
擴充套件資料文法:以有窮的集合描述無窮的計劃的工具。
字母表:元素的非空有窮集合,其中的元素稱為符號,因此也叫符號集。
符號串:由字母表中的元素組成的任何有窮序列,串中的元素個數叫做符號串的長度,空符號串ε,長度為0。
符號串的運算:
連線-符號串x = ab,y=cd, xy = abcd方冪-z=xn,當n = 0, z = ε,當 n = 2, z = xx
集合的閉包-∑* = ∑0 ∪∑1 ∪∑2 ∪…∪∑n∑+ 為正閉包 = ∑1 ∪∑2 ∪…∪∑n
誰能夠解釋下編譯原理中什麼是firstvt,和lastvt
給你copy一個看管用不,雖然不懂你在問什麼.算符優先分析 上一節 下一節 5.2.1 算符優先文法及其優先表構造 一個文法,如果它的任一產生式的右部都不含兩個相繼 並列 的非終結符,即不含如下形式的產生式右部 qr 則我們稱該文法為算符文法。在後面的定義中,a b代表任意終結符 p q r代表任意...
什麼是編譯程式,編譯程式和解釋程式都是什麼意思?
編譯程式指將某一種程式設計語言寫的程式翻譯成等價的另一種語言的程式的程式,稱之為編譯程式 編譯程式也稱為編譯器,是指把用高階程式設計語言書寫的源程式,翻譯成等價的機器語言格式目標程式的翻譯程式。編譯程式屬於採用生成性實現途徑實現的翻譯程式。它以高階程式設計語言書寫的源程式作為輸入,而以組合語言或機器...
大二的資料結構和編譯原理有什麼用,學了c不是一樣程式設計嗎
闊氣剋剋 學以致用這個詞一般都用在走上工作崗位之後,在學生期間的學習都是為了豐富自己,你並不知道將來你要用的是哪個,只是你會的多了,就業面就廣,能幹的東西就越多。如果每次學習的時候都考慮有什麼用,沒用就不學,等到用的時候再學往往就來不急。當然編譯原理這種學起來困難而且確實用處不大的東西可能確實不愛學...