簡體   English   中英

上下文無關語法的排列

[英]Permutations with Context Free Grammar

我當前正在編寫一種語法,該語法需要識別字符串abc,acb,bac,bca等。“ abc”的所有排列。

我只是想念一些東西,還是寫所有可能的組合,例如:S-> abc | acb | ...實現全面覆蓋。

基本上,您需要獨立識別每種可能的順序。 標准BNF表示法沒有捷徑。 使用正則表達式,您可以考慮減少正則表達式的長度,但這對您沒有太大幫助。 (例如,如果您想要abcd所有組合,則可以寫(ab|ba)(cd|dc)代替稍長的abcd|abdc|bacd|badc ,但這無濟於事太多了。

對於三個或四個元素來說,還算不錯,但是並不能擴展。 通常的解決方案是允許元素的任何順序,並根據所使用的解析器生成器的功能在結束時或使用時檢查重復項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM