2010-02-01 35 views

回答

1

當你構建一個CommonTokenStream,你告訴它使用什麼渠道。解析器不會看到其他通道上的令牌。

+0

我參考了這個http://www.antlr.org/wiki/pages/viewpage.action?pageId=557063。但不是ANTLR的專家,不瞭解如何使用這些方法。 謝謝 – Batman 2010-02-01 15:15:09

1

是的,你可以在解析器中使用隱藏的標記。

我們一直這樣做。唯一的問題是你需要知道什麼時候查找它。

Antlr有一些它使用的術語。

A Hidden令牌只是在單獨的流上傳輸。用戶可以通過在當前匹配的令牌上調用getHiddenAftergetHiddenBefore來始終檢查隱藏的令牌。

注意:在匹配的令牌之前或之後可能會隱藏多個令牌,因此您應該遍歷它們。

A Discarded當您告訴詞法分析器丟棄它時,實際上會刪除令牌。它永遠不會再被你看到。