Salut,
J'ai un autre changement à faire réviser dans ma saga de locations. Celui-ci déplace la gestion des lignes et des colonnes à l'intérieur de l'objet source. L'avantage n'est peut-être pas évident dans cette patch, mais je vous promet que j'en ai une autre qui change le module Lexer pour utiliser l'objet source. Ce simplifie de beaucoup cette phase parce qu'on réutilise justement ce code qui gère les lignes et les colonnes.
https://gitlab.com/monnier/typer/-/compare/master...source-tells-its-own-loc...
Sinon, je voulais vous partager mes idées pour les docstr. En ce moment on les attache à la location du prochain token. C'est un peu bizarre, parce que les tokens peuvent tous recevoir une location, mais en fait pour la plupart on ignore silencieusement leur docstr. En fait, ce qu'on veut vraiment, c'est d'attacher ces commentaires à une déclaration. Ma proposition est donc d'ajouter à chaque entrée du contexte un champ qui contient le docstr.
En fait, je propose que le syntaxe en @ ne soit qu'une syntaxe différente pour un string. Je modifierais l'élaborateur pour reconnaitre les déclarations de forme (_:_ ("bla bla" mon-symbole) Int).
Qu'est-ce que vous en pensez? Simon