[英]Is it possible to make Antlr4 generate lexer from base grammar lexer instead of gener Lexer?
我有一個叫做BasicTokens
lexer grammar
,它是我語言的基本標記集,具有null
, true
, false
等標記。
現在,當我創建解析器語法時,說BasicGrammar
引用BasicTokens
而另一個名為InheritedGrammar
語法則導入BasicGrammar
。
當Antlr4為InheritedGrammar
生成解析器時,它包括BasicGrammar
已經定義的所有規則。
有沒有一種方法可以讓Antlr僅描述在InheritedGrammar
生成的規則,而不是在BasicGrammar
中BasicGrammar
並且還繼承BasicGrammarParser
而不是Parser
?
由於ANTLR 4實現導入的方式,因此這是不可能的。
如果語法x
導入語法y
,則該操作的行為如下:
y
(及其所有規則)。 x
的規則添加到規則集合中。 如果發生任何名稱沖突,請將y
的規則替換為x
。 當您到達代碼生成器時,規則層次結構已完全變平。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.