% !TEX encoding = IsoLatin9 \makeatletter\@ifundefined{ifshowcode}{\newif\ifshowcode}{}\makeatother %\showcodetrue \documentclass{test} \begin{document} %EUPP:MLBB %EU>(eupp-overwrite)PP. %EU>(dotimes (test 16)PP. %EU> (let ((macro-1 (lsh (logand test 8) -3))PP. %EU> (condition-1 (lsh (logand test 4) -2))PP. %EU> (macro-2 (lsh (logand test 2) -1))PP. %EU> (condition-2 (logand test 1))PP. %EU> code)PP. %EU> (eupp-appendPP. %EU> "\\noindent" (number-to-string macro-1)(number-to-string condition-1)PP. %EU> (number-to-string macro-2)(number-to-string condition-2)PP. %EU> ".\\par Attendu : [SUCCÈS]\\par\\ifshowcode\nCode : \\texttt{"PP. %EU> (with-temp-bufferPP. %EU> (insertPP. %EU> (setq codePP. %EU> (concat "[\\visitedfalse\\MGB"PP. %EU> (if (= 0 (* (- 1 (logand (+ macro-1 condition-1) 1))PP. %EU> (- 1 (logand (+ macro-2 condition-2) 1)) ))PP. %EU>PP. %EU> (concat (if (= 1 macro-1) "keep" "drop")PP. %EU> "*\\if"PP. %EU> (if (= 1 condition-1) "true" "false")PP. %EU> "\\XXXXX\\MGB"PP. %EU> (if (= 1 macro-2) "keep" "drop")PP. %EU> "*\\if"PP. %EU> (if (= 1 condition-2) "true" "false")PP. %EU> "\\YYYYY\\fatal{ÉCHEC}\\visitedtrue\\YYYYY\\XXXXX\\unless\\ifvisited\\ok{SUCCÈS}\\fi]")PP. %EU> (concat (if (= 1 macro-1) "keep" "drop")PP. %EU> "*\\if"PP. %EU> (if (= 1 condition-1) "true" "false")PP. %EU> "\\XXXXX\\MGB"PP. %EU> (if (= 1 macro-2) "keep" "drop")PP. %EU> "*\\if"PP. %EU> (if (= 1 condition-2) "true" "false")PP. %EU> "\\YYYYY\\ok{SUCCÈS}\\visitedtrue\\YYYYY\\XXXXX\\unless\\ifvisited\\fatal{ÉCHEC}\\fi]")))))PP. %EU> (goto-char (point-min))PP. %EU> (while (re-search-forward "[\\{}]" nil t)PP. %EU> (replace-match (condPP. %EU> ((string= "\\" (match-string 0)) "\\eslash ")PP. %EU> ((string= "{" (match-string 0)) "\\eoa ")PP. %EU> (t "\\}"))PP. %EU> t t))PP. %EU> (buffer-substring (point-min) (point-max)))PP. %EU> "}\n\\par\\fi\nProduit : "PP. %EU> codePP. %EU> "\n\\intertest\n"PP. %EU> )))PP. %EU>(eupp-trim-end)PP. %EUPP:MLS. \noindent0000.\par Attendu : [SUCCÈS]\par\ifshowcode Code : \texttt{[\eslash visitedfalse\eslash MGBdrop*\eslash iffalse\eslash XXXXX\eslash MGBdrop*\eslash iffalse\eslash YYYYY\eslash ok\eoa SUCCÈS\}\eslash visitedtrue\eslash YYYYY\eslash XXXXX\eslash unless\eslash ifvisited\eslash fatal\eoa ÉCHEC\}\eslash fi]} \par\fi Produit : [\visitedfalse\MGBdrop*\iffalse\XXXXX\MGBdrop*\iffalse\YYYYY\ok{SUCCÈS}\visitedtrue\YYYYY\XXXXX\unless\ifvisited\fatal{ÉCHEC}\fi] \intertest \noindent0001.\par Attendu : [SUCCÈS]\par\ifshowcode Code : \texttt{[\eslash visitedfalse\eslash MGBdrop*\eslash iffalse\eslash XXXXX\eslash MGBdrop*\eslash iftrue\eslash YYYYY\eslash fatal\eoa ÉCHEC\}\eslash visitedtrue\eslash YYYYY\eslash XXXXX\eslash unless\eslash ifvisited\eslash ok\eoa SUCCÈS\}\eslash fi]} \par\fi Produit : [\visitedfalse\MGBdrop*\iffalse\XXXXX\MGBdrop*\iftrue\YYYYY\fatal{ÉCHEC}\visitedtrue\YYYYY\XXXXX\unless\ifvisited\ok{SUCCÈS}\fi] \intertest \noindent0010.\par Attendu : [SUCCÈS]\par\ifshowcode Code : \texttt{[\eslash visitedfalse\eslash MGBdrop*\eslash iffalse\eslash XXXXX\eslash MGBkeep*\eslash iffalse\eslash YYYYY\eslash fatal\eoa ÉCHEC\}\eslash visitedtrue\eslash YYYYY\eslash XXXXX\eslash unless\eslash ifvisited\eslash ok\eoa SUCCÈS\}\eslash fi]} \par\fi Produit : [\visitedfalse\MGBdrop*\iffalse\XXXXX\MGBkeep*\iffalse\YYYYY\fatal{ÉCHEC}\visitedtrue\YYYYY\XXXXX\unless\ifvisited\ok{SUCCÈS}\fi] \intertest \noindent0011.\par Attendu : [SUCCÈS]\par\ifshowcode Code : \texttt{[\eslash visitedfalse\eslash MGBdrop*\eslash iffalse\eslash XXXXX\eslash MGBkeep*\eslash iftrue\eslash YYYYY\eslash ok\eoa SUCCÈS\}\eslash visitedtrue\eslash YYYYY\eslash XXXXX\eslash unless\eslash ifvisited\eslash fatal\eoa ÉCHEC\}\eslash fi]} \par\fi Produit : [\visitedfalse\MGBdrop*\iffalse\XXXXX\MGBkeep*\iftrue\YYYYY\ok{SUCCÈS}\visitedtrue\YYYYY\XXXXX\unless\ifvisited\fatal{ÉCHEC}\fi] \intertest \noindent0100.\par Attendu : [SUCCÈS]\par\ifshowcode Code : \texttt{[\eslash visitedfalse\eslash MGBdrop*\eslash iftrue\eslash XXXXX\eslash MGBdrop*\eslash iffalse\eslash YYYYY\eslash fatal\eoa ÉCHEC\}\eslash visitedtrue\eslash YYYYY\eslash XXXXX\eslash unless\eslash ifvisited\eslash ok\eoa SUCCÈS\}\eslash fi]} \par\fi Produit : [\visitedfalse\MGBdrop*\iftrue\XXXXX\MGBdrop*\iffalse\YYYYY\fatal{ÉCHEC}\visitedtrue\YYYYY\XXXXX\unless\ifvisited\ok{SUCCÈS}\fi] \intertest \noindent0101.\par Attendu : [SUCCÈS]\par\ifshowcode Code : \texttt{[\eslash visitedfalse\eslash MGBdrop*\eslash iftrue\eslash XXXXX\eslash MGBdrop*\eslash iftrue\eslash YYYYY\eslash fatal\eoa ÉCHEC\}\eslash visitedtrue\eslash YYYYY\eslash XXXXX\eslash unless\eslash ifvisited\eslash ok\eoa SUCCÈS\}\eslash fi]} \par\fi Produit : [\visitedfalse\MGBdrop*\iftrue\XXXXX\MGBdrop*\iftrue\YYYYY\fatal{ÉCHEC}\visitedtrue\YYYYY\XXXXX\unless\ifvisited\ok{SUCCÈS}\fi] \intertest \noindent0110.\par Attendu : [SUCCÈS]\par\ifshowcode Code : \texttt{[\eslash visitedfalse\eslash MGBdrop*\eslash iftrue\eslash XXXXX\eslash MGBkeep*\eslash iffalse\eslash YYYYY\eslash fatal\eoa ÉCHEC\}\eslash visitedtrue\eslash YYYYY\eslash XXXXX\eslash unless\eslash ifvisited\eslash ok\eoa SUCCÈS\}\eslash fi]} \par\fi Produit : [\visitedfalse\MGBdrop*\iftrue\XXXXX\MGBkeep*\iffalse\YYYYY\fatal{ÉCHEC}\visitedtrue\YYYYY\XXXXX\unless\ifvisited\ok{SUCCÈS}\fi] \intertest \noindent0111.\par Attendu : [SUCCÈS]\par\ifshowcode Code : \texttt{[\eslash visitedfalse\eslash MGBdrop*\eslash iftrue\eslash XXXXX\eslash MGBkeep*\eslash iftrue\eslash YYYYY\eslash fatal\eoa ÉCHEC\}\eslash visitedtrue\eslash YYYYY\eslash XXXXX\eslash unless\eslash ifvisited\eslash ok\eoa SUCCÈS\}\eslash fi]} \par\fi Produit : [\visitedfalse\MGBdrop*\iftrue\XXXXX\MGBkeep*\iftrue\YYYYY\fatal{ÉCHEC}\visitedtrue\YYYYY\XXXXX\unless\ifvisited\ok{SUCCÈS}\fi] \intertest \noindent1000.\par Attendu : [SUCCÈS]\par\ifshowcode Code : \texttt{[\eslash visitedfalse\eslash MGBkeep*\eslash iffalse\eslash XXXXX\eslash MGBdrop*\eslash iffalse\eslash YYYYY\eslash fatal\eoa ÉCHEC\}\eslash visitedtrue\eslash YYYYY\eslash XXXXX\eslash unless\eslash ifvisited\eslash ok\eoa SUCCÈS\}\eslash fi]} \par\fi Produit : [\visitedfalse\MGBkeep*\iffalse\XXXXX\MGBdrop*\iffalse\YYYYY\fatal{ÉCHEC}\visitedtrue\YYYYY\XXXXX\unless\ifvisited\ok{SUCCÈS}\fi] \intertest \noindent1001.\par Attendu : [SUCCÈS]\par\ifshowcode Code : \texttt{[\eslash visitedfalse\eslash MGBkeep*\eslash iffalse\eslash XXXXX\eslash MGBdrop*\eslash iftrue\eslash YYYYY\eslash fatal\eoa ÉCHEC\}\eslash visitedtrue\eslash YYYYY\eslash XXXXX\eslash unless\eslash ifvisited\eslash ok\eoa SUCCÈS\}\eslash fi]} \par\fi Produit : [\visitedfalse\MGBkeep*\iffalse\XXXXX\MGBdrop*\iftrue\YYYYY\fatal{ÉCHEC}\visitedtrue\YYYYY\XXXXX\unless\ifvisited\ok{SUCCÈS}\fi] \intertest \noindent1010.\par Attendu : [SUCCÈS]\par\ifshowcode Code : \texttt{[\eslash visitedfalse\eslash MGBkeep*\eslash iffalse\eslash XXXXX\eslash MGBkeep*\eslash iffalse\eslash YYYYY\eslash fatal\eoa ÉCHEC\}\eslash visitedtrue\eslash YYYYY\eslash XXXXX\eslash unless\eslash ifvisited\eslash ok\eoa SUCCÈS\}\eslash fi]} \par\fi Produit : [\visitedfalse\MGBkeep*\iffalse\XXXXX\MGBkeep*\iffalse\YYYYY\fatal{ÉCHEC}\visitedtrue\YYYYY\XXXXX\unless\ifvisited\ok{SUCCÈS}\fi] \intertest \noindent1011.\par Attendu : [SUCCÈS]\par\ifshowcode Code : \texttt{[\eslash visitedfalse\eslash MGBkeep*\eslash iffalse\eslash XXXXX\eslash MGBkeep*\eslash iftrue\eslash YYYYY\eslash fatal\eoa ÉCHEC\}\eslash visitedtrue\eslash YYYYY\eslash XXXXX\eslash unless\eslash ifvisited\eslash ok\eoa SUCCÈS\}\eslash fi]} \par\fi Produit : [\visitedfalse\MGBkeep*\iffalse\XXXXX\MGBkeep*\iftrue\YYYYY\fatal{ÉCHEC}\visitedtrue\YYYYY\XXXXX\unless\ifvisited\ok{SUCCÈS}\fi] \intertest \noindent1100.\par Attendu : [SUCCÈS]\par\ifshowcode Code : \texttt{[\eslash visitedfalse\eslash MGBkeep*\eslash iftrue\eslash XXXXX\eslash MGBdrop*\eslash iffalse\eslash YYYYY\eslash ok\eoa SUCCÈS\}\eslash visitedtrue\eslash YYYYY\eslash XXXXX\eslash unless\eslash ifvisited\eslash fatal\eoa ÉCHEC\}\eslash fi]} \par\fi Produit : [\visitedfalse\MGBkeep*\iftrue\XXXXX\MGBdrop*\iffalse\YYYYY\ok{SUCCÈS}\visitedtrue\YYYYY\XXXXX\unless\ifvisited\fatal{ÉCHEC}\fi] \intertest \noindent1101.\par Attendu : [SUCCÈS]\par\ifshowcode Code : \texttt{[\eslash visitedfalse\eslash MGBkeep*\eslash iftrue\eslash XXXXX\eslash MGBdrop*\eslash iftrue\eslash YYYYY\eslash fatal\eoa ÉCHEC\}\eslash visitedtrue\eslash YYYYY\eslash XXXXX\eslash unless\eslash ifvisited\eslash ok\eoa SUCCÈS\}\eslash fi]} \par\fi Produit : [\visitedfalse\MGBkeep*\iftrue\XXXXX\MGBdrop*\iftrue\YYYYY\fatal{ÉCHEC}\visitedtrue\YYYYY\XXXXX\unless\ifvisited\ok{SUCCÈS}\fi] \intertest \noindent1110.\par Attendu : [SUCCÈS]\par\ifshowcode Code : \texttt{[\eslash visitedfalse\eslash MGBkeep*\eslash iftrue\eslash XXXXX\eslash MGBkeep*\eslash iffalse\eslash YYYYY\eslash fatal\eoa ÉCHEC\}\eslash visitedtrue\eslash YYYYY\eslash XXXXX\eslash unless\eslash ifvisited\eslash ok\eoa SUCCÈS\}\eslash fi]} \par\fi Produit : [\visitedfalse\MGBkeep*\iftrue\XXXXX\MGBkeep*\iffalse\YYYYY\fatal{ÉCHEC}\visitedtrue\YYYYY\XXXXX\unless\ifvisited\ok{SUCCÈS}\fi] \intertest \noindent1111.\par Attendu : [SUCCÈS]\par\ifshowcode Code : \texttt{[\eslash visitedfalse\eslash MGBkeep*\eslash iftrue\eslash XXXXX\eslash MGBkeep*\eslash iftrue\eslash YYYYY\eslash ok\eoa SUCCÈS\}\eslash visitedtrue\eslash YYYYY\eslash XXXXX\eslash unless\eslash ifvisited\eslash fatal\eoa ÉCHEC\}\eslash fi]} \par\fi Produit : [\visitedfalse\MGBkeep*\iftrue\XXXXX\MGBkeep*\iftrue\YYYYY\ok{SUCCÈS}\visitedtrue\YYYYY\XXXXX\unless\ifvisited\fatal{ÉCHEC}\fi] \intertest %EUPP:BE \noindent Essais ok : \theok\\Essais nok : \thenok \end{document}