如何更改m4的--synclines选项的注释符号?

时间:2015-05-04 11:03:25

标签: assembly preprocessor m4 picoblaze

我正在使用m4预处理器和命令行选项--synclines。每个展开的多行后,此选项会发出#line <nn>行。

示例:

; sr0(<register>, <count>) unrolls the sr0 statement for <register> <count> times.
sr0(reg_0, 3)
sr1 reg_1

结果:

#line 1 "test.psm"
; sr0(<register>, <count>) unrolls the sr0 statement for <register> <count> times.
sr0 reg_0
#line 2
sr0 reg_0
#line 2
sr0 reg_0
#line 2
sr1 reg_1

因为sr0(reg_0,3)起源于第2行,所以m4在每次扩展后添加#line 2

如何将评论标记#更改为;,因为汇编程序不支持#作为评论标记。

1 个答案:

答案 0 :(得分:0)

如果您不介意使用sed,假设m4生成的代码位于test.psm

$ sed 's/^#/;/' <test.psm
;line 1 "test.psm"
; sr0(<register>, <count>) unrolls the sr0 statement for <register> <count> times.
sr0 reg_0
;line 2
sr0 reg_0
;line 2
sr0 reg_0
;line 2
sr1 reg_1