如何使用 m4 为每一行添加前缀
How to add a prefix to each line with m4
我用 m4 处理程序文件(实际上是汇编程序)。
我可以使用
抑制线条
changequote({,})dnl
define({_SUPPRESSED}, )dnl
_SUPPRESSED({
jan
piet
})
现在我想将行更改为汇编程序注释,而不仅仅是
压制他们:
; jan
; piet
m4 可以吗?使用 patsubst?
怎么做到的?
注意:
尽管做了很多实验,但我没有成功。例如。以下失败。
define({pie}, {patsubst(,{\n},{\n;})})
define(`pie',`patsubst(`',`^.*$',`; &')')
pie(`jan
piet')
注意 patsubst
周围的字符串分隔符(在 pie
的定义中)!如果没有它,m4
会在读取(而不是使用)pie
的定义时扩展 patsubst
。使用分隔符它将是一个字符串,并且仅在调用 pie
宏时展开。
当然,您可以使用 {
和 }
作为字符串分隔符。
我用 m4 处理程序文件(实际上是汇编程序)。 我可以使用
抑制线条changequote({,})dnl
define({_SUPPRESSED}, )dnl
_SUPPRESSED({
jan
piet
})
现在我想将行更改为汇编程序注释,而不仅仅是 压制他们:
; jan
; piet
m4 可以吗?使用 patsubst? 怎么做到的?
注意: 尽管做了很多实验,但我没有成功。例如。以下失败。
define({pie}, {patsubst(,{\n},{\n;})})
define(`pie',`patsubst(`',`^.*$',`; &')')
pie(`jan
piet')
注意 patsubst
周围的字符串分隔符(在 pie
的定义中)!如果没有它,m4
会在读取(而不是使用)pie
的定义时扩展 patsubst
。使用分隔符它将是一个字符串,并且仅在调用 pie
宏时展开。
当然,您可以使用 {
和 }
作为字符串分隔符。