Chr*_*lli 7 compiler-construction parsing lexical-analysis
在Lex/Flex中,是否有一种方法可以获得令牌出现在字符流中的位置(从文件的开头)?有点像yylineno,只是它将字符位置作为整数返回?
如果没有,最好的方法是什么?我需要保留自己的柜台吗?
谢谢!
您可以使用yyleng和YY_USER_ACTION跟踪角色位置.yyleng具有当前令牌的长度,在匹配令牌之前调用YY_USER_ACTION.在YY_USER_ACTION中,将yyleng添加到位置变量.除非您想要从输入流的开头开始的字符位置,否则您需要在每个行尾令牌处重置变量.在规则操作中,变量 - yyleng是令牌的起始位置.
归档时间: |
|
查看次数: |
1964 次 |
最近记录: |