有啥文本编辑器支持上下文无关文法的查找和替换吗

CYK 算法可用来在多项式时间内判断一个给定字串是否属于这个语言。但是实践中没有编辑器实现这种东西,因为杀鸡焉用牛刀,上下文无关文法是 2-型文法,而正则表达式是 3-型文法,所以,上下文无关文法表达能力比正则表达式要强,实现起来也更麻烦。而一般的字符串搜索正则表达式已经完全够用了。再说了,现在的正则表达式有 back reference,所以已经不是严格的正则语言了,所以表达能力更强。至于正则表达式难写的这种事,还是见仁见智吧。经常用的话,可能就不觉得难写了。我经常用正则表达式在编辑器中的文本替换,时间长了就写熟了。
■网友
问题是,上下文无关文法比正则表达式(不是正则语言)弱啊。比如 heredoc,用 pcre 很容易识别,但写不出上下文无关文法来识别它。


    推荐阅读