2012-02-11 81 views
0

如何編寫此屬性語法?正則表達式的屬性語法

我不知道與明星的生產。

爲正則表達式設計上下文無關語法。使此屬性語法具有附加到開始符號的setvalued屬性,該符號是由常規 表達式表示的語言(字符串集合)。一個正則表達式可以是空的,一個符號,兩個正則表達式的連接,兩個用豎線分隔的正則表達式,一個正方形表達式,後跟一個星號, 或括號中的正則表達式。例如,對於正則表達式'l(l | d)*',您的屬性 語法應該構造由l和後面零或更多的l或d組成的所有字符串的(無限)集合。

謝謝。

+0

我的部分答案: RE :: = E {RE。組=空} RE1 :: =(RE2){RE1.set = RE2.set} RE :: = {符號RE.set = {符號}} RE1 :: = RE2 + RE3 {RE1。 set = RE2.set union RE3.set} RE1 :: = RE2 {RE1 = RE2.set} | RE3 {RE1 = RE3.set} RE1 :: = RE2 * {*** no idea here !! ***} RE1 :: =(RE2){RE1.set = RE2.set} – NoviceCai 2012-02-11 02:14:16

回答

0

提示:有一個集合union的廣義形式,涉及索引集和涉及索引的集值表達式。這是寫像下面:

ü我在我 F(1)

例如,有理數集等於

ü我Z中 {I/J | !法官在Z,J = 0}

(Z,通常寫在 「黑板大膽」,是集所有整數)。

+0

但是選擇符號重複? – NoviceCai 2012-02-11 03:47:15