簡體   English   中英

是否可以使Antlr4從基本語法詞法分析器而不是通用詞法分析器生成詞法分析器?

[英]Is it possible to make Antlr4 generate lexer from base grammar lexer instead of gener Lexer?

我有一個叫做BasicTokens lexer grammar ,它是我語言的基本標記集,具有nulltruefalse等標記。

現在,當我創建解析器語法時,說BasicGrammar引用BasicTokens而另一個名為InheritedGrammar語法則導入BasicGrammar

當Antlr4為InheritedGrammar生成解析器時,它包括BasicGrammar已經定義的所有規則。

有沒有一種方法可以讓Antlr僅描述在InheritedGrammar生成的規則,而不是在BasicGrammarBasicGrammar並且還繼承BasicGrammarParser而不是Parser

由於ANTLR 4實現導入的方式,因此這是不可能的。

如果語法x導入語法y ,則該操作的行為如下:

  1. 加載語法y (及其所有規則)。
  2. 將語法x的規則添加到規則集合中。 如果發生任何名稱沖突,請將y的規則替換為x

當您到達代碼生成器時,規則層次結構已完全變平。

暫無
暫無

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

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