3 points par GN⁺ 2023-12-11 | 1 commentaires | Partager sur WhatsApp

Parution d’un guide d’introduction à la création de compilateurs

  • Étude du code source d’un compilateur auto-hébergé, avec l’intégralité du code incluse dans le domaine public.
  • Le langage T3X/0 est dérivé de Pascal et de BCPL, et il est très simple.
  • Un manuel d’une vingtaine de pages est inclus ; des connaissances de base en langages de programmation procédurale comme C ou Pascal, ainsi qu’en assembleur pour CPU Z80, sont nécessaires.

Explication détaillée de la création de compilateurs

  • Explications approfondies à l’aide de diagrammes, de tableaux et d’exemples détaillés.
  • Couvre des sujets comme l’analyse lexicale, l’analyse syntaxique, la génération de code et quelques optimisations simples.
  • Comprend aussi une explication de l’interface BDOS et de la bibliothèque d’exécution.

Avis de GN⁺

  • Ce livre fournit des explications détaillées et des exemples pour aider à comprendre globalement la création de compilateurs.
  • Il offre une compréhension approfondie de la structure de base des langages de programmation et du processus de compilation, et intéressera particulièrement les ingénieurs logiciels débutants attirés par les anciens ordinateurs et la programmation bas niveau.
  • L’apprentissage à partir de code réel permet d’acquérir non seulement la théorie, mais aussi des compétences pratiques de création de compilateurs.

1 commentaires

 
GN⁺ 2023-12-11
Commentaires Hacker News
  • Annonce de la sortie d’un nouveau livre sur les compilateurs

    • Un nouveau livre sur les compilateurs a été publié. Il s’agit d’une version enrichie de l’ancien « Write Your Own Compiler », qui traite de la génération de code sur Z80 pour les systèmes CP/M.
    • Il explore la complexité d’un compilateur capable de se compiler lui-même en moins de 10 minutes sur un système Z80 à 4 MHz.
    • Le code est gratuit, mais le livre est payant.
  • Partage d’une expérience de développement d’un compilateur C multipasse et d’un assembleur

    • Création d’un compilateur C multipasse et d’un assembleur, écrits en TypeScript, pour d’anciens processeurs x86.
    • Le projet est disponible sur GitHub.
  • Attente d’un livre sur l’optimisation des CPU et GPU modernes

    • Le livre semble intéressant, mais attente d’une suite au Dragon Book qui aborderait l’optimisation des CPU et GPU modernes, ainsi que la conception et l’écriture de VM modernes avec un GC concurrent rapide.
  • Recommandation pour la construction pratique de compilateurs

    • Possession de l’ouvrage papier « Practical Compiler Construction 2nd Ed. », recommandé à ceux que le sujet intéresse.
  • Suggestion d’améliorer la cohérence du contenu du livre

    • Après lecture du chapitre gratuit, certains passages semblent difficiles pour les débutants.
    • L’ouvrage explique des concepts de base, comme la grammaire du langage, puis passe aussitôt à des sujets avancés, ce qui donne une impression de manque de cohérence.
    • Suggestion d’améliorer ce point dans un prochain ouvrage.
  • Réserve sur la nécessité d’apprendre le nouveau langage de programmation T3X

    • Le livre semble intéressant, mais le lecteur doit apprendre un nouveau langage de programmation, T3X, afin d’écrire et développer un compilateur depuis zéro sur un système CP/M.
  • Intérêt pour un livre sur l’écriture d’un OS comme CP/M

    • Expression d’un intérêt pour un livre expliquant comment écrire soi-même un système d’exploitation comme CP/M.
  • Question sur les raisons de se concentrer sur le rétrocomputing

    • Interrogation sur les raisons de cette focalisation sur le rétrocomputing.
    • Question de savoir si c’est parce que les cibles rétro sont plus simples et plus faciles à comprendre, permettant d’apprendre couche par couche, ou si c’est parce que l’auteur est plus familier de ce domaine et peut donc écrire un meilleur livre à ce sujet.