- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将带有空格的表达式作为单个标记进行匹配。以下是我的词法分析器规则:
HOUR : (INTEGER) ('hour'|'hours') ;
MINUTE : (INTEGER) ('min'|'minute'|'minutes') ;
INTEGER : '0' 'x' (HEXDIGIT)+ | (DIGIT)+ ;
fragment DIGIT : '0'..'9';
fragment HEXDIGIT : 'a'..'f' | 'A'..'F' | DIGIT;
WS : ( '\t' | ' ' | '\r' | '\n'| '\u000C' )+ {skip()};
如果我使用“12hour”,我会得到 HOUR token 。但我使用“12 小时”,得到整数和“小时”。我该怎么做才能让词法分析器将整个“12 小时”作为单个 HOUR 标记返回?
最佳答案
If I use '12hour', I get HOUR token. But I use '12 hour', get INTEGER and 'hour'.
是的,这是预期的行为。这是因为 WS
仅从解析器规则中跳过。
What can I do to make lexer return whole '12 hour' as single HOUR token?
在您的 HOUR
规则中包含空格字符:
// Don't use `WS` in this token, or `skip()` will be
// invoked and this token will also be skipped!
HOUR : (INTEGER) SPACE* ('hour'|'hours') ;
WS : SPACE+ {skip();};
fragment SPACE : '\t' | ' ' | '\r' | '\n'| '\u000C';
或者,IMO 首选的方式,为这样的事情创建一个解析规则:
hour : INTEGER HOUR;
HOUR : 'hour' | 'hours' ;
INTEGER : '0' 'x' (HEXDIGIT)+ | (DIGIT)+;
关于token - Ant 金服 : match tokens with whitespace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16099197/
百度APP书友助力取真“金” 组队阅读赢现金红包 在活动界面邀请好友 上限邀请10个 然后组队 一起阅读书籍 根据团队的阅读时长瓜分现金红包 活动地址:百度APP
我正在用 JavaScript 构建游戏并生成结果。 var score = array("5", "5", "1"); 因此玩家 1 的得分为 5,玩家 2 的得分为 5,玩家 3 的得分为 1。
我需要从栅格层计算窗台、范围和块金。我已经探索了 gstat、usdm 包,可以在其中创建变异函数,但是我找不到给定栅格层的函数会估计这些参数。在大多数函数中,必须定义这些参数,例如。克里金法。 我有
我是一名优秀的程序员,十分优秀!