正则表达式标记antlrV3
我可以编写一个规则,其中初始标记部分是固定的,部分是通用的吗?
rule: ID '=' NUMBER
;
ID: (A.. Z | a.. Z) +
NUMBER: (0 .. 9) +
但前提是令牌 ID 的形式为 var* (var 是固定的)
谢谢
Can I write a rule where the initial token is partly fixed and partly generic?
rule: ID '=' NUMBER
;
ID: (A.. Z | a.. Z) +
NUMBER: (0 .. 9) +
But only if the token ID is in the form var* (var is fixed)
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你是这个意思吗?
无论哪种方式:如果可能,不要对错误消息使用严格的词法分析器语法。它们速度较慢并且用户完全难以辨认。您应该以宽松的形式解析
ID
,然后稍后检查它的形式是否完全正确。Do you mean this?
Either way: when possible, do NOT use a strict lexer grammar for your error messages. They are slower and completely illegible to users. You should parse
ID
in a relaxed form, then check later on if it's in precisely the correct form.