RE:CINT doesn't see syntactic error

From: Masaharu Goto (MXJ02154@nifty.ne.jp)
Date: Fri Mar 05 1999 - 14:30:40 MET


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