• # Objectifs de la bibliothèque?

    Posté par (site web personnel) . En réponse à la dépêche TeX et traitement de données par flot e01 : lire du TeX. Évalué à 4.

    Tu n'as pas dit exactement ce que tu voulais faire avec ta bibliothèque, et un bref coup d'œil au Github du projet ne m'a pas beaucoup plus renseigné. Apparemment tu as au moins envie d'écrire un interpréteur de macros TeX – et il y a un point qui va rapidement t'embêter: que faire pour interpréter les commandes qui examinent l'état de la machine? Comme tu le remarques, on ne peut pas faire d'analyse lexicale ou syntaxique d'un programme TeX. Comme le programme s'écrit lui-même au fur et à mesure qu'on l'interprète on ne peut pas vraiment faire d'analyse a priori.

    Un point capital que tu effleures sans vraiment énoncer – et que je veux donc souligner – est que TeX est un système de composition typographique tandis que LaTeX est un système de description de documents. Bien-sûr, strictement parlé, toutes les primitives TeX peuvent être utilisées dans un document LaTeX, mais il est recommandé d'utiliser LaTeX comme un système déclaratif en "oubliant" qu'il est écrit en TeX. Si tu t'intéresses à la manipulation des documents LaTeX sous forme symbolique, tu peux donc faire des hypothèses restrictives sur leur structure, qui te permettraient d'écrire un analyseur syntaxique.

    Si tu es à la recherche de sources d'inspiration pour résoudre les problèmes que tu vas rencontrer, il y a littéralement des dizaines d'implémentations de TeX – ou de variantes – dans des languages divers, et je crois même qu'il existe une bibliothèque C encapsulant l'interpréteur TeX.

    Cf. https://en.wikipedia.org/wiki/New_Typesetting_System, https://www.ctan.org/tex-archive/systems/ant?lang=en