我使用m4处理程序文件(实际上是汇编程序)。 我可以使用
来抑制线条changequote({,})dnl
define({_SUPPRESSED}, )dnl
_SUPPRESSED({
jan
piet
})
现在我想将行更改为汇编注释而不是仅仅 抑制它们:
; jan
; piet
这是可能的m4,例如使用patsubst? 怎么办呢?
注意: 尽管进行了大量实验,但我并没有进行管理。例如。以下失败。
define({pie}, {patsubst($1,{\n},{\n;})})
答案 0 :(得分:1)
define(`pie',`patsubst(`$1',`^.*$',`; &')')
pie(`jan
piet')
请注意patsubst
周围的字符串分隔符(在pie
的定义中)!如果没有它,m4
会在阅读时展开patsubst
(而非使用)pie
的定义。使用分隔符时,它将是一个字符串,仅在调用pie
宏时才会展开。
当然,您可以使用{
和}
作为字符串分隔符。