解析 – 使用Lex/Flex在扫描仪中的字符位置
发布时间:2020-12-15 02:11:25 所属栏目:百科 来源:网络整理
导读:在Lex / Flex中,是否有一种方法可以获得令牌出现在字符流中的位置(从文件的开头)?有点像yylineno,只是它将字符位置作为整数返回? 如果没有,最好的方法是什么?我需要保留自己的柜台吗? 谢谢! 解决方法 您可以使用yyleng和YY_USER_ACTION跟踪角色位置. yy
在Lex / Flex中,是否有一种方法可以获得令牌出现在字符流中的位置(从文件的开头)?有点像yylineno,只是它将字符位置作为整数返回?
如果没有,最好的方法是什么?我需要保留自己的柜台吗? 谢谢! 解决方法
您可以使用yyleng和YY_USER_ACTION跟踪角色位置. yyleng具有当前令牌的长度,在匹配令牌之前调用YY_USER_ACTION.在YY_USER_ACTION中,将yyleng添加到位置变量.除非您想要从输入流的开头开始的字符位置,否则您需要在每个行尾令牌处重置变量.在规则操作中,变量 – yyleng是令牌的起始位置.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |