在parsing expression grammar(PEG)中是否存在表達「無序序列」的(簡單)方法?規則如解析無序序列並解析表達式語法
Rule <- A B C
要求A,B和C按順序匹配。規則如
Rule <- (A B C)/(B C A)/(C A B)/(A C B)/(C B A)/(B A C)
允許他們以任何順序相匹配(這是我們所希望的),但它與序列中更多方面的做法繁瑣和不適用的。
是唯一的解決方案中使用的
Rule <- (A/B/C){3}
一個語法規則寬鬆等和語義檢查每個規則只有一次比賽嗎?
事實上,例如Relax NG Compact Syntax有一個"unordered list" operator來解析XML,這讓我暗示沒有明顯的解決方案。
最後一個問題:你認爲添加這樣一個操作符會給PEG帶來不明確的地方嗎?