Commits

Jacques-Pascal Deplaix committed 4dcdaaf

Begin the paper

Comments (0)

Files changed (1)

+TyLLVM: Librairie de génération sûre d'assembleur LLVM en OCaml
+
+Résumé:
+    TyLLVM est une librairie OCaml permettant de générer de
+    l'assembleur LLVM qui respecte au possible les specifications du
+    langage grace au système types d'OCaml.
+
+Introduction:
+    LLVM est une infrastructure de compilateur ayant l'architecture suivante:
+        - Le front-end spécifique à chaque langages compilant vers le code
+            intermediaire LLVM.
+        - Un compilateur compilant de l'assembleur LLVM (code intermédiaire)
+            vers du bytecode LLVM.
+        - Un back-end transformant depuis le bytecode LLVM vers une
+            architechture donnée
+
+    La présente librairie permet donc de générer du code intermédiaire LLVM
+    à partir de code OCaml. Il doit pour cela présenter un ensemble de fonctions
+    générant les différents type et structures possible en LLVM-IR.
+
+    LLVM inclue déjà un binding de leur API pour générer du LLVM-IR. Seulement,
+    ce n'est qu'un bind des fonctions C++ correspondant qui est non-complet et
+    pouvant occasionner des segfaults.
+
+    La vrai différence de TyLLVM avec avec ce binding, en plus de pallier à ces
+    problèmes mentionner précédament, est qu'il propose un moyen d'éviter un
+    certain nombre d'erreurs grâce au système de types d'OCaml.