为什么antlr3 C# 解析器方法是私有的?

发布于 2024-11-16 09:45:10 字数 204 浏览 5 评论 0原文

我正在 antlr 中构建一个解析器,它可以编译为工作的 java 目标。当我重新定位 c#2 时,它会生成一个解析器,其中所有解析方法都是私有的,但标有 [GrammarRule("rulename")] 属性。

实际调用解析器的批准方法是什么?

我正在使用 ANTLR 3.3 2010 年 11 月 30 日 12:45:30

谢谢, 安迪

I'm building a parser in antlr which compiles to a working java target. When I retarget for c#2 it produces a parser in which all of the parse methods are private but marked with a [GrammarRule("rulename")] attribute.

What is the approved means to actually invoke the parser?

I am using ANTLR 3.3 Nov 30, 2010 12:45:30

Thanks,
Andy

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

信仰 2024-11-23 09:45:10

使至少一个解析器规则“公开”,如下所示:

grammar T;

options {
  language=CSharp2;
}

public parse
  :  privateRule+ EOF
  ;

privateRule
  :  Token+
  ;

// ...

然后您可以在生成的解析器上调用 parse()

还支持 protectedprivate (如果未指定任何内容,则为默认值)。

Make at least one parser rule "public" like this:

grammar T;

options {
  language=CSharp2;
}

public parse
  :  privateRule+ EOF
  ;

privateRule
  :  Token+
  ;

// ...

You can then call parse() on the generated parser.

protected and private (the default if nothing is specified) are also supported.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文