Search code examples
fortrangfortran

`Unexpected attribute declaration statement` in data statement


I tried to write some data in Fortran:

   program Problem

    DIMENSION X(8), W(8)
    DATA X /0.0950125098D0, 0.2816035507D0, 0.4580167776D0, 0.6178762444D0
 +         , 0.7554044083D0, 0.8656312023D0, 0.9445750230D0, 0.9894009349D0/
    DATA W /0.1894506104D0, 0.1826034150D0, 0.1691565193D0, 0.1495959888D0
 +        , 0.1246289712D0, 0.0951585116D0, 0.0622535239D0, 0.0271524594D0/

    D = 0.D0
    DO NJ=1,8
      D = D + X(NJ) + W(NJ) 
    ENDDO

    write(*,*) D

   end

But I always get the following error message: Unexpected attribute declaration statement at (1).

Does anybody know why?


Solution

  • As already stated by others you should use the new fortran standard. If you do that you can just remove the "+" you used to indicate a continuation line (should have been in column 6) and instead add an ampersand "&" at the end of the line that should be continued. Then the program compiles and runs. But as X and W are single precision you use too many digits in your data statement. Use implicit none and declare all variables. And get a textbook.