在ANTLR解析器C#实现中不存在TokenStream

时间:2014-07-28 16:39:06

标签: c# antlr antlr4

我目前正在关注“使用监听器构建翻译器”教程“The Definitive ANTLR 4 Reference”,但我正在使用C#并将示例翻译成。

然而,我陷入了“TokenStream”类型的变量声明,我似乎在C#中找不到它(我无法在任何地方找到它)。 Java代码教程

TokenStream tokens = parser.getTokenStream();

除了C#中缺少的TokenStream类型之外,我甚至找不到Parser类的等效方法。 这是如何用ANTLR的C#实现完成的?

2 个答案:

答案 0 :(得分:3)

可能ITokenStream

AFAIK,ANTLR4 Java和C#运行时库几乎相同,只是C#的接口前面有I,而C#运行时(显然)遵循C#命名约定(方法名称以大写等开头。)。

答案 1 :(得分:0)

在Antlr 4.7.2中为C#使用CommonTokenStream类时遇到麻烦。

我需要在Listener类的顶部添加一个声明:

using Antlr4.Runtime;