2

在 Ragel 有限状态机中实现列计数器的首选方法是什么。如果有什么不同的话,我的主机是 Ragel 手册第 6.3 章中定义的扫描仪。我可能在想我只需要能够为每个消耗的角色执行一个动作(即增加一个计数器),但如果有更好的方法来做到这一点,我很想知道。

4

1 回答 1

0

您可以跟踪输入中换行符的位置,并在需要时使用当前位置获取列,使用类似的东西column = p - lineStart + 1lineStart在前一个换行符之后的位置(或者文件的开头,如果你在第一行)。

于 2016-01-07T00:49:26.117 回答