解析 – 使用Lex/Flex在扫描仪中的字符位置

发布时间:2019-05-03 发布网站:编程之家
编程之家收集整理的这篇文章主要介绍了解析 – 使用Lex/Flex在扫描仪中的字符位置编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Lex / Flex中,是否有一种方法可以获得令牌出现在字符流中的位置(从文件的开头)?有点像yylineno,只是它将字符位置作为整数返回?

如果没有,最好的方法是什么?我需要保留自己的柜台吗?

谢谢!

解决方法

您可以使用yyleng和YY_USER_ACTION跟踪角色位置. yyleng具有当前令牌的长度,在匹配令牌之前调用YY_USER_ACTION.在YY_USER_ACTION中,将yyleng添加到位置变量.除非您想要从输入流的开头开始的字符位置,否则您需要在每个行尾令牌处重置变量.在规则操作中,变量 – yyleng是令牌的起始位置.

总结

以上是编程之家为你收集整理的解析 – 使用Lex/Flex在扫描仪中的字符位置全部内容,希望文章能够帮你解决解析 – 使用Lex/Flex在扫描仪中的字符位置所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入编程之家官方QQ群:1065694478