2012-11-29 4 views
0

나는대로 더 매크로를 정의 할 수 있습니다 매크로 정의하고 싶습니다 : 나는 이것이 필요한 이유M4에서 매크로 정의를 중첩하는 방법은 무엇입니까?

master_macro(m1, m2, m3, ...) 

이유 : 그때로 더 유사 slave_macro의를 정의하는 master_macro을 사용할 수 있습니다

define(`master_macro', 
`foreachq(`slave_macro', `$*', 
define(`slave_macro', ...)' 

을 M4 매크로를 작성할 때 slave_macro의 번호와 이름을 알 수 없습니다.

+0

또는 매크로 정의를 프로그래밍 할 수있는 매크로 프로세서가 있습니까? Ruby가 이러한 기능을 제공 할 가능성이 있음을 알았지 만, 필자는이를 작성해야합니까? –

+0

Ruby에서이 작업을 수행 할 수있는 평가판 매크로 프로세서를 구현했습니다. –

+0

foreachq를 정의 했습니까? gnu m4 문서에있는 예제는 m4 내장 명령을 설명하지 않습니다. 'foreachq'는 예제에서 정의가 제공되는 샘플 매크로입니다. –

답변

0

당신이 원하는 것은 분명히 할 수 있습니다. 다음 예는 다음과 같습니다

$ cat file 
changequote(`[',`]')dnl 
define([factory],[dnl 
define($1,banana)dnl 
define($2,split)dnl 
])dnl 
factory(hello,world)dnl 
hello world 
$ m4 file 
banana split 

나는 문제가 정의되지 않은 매크로 foreachq의 사용량 생각합니다.

관련 문제