Incluir na macro definida pelo usuário falha

0

Estou tentando usar gpp (pré-processador genérico) para adicionar algumas informações adicionais antes e depois de um #include . O código é o seguinte:

\define{\code{filename}}{PRE \include{\filename} POST} ==> \code{./t.txt} <==

E a saída:

$ gpp -T t.mkd -o t.out t.mkd:2: error: Requested include file not found

Estou pensando que há um problema em referenciar \filename com \include como \filename só será avaliado quando \code for chamado enquanto as meta-macros armazenarem seus parâmetros no tempo definido (se eu entendi a documentação corretamente).

Eu tentei um monte de coisas diferentes, e enquanto isso é obviamente um tipo de pergunta RTFM, meu uso pretendido da ferramenta é muito limitado para justificar o uso de muito tempo aprendendo a ferramenta (e não apenas tentar outra preprocessador e outro até que um funcione bem - comecei a testar com o gpp, pois ele parece bastante capaz, se precisarmos de mais tarde).

PS: Desculpe pela falta de tags relevantes. Eu não tenho reputação suficiente para criar tags, e o único que apareceu foi macro .

    
por simendsjo 07.01.2015 / 22:19

1 resposta

1

Você pode receber respostas mais úteis para essa pergunta em StackOverflow do que no Superusuário.

Entretanto, dado que a versão mais recente do gpp foi lançada em 2004, pode ser difícil encontre pessoas com experiência para ajudá-lo. Se usar outro pré-processador seria uma opção, sugiro m4 , para o qual a versão GNU é atualizada regularmente e amplamente usado - especialmente como parte do software GNU autoconf . Em m4 o código equivalente (no arquivo t.m4 ) seria:

define('code','PRE include('$1') POST')dnl
code('./t.txt')

Dado um arquivo t.txt que diz:

This is the content of the file t.txt.

... o comando m4 t.m4 produz:

PRE This is the content of the file t.txt.
 POST
    
por 08.01.2015 / 01:44

Tags