coucou747

Ce blog présente principalement les évolutions du compilateur metalang : les nouveaux backends, les nouvelles corrections de bugs, les nouvelles features, nouvaux tests, son utilisation dans le cadre du concours prologin.

le 15/02/2014

Les deux ans de Metalang

Metalang a maintenant deux ans. Ce projet a suivi un long parcours, une longue série de commits, de nombreux rebondissements pour le faire accèpter à prologin, pour arriver aujourd'hui à un projet stable et utile.

Pour fêter les deux ans du git et préparer la première demie finale de prologin 2014, je suis allé sur place, pour récolter un maximum d'informations. Ensuite, j'ai fait les modifications attendues.

  • Une amélioration sur le code généré ocaml, en virant des warnings (sur les variables non utilisées)
  • suppression des parenthèses inutiles
  • Un gros travail sur les positions dans les messages d'erreurs
  • Une amélioration sur l'affichage des parse errors
  • Une passe qui supprime les types définis dans la librairie standard, et qui ne sont pas utilisés (avant, seule les fonctions étaient supprimées)
  • J'ai ajouté un moyen de savoir (compile time) quel est le langage cible, pour pouvoir personaliser la sortie dans une macro
  • Un travail pour merger les prints qui se suivent, de façon à n'en faire qu'un dans les langages ou je supporte cette feature.
  • Une passe d'analyse de code qui dit quand on tente de lire un type qui n'est pas supporté.
  • Une passe d'analyse qui permet d'afficher un message d'erreur quand on utilise void dans une définition.
  • Des macros pour python, C# et php pour la lecture des entrées
  • Un mode VIM
  • En php, les chars étaient compilés en int. Ce n'est plus le cas.
  • La plupart du temps, nos codes générés sont compatibles python2

Une correction de divers bugs, par exemple dans la passe qui renome les variables, ou dans une fonction utilitaire de parcours d'AST

J'ai aussi remis à jours la page de démonstration du site, comme ça vous n'avez pas à installer Metalang pour profiter des dernières mises à jours. On à maintenant un mode VIM et un mode emacs, je ferais peut-être d'autres modes quand je ferais un portage windows, mais pour le moment c'est suffisant pour tout les membres de l'association.

Dans Catégories/Metalang/Changelog.

Sujets : #prologin #metalang