首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bison -跳过特定令牌后的令牌

问Bison -跳过特定令牌后的令牌
EN

Stack Overflow用户
提问于 2016-02-04 23:02:08
回答 1查看 167关注 0票数 0

我正在尝试用我正在使用的语言模拟一个注释语句。通过使用关键字REM,我想忽略该标记之后的所有内容,直到它遇到enter为止。

示例如下

代码语言:javascript
复制
REM randominstruction {;}

其中randominstruction在C中有一些随机指令。当REM令牌在它之前时,我想忽略整个randominstruction。

EN

回答 1

Stack Overflow用户

发布于 2016-02-05 03:29:48

识别和忽略注释最好在词法扫描器中完成,使用如下规则:

代码语言:javascript
复制
REM([[:blank:]].*)?$     ;

这与“在C中随机指令有一些随机指令”是不同的,这有点误导。注释忽略文本行,而不管它是否由有效的语言标记组成。

上面的正则表达式之所以复杂,是因为REM不是较长单词的一部分。坚持它后面跟着空格可能太严格了( REM(....)是一个有效的注释吗?),所以更好的注释可能是:

代码语言:javascript
复制
REM([^[:alnum:]_].*)?$     ;

如果REM是唯一的问题,那么?$的意图也是接受它。使用两种模式可能会更清楚:

代码语言:javascript
复制
REM[^[:alnum:]_].*     ;
REM$                   ;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35204432

复制
相关文章

相似问题

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