m4 et les virgules

Bruno Bonfils asyd at debian-fr.org
Thu Jan 5 14:00:03 CET 2006


On jeu 05 janvier, Marc Chantreux wrote:
> bonjour à tous,
> 
> Premier post de l'année : bonne année à tous!
> 
> Je suis en train de me faire un petit outils pour faire rapidement des
> présentations HTML. J'utilise m4 et le but est d'obtenir une syntaxe du
> genre :

Si je peux me permettre, tu es taré

> SLIDE( Technos utilisées,
> UL(
> sed,
> awk,
> `m4, avec qq problèmes'
> ))dnl
> 
> Voilà donc ma tentative :
> 
> define(`LISTITEM', `ifelse($1,`',,`<li>$1</li>
> LISTITEM(shift($*))')')dnl
> define(UL,`<ul>
> LISTITEM($*)</ul>')
> 
> Le problème est que la chaine 
> `m4, avec qq problèmes'

pourquoi shift ?
> 
> est vu comme 2 arguments au lieu d'un... (qq soit le nombre de quotes).
> Comment puis-je protéger mon texte ? Au passage, je suis preneur d'une
> FAQ ou autre documentation didactique sur m4.

hmm voici comment je déclare ma fonction :

define(`slice', `$1'`$2')dnl
define(`add_slice', add_slice_sub(`primary_disk', $*))dnl
define(`add_slice_sub', `filesys         'slice(`$1', $2)        $3 $4)

Et mon appel :

define(`primary_disk', `c1t0d0')
add_slice(s0,2048,/)
add_slice(s1,2048,swap)
add_slice(s2,all ,overlap)


Pour ma part, je voulais faire ca en m4 (pour les non "libristes", c'est
pour générer un profile jumpstart) mais au final j'ai trouvé ca super
galère, d'une part pour la documentation, d'autre part, ce n'est pas
très souple.

Tu as regardé MGP sinon ?

-- 
http://asyd.net/home/



More information about the Shell mailing list