Le 30/10/2015 11:59, stepharo a écrit :
I'm thorn because on one hand I would like to be able to express a
visitor for the complete compilation unit
and in particular package and extensions but may be we do not need to
have this nodes and just
have an object. I would be favor to have a nice and full AST
representation of the compilation unit.
Well, you can unify Ring and RBMethodNode from the point of view of
the visitor: you're not in Java where typing could be an issue.
If you have some cycle I would love to have that unification :)
Yes I know :) and thought about it.
I'll have a look.
Note that I have a structure + visitor for the above AST level
implemented in the AltBrowser (covers groups of groups of packages,
packages, package tags, classes, extensions, protocols, methods,
comments).
Do you have a gofer expression :)
Loading AltBrowser from the ConfigurationBrowser and looking at the
Alt-Browser-Nodes package tag :) A bit unstable to use as Browser on
Pharo5 at the moment, however. I'm in the middle of a browser rewrite.
I looked and I don't have a Visitor on the structure. I know I did that
on purpose, but can't remember what was my rationale.
so that I can load the code because I think that we should have this as
a clearly identifiable component.
I tried to match to Ring at a point, but Ring coverage is partial. My
approach is symbol-based (each node only contains a symbol on the
underlying object and resolve the symbol when needed. resolution can be
dependent on the environment: the node parent).
We may not have to load it always in Pharo but it should be there.
It could simplify Nautilus code a bit.
Stef