List of main corrections made in octave during 2000/11/20 - 2000/12/12:

Major corrections and changes were made to insure
that unparsed source code is correct and the outputs
of the compiled unparsed source code and of the original one
are the same.

New version of Octave, MARS and Transformation Server
will not be used probably in MHAOTEU project
because of compatibility/stability issues.

Next f77 application were used for testing:

SPEC CPU2000 FP:
 168.wupwise
 171.swim
 172.mgrid
 173.applu
 200.sixtrack
 301.apsi

SPEC CPU95 FP:
 101.tomcatv
 102.swim
 103.su2cor
 104.hydro2d
 107.mgrid
 110.applu
 125.turb3d
 141.apsi
 145.fpppp
 146.wave5

FLU3M

Gauge

Linpack Single
Linpack Double

Livermore Single
Livermore Double

LUD Single
LUD Double

Polyhedron Benchmark:
 AC
 ADI
 AIR
 DODUC
 LM8
 MDB
 MOLENRGY
 PI
 RO
 SM4
 RFFT
 WH4

01) Declarations of variables are now on local level.

    Problem was if we used declaration of the variable
    which name was previously used as a block name
    in 'common' declaration.

02) If there is no 'program' statement and 'implicit none'
    is used, it is now correctly positioned in unparsed
    source code.

03) Previously after 'DO WHILE' we could not use
    reserved keywords as names of variables.
    Now fixed.

04) If there is a 'save' statement we don't unparse it 
    as a 'save all' statement now.

    This problem was in Sixtrack (SPEC).

05) Previously if there was a declaration such as 'character x(10)*8'
    followed by 'common /x/ a,b,c', there was no '*8' in unparsed 
    source code. Now fixed.

06) Previously if the size of the consequtive comments exceeded buffer size
    octave crashed. Now we just ignore the remaining comments.
    Now temporary fixed.

07) If there is no 'program' statement -> scope updates correctly now.

08) If there is an intrinsic function name in 'call' statement 
    instead of name of subroutine, octave doesn't crash now, 
    but gives an error instead.

09) Now we deal with brackets in expressions correctly 
    The problem was that octave eliminated many brackets
    incorrectly, so now we just don't eliminate them.

10) Now octave removes '\r' from stream to cope with source files
    prepared on Windows/DOS platforms.

11) Now octave can deal with constructions such as 
    dimension x(10,10)
    real x

12) If there is a string ending in a position more then 72
    we transfer it to a new line correctly now.

13) Intrinsic DCONJG added now.
    Problem was with Wupwise (SPEC).

14) If there is some text after 72 position in original source code
    we ignore it now.

15) Declaration of function such as 'func(i,j)=i+j' is on local level now.

16) Now we cope with declarations of functions with non-standard types
    such as 'real*8 function func(x,y)'

17) Now we cope with construction 'assign <label> to <variable>'

18) Token 'to' as an extension of Convex Fortran is disabled now.

19) One Line buffer size is changed from 72 to 72+8
    otherwise problem in wupwise (spec)

20) Previously if there was a definition of variable with non-standard type
    and the name of the variable started with 'b', octave crashed.
    Now fixed.

    Problem was in su2cor (SPEC).

21) Now we cope with definition of functions of 'double precision' type.

22) Now we can use intrinsic functions in a name of common block
    (although sounds a little bit weird).

23) Now we can deal with 'pause'.

24) If there is a '!' in 'format' statement we deal with it correcly.
