Nouvelles de juillet

29 views
Skip to first unread message

Jean Privat

unread,
Aug 1, 2013, 3:21:54 PM8/1/13
to nit...@googlegroups.com

Lancement des nouvelles régulières de Nit, l'objectif est de garder une liste simple des trucs accomplis, en cours ou en projet (là ou le log des commits est insuffisant).

Les deux gros travaux du mois de juillet furent les annotations et le travail vers suppression de nitc (en faveur du nouveau MM).

Annotations et phases

Les annotations (commit de3ecaf4264f41436b077e627b1c941372b56fb9) se branchent sur les phases (cf commitcefe2c80f11b595676d65b1419b9891e6acc1fc2) et nécessitent de bien bricoler l'AST.

Le développement de phases simples est déjà semi-documenté (cf. div_by_zero.nit)

Les annotations, et les phases en général, posent aussi une nouvelle-fois le problème de la représentation à utiliser : ast ou icode?

Afin de mieux cerner le problème, un première annotation cached, qui permet de cacher le résultat d'une méthode dans un attribut est en développement. Bien qu'il reste quelques FIXME, le code est relativement lisible, voire simple (cf cached.nit)

parser_util

Vu qu'il n'y a pas (encore?) de langage intermédiaire, le plus simple est de permettre de bricoler l'AST.

Un nouveau module parser_util permet de fabriquer un morceaux d'AST à partir d'une chaîne ou d'effectuer des requêtes simples de recherche.

Chaînes

Tant qu'à bricoler l'AST, les chaines littérales multi-lignes (triple-quoted strings) on étés ajoutés (commit17fca9389befff163372f1c5b893b3748d5a1819).

Ainsi, on peut maintenant écrire

    var code = """
void foo(void) {
   int i = {{{une_variable_en_nit}}};
   printf("%d", i);
}"""

et c'est beau.

Notons que les accolades des super-chaines on été également triplés pour éviter d'avoir à échapper les accolades dans la majorité des cas.

Depreciation de l'ancien méta-modèle

Alexis et Alexandre travaillent à migrer la FFI et la nitdoc vers le nouveau méta-modèle. L'objectif, à court terme, est de ne plus maintenir l'ancien métamodèle et outils.

En ne conservant qu'un seul MM cela débloquera les évolutions du langage.


Reply all
Reply to author
Forward
0 new messages