[英]Is it possible to convert ANTLR3 grammar into regular expression?
我有一個ANTLR3簡單語法分析器,該語法分析器接受短文本行並將其轉換為Java對象。 接下來,我有大量的文本行。 其中一些(少於1%)可以轉換,因為它們與語法匹配。
我需要將它們全部傳遞通過解析器,以了解哪些是可轉換的,並創建Java對象的集合。 操作非常耗時。 在將它們發送給ANTLR3之前,通過正則表達式傳遞它們會更加有效。
我可以自己創建這樣的正則表達式,但是從ANTLR3解析器動態獲取它會更好。 有可能嗎?
通常,只有常規語言才能具有描述它們的正則表達式。 (大多數RE引擎都支持與某些非常規語言(例如,通過反向引用)相匹配的功能,但仍不是所有與上下文無關的語言,甚至不是通用的形式語言。)
我並不是真正的antlr專家,但是我想它的語法可以匹配不可重新匹配的語言。
因此,即使您的問題在理論上也沒有真正解決,它也取決於語法。
可能是
如果不看語法,很可能沒有確定的方法。
另外,正則表達式不一定比解析器要快。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.