Damir, There are increasing number of message that CINT does not catch C++ syntax error. First, I need to clarify following. Basically, you should not expect CINT to catch some beginner errors. CINT is never meant to be a syntax checker. A lot of compromises had to be made in order to use C++ as a scripting language. It is possible to add more checking, however, it is not all good. You might lose some good part of CINT. >I'm, among other things, using ROOT for our students to learn some basic >numerical analysis methods. >Of course, these students often do stupid errors (that never happens to >us, of course...) and this is a good benchmarking for CINT/ROOT stability. Stability is another issue. 1) CINT is not checking strictly 2) C/C++ syntax does not provide (or allow) robust environment 3) In ROOT/CINT, script interpreter and data processing engine resides in same process. If we split the application into Client/Server configuration, it can be more robust. However, you will lose benefit of OO. Major part of the problem comes from the fact that "you have choosen C++ and OO". No matter what the tool environment will be, you will live in a fragile world. This is a logical consequence. >My question is : why doesn't CINT catch this obvious error : > >{ > float t=1.; > float dt=0.3; > t=t-2dt; // missing * >} I can add check for this error. But, there remains many other errors that CINT will not catch. Masaharu Goto
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:30 MET