如何让flex识别整数和浮点数

alphasun 2003-10-20 05:57:35
3.14 居然识别成
整数 3
操作符 .
整数14

但是我的确写了浮点数的表达式了

NAT DIGIT+
SIGNED_NAT ("+"|"-")?{NAT}
NUMBER {SIGNED_NAT}("."{NAT})?((E|e){SIGNED_NAT})?

%%

{NUMBER} printf("浮点数: %s\n", yytext);
...全文
402 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
alphasun 2003-10-21
  • 打赏
  • 举报
回复
多谢 ttmmdd(老孩子) 再次热情解答,我正在拜读你的表达式
ttmmdd 2003-10-21
  • 打赏
  • 举报
回复
let [_a-zA-Z] /* Letter */
alnum [_a-zA-Z0-9] /* Alphanumeric character */
h [0-9a-fA-F] /* Hexadecimal digit */
o [0-7] /* Octal digit */
d [0-9] /* Decimal digit */
suffix [UuLl] /* Suffix in integral numeric constant */
white [\x00-\x09\x0b\s] /* White space: all control chars but \n */

%%

(\-|\+)?{d}+{suffix}? {pinput->Token_2_Int();return TOKEN_ICON ;}

(\-|\+)?({d}+|{d}+\.{d}*|{d}*\.{d}+)([eE][\-+]?{d}+)?[fF]? {pinput->Token_2_Float(); return TOKEN_FCON ;}

还有就是对FLOAT 和INT的识别要写在操作符" ."识别之前,否则他回优先识别操作符 "."

33,006

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧