第二章 flex处理二义性
2015-07-11 09:11
204 查看
大多数flex程序有二义性,相同的输入可能被多种模式匹配
flex通过下面2个规则来解决
匹配尽可能长的字符
如果2个模式都可以匹配, 匹配更早出现的那个模式
例子
以上模式中,因为 "+="更长,所以优先匹配
后三个关键字来说, 先匹配关键字
flex通过下面2个规则来解决
匹配尽可能长的字符
如果2个模式都可以匹配, 匹配更早出现的那个模式
例子
"+" { return ADD; } "=" { return ASSIGN; } "+=" { return ASSIGNADD; } "if" { return KEYWORDIF; } "else" { return KEYWORDELSE; } [a-zA-Z_][a-zA-Z0-9_]* { return IDENTIFIER; }
以上模式中,因为 "+="更长,所以优先匹配
后三个关键字来说, 先匹配关键字
相关文章推荐
- 【C++】引用计数器简单示例
- CC2530 事件轮询流程
- 实习第八天
- 银子交易-暴跌后的反弹
- 学习编解码和流媒体的正确方法
- [Android] 环境优化配置Android Studio发展NDK
- 验证码效果(代码有微调,附本人cc_团购项目中效果图)
- 15、VS2013编写程序时scanf出现的编译错误
- Cocos2d使用TexturePacker工具打包生成plist和pvr.ccz文件方法总结
- Cocos2d使用TexturePacker工具打包生成plist和pvr.ccz文件方法总结 分类: cocos2d其他 2015-07-11 09:06 13人阅读 评论(0) 收藏
- 黑马程序员-java基础网络编程(其它)
- Java读入int数字利用system.in判别季节小测验
- c++类型转换
- 从Eclipse迁移到Android Studio
- 终极解决mysql区分大小写问题
- poj1990 MooFest && hdu3015 Disharmony Trees (树状数组)
- UI基础:target...action设计模式,手势识别器.UIimageview
- Using JPA and JAXB Annotations in the Same Object
- 关于java多条件查询SQL语句拼接的小技巧
- Struts的工作原理