行号与模板工具包

5 perl template-toolkit

我使用Perl模板工具包生成C文件.我非常希望能够在我的C代码中包含#line指令,以便来自C编译器的错误消息将我发送到正确的位置(模板文件)而不是错误的位置(模板输出).但是,我不知道该怎么做.我从Google获得的唯一结果是Template Toolkit邮件列表中未回复的消息.

我可以想象一个折磨的解决方案,比如自己阅读模板文件并添加行号,但是有没有人有一个技巧甚至是一种明智的方法来获取模板工具包中原始文件的行号?

yst*_*sth 2

在我看来,Template::Parser 的 location 方法返回一个合适的 #line 指令,但我看到没有任何内置函数将其包含在输出中。您必须扩展 Template Toolkit 才能做到这一点。