導航:首頁 > 源碼編譯 > 編譯原理二進制整數正規表達式

編譯原理二進制整數正規表達式

發布時間:2022-02-23 08:35:59

編譯原理-用正則表達式表示下面的內容

(1)[a-z]
(2)^[24680]+$ 所有數字都為偶數 ^(?=[1-9])\d*[02468]$|^[02468]$ 所有偶數

(3)^(?=[a-zA-Z0-9]+).*@[^\.]+\.[a-z]+$

測試有效

㈡ (編譯原理) 求下述文法對應正規式: S->0A|1B A->1S|1 B->0S|0

一、簡單的推導思路
1、該文法的對應正規式為:[01|10]+
2、推導:
(1)首先,展開產生式S,可知S要麼以0開頭,要麼以1開頭;
(2)如果S按產生式S->0A展開,則S必以01開頭,因為通過產生式A->1S|1可知,A必定是以1開頭的;
(3)如果S按產生式S->1B展開,則S必以10開頭,因為產生式B必定以0開頭;
(4)綜上,可知,S是以01或10開頭的非終結符號;
(5)當A以產生式A->1展開或 B以B->0展開時,S將推導結束;
(6)當A以產生式A->1S展開或 B以B->0S展開時,產生式中的非終結符號S將重復(1)-(3)的推導步驟;
(7)綜上所述,該文法的對應正規式為:[01|10]+。

二、聯立方程組求解
假設非終結符號S、A、B都分別代表一個正規式,則正規文法的產生式集合所代表的就是關於正規式S、A、B的一個方程組。
我們將文法「|」符號替換為正規式「+」符號,可得,
S=0A+1B=0(1S+1)+1(0S+0)=01(S+ε)+10(S+ε)=(01+10)(S+ε)=(01+10)S+(01+10)。
根據方程X=rX+t有形如X=r*t的解論斷,可得,
S=(01+10)*(01+10)=[01|10]+。

㈢ 編譯原理:寫出正規式包含奇數個1或奇數個0的二進制數串

((0*10*)(0*10*))*(0*10*) | ((1*01*)(1*01*))*(1*01*)
通過(AA)*A的方式保證表達式A出現奇數次,此處的A又可以替換成0*10*和1*01*表示只含一個1或0的任意二進制串。綜合起來可以滿足只出現奇數個1或奇數個0的要求

㈣ 編譯原理的正規表達式問題:

我只曉得第三個,(0|1)*(0|1)(0|1)*。前面兩個題目都買看懂。。。

㈤ 編譯原理:用正則表達式寫出被5整除的二進制數

初看這個問題簡單,*([0|5])+

但是是二進制啊,NND 老子 從 0 ,5 ,10, ..30,...50 都寫成二進制楞是沒發現規律

估計是你們老師拿來整你們的吧? 讓抄答案都沒地方抄。

㈥ 編譯原理中的正則表達式與正規表達式有什麼區別

完全相同,是對regular expression的不同翻譯

㈦ 編譯原理與實踐中正規表達式的問題

(aa|b)*
由連續兩個a或一個b的任意序列組成的語言,比如aab,baaaabbbb.
(a|bb)*
連續兩個b或一個a的任意序列。

正則語言里,|表示任選,有時也用+號。*號表示閉包--就是說任意組合。

㈧ 編譯原理:c語言標識符的正則表達式

是缺了。這個只能匹配字母開頭、字母數字組成的標示符

LZ可以自己加上,加在letter里

㈨ 編譯原理中的正規表達式

0+表示至少有一個0
0+10表示010、0010、00010等情形
(0+10)*表示(0+10)的閉包

㈩ 編譯原理這個正規表達式是怎麼寫出來的呀

主要就是後面的兩個條件:

  1. 至少2個1,

  2. 任何2個1之間有偶數個0

abd都不滿足第2條

閱讀全文

與編譯原理二進制整數正規表達式相關的資料

熱點內容
筆記本沒串口怎麼寫單片機程序 瀏覽:852
如何識別網站源碼語言 瀏覽:393
javaweb首頁 瀏覽:337
程序員招聘網站哪個好 瀏覽:576
ios仿美團外賣源碼 瀏覽:138
pdf文本換行 瀏覽:426
愛豆app哪裡下載 瀏覽:883
pac腳本怎麼打開源碼 瀏覽:551
安卓手機下載什麼控制空調 瀏覽:92
如何把加密的pdf的水印去掉 瀏覽:907
已加密文件咋列印 瀏覽:429
機器人走正方形編程代碼 瀏覽:125
安卓手機怎麼變成蘋果表情原創 瀏覽:673
serial驅動linux 瀏覽:845
高薪程序員有哪些專業 瀏覽:483
安安一對一聊天app在哪裡下載 瀏覽:719
光遇攻略手冊app在哪裡下載 瀏覽:184
單片機ea引腳 瀏覽:814
中國移動app積分兌換商城在哪裡 瀏覽:802
深圳兒童編程app 瀏覽:336