語法推導樹必須具有的特徵:
首先理解此處和文法有關,文法公式g=
1.每個結點都有乙個標記,此標記是v的乙個符號。(這個標記必須是終結符或者非終結符中的乙個)
2.根的標記是s(開始符)
3.若一結點n至少有乙個它自己除外的子孫,並且有標記a,則a肯定在vn中。(如果乙個結點有子孩子,則這個結點肯定不是終結符)
4.如果結點n的直接子孫,從左到右的次序是結點n1,n2,。。。nk,其標記分別是a1,a2,。。。ak。那麼a->a1,a2.。。ak。一定是p中的乙個產生式。(父親結點推出子結點值得序列必須包含在p中)
短語、簡單短語、控制代碼、素短語、最左推導、句子概念:
令g是一文法,s是文法的開始符號,abc是文法g的乙個句型。
短語:如果s經過若干步驟推導出aac且a經過1或者多步推出b,則稱b是句型abc相對於非終結符a的短語;
如果有了一棵語法推導樹,則這棵推導樹上任意一棵子樹的葉子結點的序列就是乙個短語。
簡單短語:如果a直接推出b,則b是句型abc相對於規則a→b的直接短語(簡單短語);
控制代碼:乙個句型的最左直接短語稱為該項句型的控制代碼;
素短語:是個短語,並且至少含有乙個終結符,並且,除它自身之外不再含任何更小的素短語。
最左推導:對句型右部的最左非終結符進行推導。
句子:僅含終結符的句型。
編譯原理之文法推導
已知文法g 表示式 項 表示式 項 項 因子 項 因子 因子 表示式 i 試給出下列表示式的推導。1 i 2 i 3 i i 4 i i i 5 i i i 6 i i i 7 i i i 8 i i 9 i i i i 10 i i i 3.演算法思想 描述的是大概的過程,具體實現的細節見 注釋。...
編譯原理之最左推導和最右推導
符號串的最左推導及最右推導 需求分析 1 輸入乙個文法,可以有多個非終結符號,每個非終結符號可有多條規則。2 輸入要分析的符號串 3 分別採用最左推導和最右推導進行符號串的分析,請輸出推導過程。文法為 e cb c c b b 假如有個要分析的字串為 eb最左推導的分析為 1cbb 2cbb 3cb...
編譯抽象語法樹
編譯抽象語法樹 對大多數開發人員來說,編譯就意謂著產生本地 給人感覺就是乙個字,難。但是,並不一定要產生本地 對於 dsl,通常產生其他更加通用的程式語言。net 框架提供幾個把抽象語法樹編譯成程式的功能。技術的選擇取決於幾個因素。例如,如果語言針對的是開發人員,那麼,生成文字檔案就足夠了,內容可以...