I want a way to represent where in the source code something came from.
FAMIXSourceAnchor looks as if it might be intended for this, but its
only attribute, entity, apparently refers to another FAMIX entity, not
to the source code. But perhaps entity is supposed to be a FAMIXFile or
method source? It doesn't appear that FAMIXSourceAnchor is used, even
though every FAMIXSourcedEntity can have one.
Can anyone provide more info on what FAMIXSourceAnchor is supposed to be
doing? There is no class comment.
Second, every FAMIXSourcedEntity has a comments attribute. This seems a
mixed blessing, since the attachment of comments is often ambiguous.
For example, in SAS one might have
data a;
x=34;
/* a very silly example */
data b;
y=1;
It's unclear whether the comment applies to the data a or data b step.
If you're a parser, it might also apply to 34, x=34, data, or data b.
Third, I'm probably going to need a richer concept of source location.
SAS allows inclusion of other files in the source code (like #include
for C) and also has a macro processor, which may expand out a macro and
discover more macros that it recursively expands.
Comments?
Ross