典型的位置构造如下:
|URI|(offset,length,<begin_line,begin_col>,<end_line,end_col>)
偏移和&lt; begin_line,begin_col&gt; 之间存在关系,因为 offset 是与&LT; begin_line,begin_col&GT; 的。同意偏移+长度和&lt; end_line,end_col&gt; 。
问题是我们是否可以从个字符获得&lt; line,col&gt; ,反之亦然,以便我们可以构建一致的位置?
答案 0 :(得分:0)
列和行信息是可选的。您可以使用偏移和长度。 Eclipse和支持偏移的IO函数都可以在偏移和长度字段上工作。
我认为@jurgenv可能会有更多关于何时添加列和行偏移的详细信息。
答案 1 :(得分:0)
通常,如果不访问原始文件,则无法从另一个派生一个,这就是为什么偏移/长度和行/列信息必须以loc
值表示。
因此,信息的制作者通常可以访问文件或源,并且应该能够计算这两种类型的信息。如果这是不可能的,那么就像@ davy-landman所说生产者可以默认只使用偏移/长度信息。
旁注:偏移和长度以字符计算,而非字节或特定编码的任何内容。对于行和列也是如此。
附注:一些编辑使用偏移/长度索引,其他编辑使用行/列索引,这是首先在loc
中使用这两种类型的主要动机。