編譯原理的題,一個編譯原理的題

2022-12-03 15:55:08 字數 1828 閱讀 7553

1樓:匿名使用者

舉些例子就知道了(反例):

a、aaab

c、aabab

d、aaa

選b。既然有偶數個a,只要有a*的,基本不對,因為任意構造一個合法的串,你總能再加一個a而變成不合法的。

包含偶數個a的串主要還要考慮到中間穿插有b的情況,這個正規式構造比較複雜,得多想一想,選擇題還是反例吧:-)

一個編譯原理題。。。

2樓:匿名使用者

1)優先關係矩陣

2)句型( a+s+s) 中的

短語:a+s, a+s+s, ( a+s+s)直接短語:a+s

控制代碼:a+s

lpp:a+s

一個編譯原理問題

3樓:匿名使用者

首先寫出指定句型的規範推導:

s→(l)→(l,s)→(l,(l))→(l,(s))→(l,(a))→(s,(a))

然後畫出分析樹如下圖

根據分析樹的葉子結點可以找出該句型的所有短語:

a   s   (a)   s,(a)   (s,(a))直接短語,就是經過一次非終結符替換得到的短語:

a   s   沒了

控制代碼就是最左直接短語,要進行規約的部分,根據分析樹我們找到最左直接短語為:s

一個編譯原理的問題

4樓:

first(α) 是符號串α的開始符號集合。

也就是說,用推導的方法對α進行推導,一次次地使用產生式,用產生式右部的符號串替換一個非終結符,所有那些可能出現在第一個符號位置的終結符,就構成了開始符號集。

比如,在c語言中,對於符號串「語句」來說,識別符號(賦值語句)、if(條件語句)、printf(輸出函式)這些單詞(終結符)都是它開始符號集合中的元素,而+(加號)、}(右花括號)不可能出現在「語句」的開頭,所以不是它的開始符號集合中的元素。

follow(a)是非終結符a的後跟符號集合。

它是指在所有可能的句型中,一切可能出現在非終結符a後面的一個終結符。

這裡要特別注意是在「句型」中。

你可以自己舉例,比如分析一下c語言中「表示式」後面可能跟哪些單詞,它們就是非終結符「表示式」後跟符號集合中的元素。

你說的這兩個集合的交集問題不存在。

因為它們針對的是不同型別的物件(一個是符號串,另一個是某個非終結符)。

實際上,在選擇集合問題中,考慮的不是它們的交集,而是一個產生式右部符號串的first集跟這個產生式左端非終結符的follow集的並集。

考慮交集的,發生在相同左部的不同產生式的選擇集合之間。

做一編譯原理題。

5樓:得言君

表示式求值問題,用棧來做。根據運算子的優先順序來判斷每次操作。

可以用兩個棧,一個放運算子,一個放運算元。

編譯原理的一個題!!!(200分)

6樓:匿名使用者

或者我的網盤

http://liuguo.ys168.com/在sofeware目錄

//注:可讀取上面所有的符號,並且輸出為內碼。如果有什麼需要更改的地方,請告訴的。

編譯原理習題 30

7樓:物理公司的

static void(intgroup)}//第i個數與最小的數group[pos]交換temp=group[i];

group[i]=group[pos];

group[pos]=temp;}}

編譯原理題,一個編譯原理題。。。

1 優先關係矩陣 2 句型 a s s 中的 短語 a s,a s s,a s s 直接短語 a s 控制代碼 a s lpp a s 一個編譯原理的問題 first 是符號串 的開始符號集合。也就是說,用推導的方法對 進行推導,一次次地使用產生式,用產生式右部的符號串替換一個非終結符,所有那些可能...

求一個比較新的C編譯器,C 編譯器哪個比較好

現在比較通用的有vc dev c 等,這些編譯器都很好用。也有一些冷門的,編譯時會有跳出 卡死等毛病。不要貪圖新。c 編譯器哪個比較好 windows下的常見c 程式設計環境如下 最常用的c 程式設計環境包括 不僅 1 微軟的vs系列。微軟的東西總是回大而全,裝上後。答經常會發現要的東西找不到,不要的東西全...

經濟學原理關於機會成本的一道題,經濟學原理關於機會成本的一道題

選a啊,生產85單位cantaloupes的資源也可以生產70單位watermelon,那麼1單位cantaloupe的機會成本就是70除以85啊,a中答案是0.82你那個a選項.82小數點前少了一個0吧 包含經濟學原理的諺語 你好 包含經濟學原理的諺語如下 薄利多銷 需求富有彈性 穀賤傷農 需求缺...