Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
假设我想用 ANTLR4 解析一个点:
grammar Point; point : '(' INT ',' INT ')'; INT : [0-9]+;
如果我可以将第一个 INT 命名为x,将第二个命名为y. 有什么方法可以命名它们,以便我可以在代码中更优雅地访问它们?
x
y
谢谢
您可以使用标签:
point : '(' x=INT ',' y=INT ')';
这适用于令牌,但对于解析器规则,如果在解析期间抛出异常,则可能不会设置标签。换句话说,避免以下情况:
point : '(' x=INT // this is fine ',' y=id // avoid: y might not be set if an exception occurs while parsing `id` ')';