Module CoIdentSource
COMPILATION/EXPANSION : idents et retour au source
------------------------------------------------------------
Identificateurs et remontée au source
C'est un peu du luxe, mais on distingue :
- les ident source, Syntaxe.ident (sous-entendu avec src_info, donc UNIQUES),
- les ident target (de simple string, mais uniques par construction).
N.B. ça a beau être de simple string, on en fait quand même un type abstrait, au cas où ...
----------------------------------------------------------
remet le module a zero ...
Ident dans target, unique par nommage
Sourceval list_to_string : t list -> string -> string L'unicité des idents target est garantie par la fonction suivante, qui prend un préfixe en paramètre
Si on est sûr qu'il n'y aurra pas de problème, on peut forcer un nom
Sourceval from_string : string -> t Si le nom doit rester tel quel
REMONTÉE AU SOURCE DANS LE PROGRAMME EXPANSÉ
Remontée au source d'un "target" depuis le code expansé
Remontée au source d'un scope depuis le code expansé
Avec un scope_stack et une instance de Syntaxe.ident, on fabrique un src_stack complet