我有一个自动生成C代码的python脚本。 这是一个小片段:
source = open("auto_comps.c", "w")
filter_proto = """bool filter_%s_%s(char *record,
size_t field_offset,
uint64_t value,
uint64_t delta)"""
...
for op in 'eq', 'ne', 'lt', 'gt', 'le', 'ge':
for atype in 'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t':
source.write(filter_proto%(op,atype))
我不想在脚本中为C代码显式创建缩进。 目前我让脚本生成带有haywire缩进的代码 然后使用IDE选择整个代码并从那里缩进。
然而,因此我必须每次必须手动执行此过程 调整脚本。此外,另一位开发商可能没有奢侈品 一个IDE,可能会疯狂地看着自动生成的C代码。
有没有办法可以编程方式从脚本中缩进代码 在关闭源文件之前?
答案 0 :(得分:6)
Vaibhav Bajpai,
源代码缩进比首次出现要复杂得多。实际上,要正确缩进源代码,您需要有效地构建编译器的前端。请查看this article以了解特殊情况。
关键是,你真的,真的想要使用其他人创建的工具。以下是一些:
其中,我有使用C和Java的AsStyle的个人经验,并乐意推荐它。
答案 1 :(得分:1)
最简单的解决方案可能是通过GNU indent这样的独立压头运行生成的代码。
答案 2 :(得分:0)
另一种选择是在写入文件之前安装像astyle这样的程序并运行生成的代码。那会更容易。