Y a-t-il un moyen d'écrire un compilateur frontal de LLVM en C #? P>
3 Réponses :
Si vous souhaitez avoir un compilateur LLVM pour C #, Mono 2.6 peut utiliser LLVM p>
Non, je cherche à écrire un compilateur LLVM en C #.
Si tu veux, je vais supprimer cette réponse
Je ne vois pas pourquoi pas. Il y a un Référence de langue pour LLVM et aussi longtemps que vous êtes conforme à la langue, il n'y a pas de Raison que vous ne pouvez pas écrire quelque chose dans C # qui va analyser cette langue et soit: p>
Cela ne veut pas dire que ce sera facile em>, mais il peut être fait em>. p>
Mise à jour des personnes du futur: N'essayez pas d'écrire un analgésique BitCode / ll pour C #, utilisez plutôt des liaisons telles que LLVM-FS ou llvm.net (ce que je n'ai pas a essayé).
- Disclaimer, je suis l'auteur de ceux-ci.
Il y a deux manières. Vous pouvez envoyer des liaisons C / invoquer LLVM (plus que suffisamment pour la mise en œuvre d'un backend de compilateur), ou vous pouvez écrire votre propre wrapper avec C ++ / CLI. P>
J'ai utilisé XML Dump ATT généré par Clang pour les en-têtes de liaison C de LLVM pour générer automatiquement des liaisons .NET pour eux. Mais il n'est pas possible de le faire plus longtemps, car l'imprimante AST XML avait été retirée de Clang, sans remplacement disponible. P>
Réponse moderne (2021) est: GITUB.COM/MICROSOFT/LLVMSHARP et ice1000.org/llvm-cs/fr