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

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

發布時間: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條

閱讀全文

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

熱點內容
程序員遇到一個無聊的人 瀏覽:59
dh136c25b壓縮機 瀏覽:137
程序員職業外部威脅 瀏覽:897
小米手機點系統工具文件夾就卡 瀏覽:421
app推廣暗扣是什麼意思 瀏覽:926
php多個分頁 瀏覽:109
隱藏我的電腦里的六個文件夾 瀏覽:495
溫州保稅倉發貨有溯源碼嗎 瀏覽:49
收獲app企業ID是什麼 瀏覽:995
光控台燈單片機 瀏覽:285
文檔不能加密的原因 瀏覽:155
程序員系列大全 瀏覽:360
安卓怎麼用文件升級 瀏覽:667
如何發展mc伺服器 瀏覽:169
安卓手機拍照是反的如何正過來 瀏覽:628
伺服器怎麼外接機械硬碟 瀏覽:93
如何輸入代理伺服器和埠 瀏覽:684
排序演算法的實現的總結 瀏覽:26
重慶活塞並聯壓縮機哪裡買 瀏覽:525
中信銀行信用卡app叫什麼名字圖片 瀏覽:24