<defun>
fact (n)
<if> <fun> = <var> n </var> <literal> 0
</literal> </fun>
<literal> 1 </literal>
<fun> * <var> n </var> <fun> fact <fun> -
<var> n </var> <literal> 1 </literal>
</fun> </fun> </fun> </if> </defun>
Le lecteur voit immédiatement le gain en matière
de lisibilité !
Ecrire la fonction
lisp-to-html
qui effectue cette transformation et retourne le code HTML.
NB. Comme LISP manipule bien les listes et mal les chevrons, on prendra
les conventions suivantes :
- le code HTML est une liste
plate
- pour les chevrons, on peut utiliser des symboles LISP tels quels,
par exemple <fun> et
</fun>.
Cela marche bien pour lisp-to-html
mais la transformation inverse en est compliquée.
On préférera donc
aux chevrons une syntaxe parenthésée
de type (fun) et (/ fun).