假設我有以下虛構語法,並帶有子句的遞歸定義。javascript中的遞歸語法的正則表達式
sentence := clause +
subject := (qualifier *) subjectiveNoun
objects := object +
object := nothing | (qualifier *) objectiveNoun
clause := subject objects verb
qualifier := adjective | clause
假設一切都有一個非遞歸的定義,應該如何寫'語句'的javascript語法?如果有人熟悉XRegExp庫來做到這一點,那將是一個附加優勢。
之前人們開始叫喊* 「正則表達式...無法比擬的嵌套/遞歸...」 *:本XRegExp庫*不*支持遞歸匹配:http://xregexp.com/plugins /#matchRecursive @wasabiwimp,[你有什麼嘗試?](http://mattgemmell.com/2008/12/08/what-have-you-tried/),你在這裏的目標是什麼?如果你能夠與正則表達式匹配,那麼是什麼?如果你打算處理分析樹,那麼正則表達式幾乎沒有用,這隻會告訴你源代碼是否匹配。在這種情況下,請查看[PEG.js](http://pegjs.majda.cz/)或[Jison](http://zaach.github.com/jison/)。 – 2013-02-26 07:02:46
你可以明確地挑出「主觀名詞」和「客觀名詞」和「動詞」嗎? – nhahtdh 2013-02-26 07:25:11
這是什麼樣的語法?我很困惑,因爲你已經有了一個語法,所以寫了一個'語法'的JavaScript語法''。可能你的意思是「寫一個JavaScript解析器」? – 2013-02-26 07:50:48