Thomas Beale schreef:
Hi
I reported last week, I was missing an Eiffel class which was referenced
from (a maybe never referenced) class ADL_EXPR_CONSTRAINT
Now I am missing a referenced class which is inherited from, the child
is C_DATE_TIME, the missing parent is ADL_DEFINITIONS, it is used a
perent at more locations, f.e. C_DURATION
Maybe it is not important, or maybe I just don't find those classes
Bert, which application were you trying to build?
Please excuse me, I forgot.
I build applications for understanding the sourcecode, see my post in
the implementorlist, I understand classes best when I see them in
interaction.
And sometimes I read sourcecode, and the EiffelStudio is very handy, but
it has a shortcoming.
It is only possible to navigate (jump) throught the code if it is compiled.
Classes which are not compiled inside a project, because they are not
referenced (the appear as grey, instead of blue in the Studio), one
cannot navigate through. But classes which are not referenced in a
certatain application, does not mean, these classes are there for no
reasons. maybe when the framework is used in another application, these
classes will be compiled.
This is clearily a shortcoming of EiffelStudio, I had many times a
problem with that, also when buidling a set of classes, I always had to
make a dummy reference to make features of the IDE for that class work.
So I study the Eiffel code, you told me, you used Eiffel as a kind of
case-tool, and I think, it is very suitable for this purpose, though not
perfect (see above, why), (but nothing is perfect).
Thus, because it is a case-tool, I read classes which are not
referenced, because I cannot judge if they will never be referenced,
they exist, don't they.
And then I come to a class which does inherit from a class which does
not exist, and that was my question about.
The problem is that I work in the TRUNK, I should work in a TAG which
ought to be stable. The TRUNK does not need to be stable, and things can
change. It is a pity that there is no TAG for Eiffel.
So if you find a question from me from a week ago about a certain Eiffel
class, missing in the TRUNK, I learned to live without that knowledge.
I found the class ADL_DEFINITIONS somewhere else (in
components/adl_parser/src/interface).
Hi Thomas, I guess you are the one to address for these issues
Just like the java-sources, I am getting lost in the Eiffel sources.
First Question,
there are three branches, I do not understand their purpose
ADL2
dotnet
java_adl
Can you point me to a location where this is explained? The
project_page.htm's look to me the same.
we are not using the branches at the moment - they were created for
specific purposes. The ADL2 one might go back into action later. All the
current work is on the TRUNK.
This good to know, it takes away uncertainty.
Second Question,
I compiled the project from TRUNK/libraries/openehr/test/app amd
discoverd that a file ADL_DEFINITIONS is missing, I found it somewhere
I don't understand that - ADL_DEFINITIONS is not used by that
application at all.
under components, but it made me doubt. Is that the same file, is it the
good version, why isn't it in somewhere in a position where a project
referencing this file can find it?
Third Question
Is the TRUNK the best tree to follow?
this is where all the work is occurring right now...
Fourth Question
Am I the only one with questions like this, and how does thjat come, do
you think
a few things you have asked are to do with being new(ish) to Eiffel I
suspect, but some are due to only myself current working on the Eiffel
project so far - I wouldn't guarantee that the directory structures are
completely perfect yet. We are just getting into serious software
building now, as the specification work becomes less
time-consuming...but questions are no problem. As we find problems, we
can fix them quickly.
That is possible, I am new to Eiffel, but Eiffel is a very easy
environment, too bad it is not recognized more.
The first steps are difficult, different then other environments, one
does need to read the getting started guide.
Too bad there are not more people reading your Eiffelcode, and are
involved at that level.
One problem I would like to fix is the makefiles. At the moment I used
really dumb makefiles because I wasn't able to make microsoft nmake work
properly with unix-style makefiles. But maybe one of you can show how to
do it...
Why should you want to make makefiles, it is to build applications, but
you always said, Eiffel is a case tool, building the application is only
something to proof the concept.
In my concept, Eiffel is not too good for building applications, people
at Eiffel think so to. they translate the code to C, and now also to CLI.
There should be more translators to Java, C#, intelligent translators
which handle the multiple inheritance (perhaps by using interfaces?) and
the invariants , the DbC
But they will never come, the Eiffel community is too small I am afraid.
We are stuck on doing this by hand. (Ocean does, Acode does)
(It wouldn't be too hard, perhaps a project for making money, there are
examples, there are open source eiffel compilers, one can learn how to
build C-code, so there must be enough knowledge in that to do the same
for java and C# (only fantasy, life is too short))