1
在我的自定義編輯器中,我想更正從額外錯誤解析器規則中檢測到的錯誤。如何從解析器規則獲取指定索引處的令牌
例如,我有我的解析器這個錯誤規則:
| 'if' '(' expr ')' ')' expr
檢測不必要的括號內。
我可以在偵聽器中獲取開始和停止令牌並計算位置。
但是對於我的修復,我需要額外的圓括號標記(在索引5)來計算我的自定義語言編輯器中的位置,然後可以刪除該char。
根據解析器規則在指定索引處獲取令牌的正確方法是什麼?
任何幫助表示讚賞。
謝謝,這正是我需要的。是否還有一個額外的標籤,如果我嘗試檢測缺少的括號,例如:| ''''''''('expr expr \t or:| \t'{'exprlist類似於相反的東西,例如extra =''? – Marcel 2014-09-24 11:20:39
不,你不能標記丟失的標記 – 2014-09-24 12:37:13
再次感謝你的快速回答! – Marcel 2014-09-24 13:49:50