首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ANTLR在首次出现时停止

ANTLR在首次出现时停止
EN

Stack Overflow用户
提问于 2018-06-08 06:58:44
回答 1查看 46关注 0票数 1

我有这些规则:

代码语言:javascript
运行
复制
while: 'while' expr 'do' program;
if: 'if' expr 'then' program 'else' program;

我并不关心expr包含什么,那么在thendo之前,我如何才能将所有内容都放在那里

我试过了:

代码语言:javascript
运行
复制
expr: .*?~('then'|'do');

但它不起作用。为什么?

EN

回答 1

Stack Overflow用户

发布于 2018-06-08 15:07:04

如果内容和结构对您来说无关紧要,那么可以使用令牌流。迭代所有标记(从while标记开始,直到遇到do为止)(并跳过所有嵌套循环)。您的解析器确保输入是正确的,因此可以使用令牌流。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50751224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档