上下文無關文法(Context-Free Grammar, CFG)是一個4元組G=(V, T, S, P),其中,V和T是不相交的有限集,S∈V,P是一組有限的產生式規則集,形如A→α,其中A∈V,且α∈(V∪T)*。V的元素稱為非終結符,T的元素稱為終結符,S是一個特殊的非終結符,稱為文法開始符。
設G=(V, T, S, P)是一個CFG,則G產生的語言是所有可由G產生的字符串組成的集合,即L(G)={x∈T* | Sx}。一個語言L是上下文無關語言(Context-Free Language, CFL),當且僅當存在一個CFG G,使得L=L(G)。 *⇒
例如,設文法G:S→AB
A→aA|a
B→bB|b
則L(G)={a^nb^m | n,m>=1}
其中非終結符都是大寫字母,開始符都是S,終結符都是小寫字母。
標簽:
Context-Free
Grammar
CFG
上傳時間:
2013-12-10
上傳用戶:gaojiao1999
編寫一個java應用程序。用戶從鍵盤輸入一個1-9999之間的數,程序將判斷這個數是幾位數,并判斷這個數是否回文數。回文數是指將數含有的數字逆序排列后得到的數和原數相同,例如12121,4224,6778776等都是回文數。
1)程序具有判斷用戶的輸入是否為合法整數的功能。對非法輸入(例如含有字母)要進行處理。
2)要判斷輸入數的位數,并輸出相關信息。
3)要判斷是否回文數。
二、二戰期間,英國情報人員獲取德軍的一機密電報,電報的內容為:
bzdz izu sxgzd vs lh ,vpzg woflsh vs vwrh vhlsddlmp glm wrw gzy vsg .gflyz gstfzu bvsg gzsd hdmlp vml lm ,hghzvy wmz hwiry mvvdgvy izd z hzd vivsg ,ltz tmlo tmlO
情報人員已經知道,這段電報的加密方式為:
1. 首先將字符串的順序顛倒。
2. 字母互換的規律為:A->Z, B-Y, C-X...X->C, Y->B, Z-A a->z, b->y, c-x...x->c, y->b, z->a.
3. 非字母字符保持不變。
請編程幫助情報人員破譯這份機密電報。給出注釋良好的源程序和程序運行后的結果。
標簽:
java
9999
編寫
應用程序
上傳時間:
2017-06-02
上傳用戶:dengzb84