Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

compiler error #5082!unbelievable!

milenko1976
Beginner
337 Views
Actually I have changed just a few lines in code,which I have compiled without any problems.But know I get:
indat.f(84): error #5082: Syntax error, found '=' when expecting one of: ( * ) :: , ; + . - % (/ [ : ] /) . ** / // ...
/ (lderivp(idrpar,iaa(rcc(i))),idrpar=1,6)
--------------------------------------------------^
indat.f(84): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: )
/ (lderivp(idrpar,iaa(rcc(i))),idrpar=1,6)
--------------------------------------------------------^

Why?
I haven't change this part of code.
0 Kudos
4 Replies
Kevin_D_Intel
Employee
337 Views

Appears lines upstream from line 84 may be the catalyst even though they may not have been flagged. More details or a reproducing example are needed. The partial statement looks valid and (using fabricated types for your variables) compiles with 11.1 update 6.

0 Kudos
milenko1976
Beginner
337 Views
Thanks Kevin.I am attaching my file it would be great if you look at it.
c ==================================================================
subroutine indat
c ==================================================================
c-------------------------------------------------------------------
c
implicit none
c

include 'd2.dat'

character radek*80,rad80*(nmax-1)
integer*4 i,j,k,idrpar
integer*4 icharirg
integer*1 iaa
c--------------------------------------------------------------------
read(5,'(a80)')radek
do 50 i=1,80
if(ichar(radek(i:i)).ge.97.and.ichar(radek(i:i)).le.122)
& radek(i:i)=char(ichar(radek(i:i))-32)
50 continue
c ---------------------------------------------------------
c if 'new' is found in the first line, more general input
c file structure is used (any character in the conductivity
c map is allowed then)
c ---------------------------------------------------------
inewformat=index(radek,'NEW')
c -------------------------------------
c > input - read number of periods (i5)
c -------------------------------------
if(inewformat.gt.0)then
inewformat=1
read(5,1011)nper
else
inewformat=0
read(radek(1:5),1011)nper
endif
1011 format(i5)
c ------------------------------------------
c > input - read periods in seconds (5f10.2)
c ------------------------------------------
read(5,1010)(pero(i),i=1,nper)
1010 format(5f10.2)
c
do i=1,ncmax
lan(i)=-1
lderiv(i)=-1
enddo
c
read(5,1000)n,m,md
1000 format(3i5)
n1=n-1
m1=m-1
c
read(5,1001)(sy(j),j=1,n1)
read(5,1001)(sz(k),k=1,m1)
1001 format(10f5.2)

c
do 1 k=1,m1
c-----------------------------------------------------------------------
c possible symbols for conductivity map:
c 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 =ncmax
c 1 2 3 4 5 6 7 8 9 : ; < = > ? @ a b c d
c-----------------------------------------------------------------------
read(5,1005)modmap(k)
1005 format((a))
1 continue
c
read(5,1003)nro
1003 format(i5)
c
do 2 i=1,nro
if(inewformat.eq.0)then
read(5,1004)lan(i),ron(i,1),ron(i,2),ron(i,3),
/ ustr(i),udip(i),u3(i),(lderivp(idrpar,i),
/ idrpar=1,6)
rcc(i)=char(i+48)
1004 format(i5,6f10.2,6i2)
else if(inewformat.eq.1)then
read(5,1007)rcc(i),lan(iaa(rcc(i))),
/ ron(iaa(rcc(i),1),ron(iaa(rcc(i),2),
/ ron(iaa(rcc(i),3),ustr(iaa(rcc(i))),
/ udip(iaa(rcc(i))),u3(iaa(rcc(i))),
/ (lderivp(idrpar,iaa(rcc(i))), idrpar=1,6)
1007 format(a1,i4,6f10.2,6i2)
endif
2 continue

c -------------------------------
c read special points of interest
c -------------------------------
read(5,'(i5)')npointerest
if(npointerest.ne.0)then
read(5,'(f10.2)')adarot
read(5,'(5(2x,a3))')(pint(i),i=1,npointerest)
else
npointerest=n
adarot=0.d0
do i=1,npointerest
write(pint(i),'(i3)')i
if(i.le.9)then
pint(i)(1:2)='00'
else if(i.gt.9.and.i.le.99)then
pint(i)(1:1)='0'
endif
enddo
endif
c ----------------------------------------------------------
c read type of sensitivity computations-direct or reciproc
c ----------------------------------------------------------
read(5,'(i5)')ircpr

end

c



0 Kudos
Kevin_D_Intel
Employee
337 Views

The declared type for ron is unknown without having your d2.dat, but it looks like you need to double-check the highlightedreferences in the read statement below to ron to make sure the subscripts are correct.

It appears perhaps there are missing closing parenthesis after the rcc(i) uses.

read(5,1007)rcc(i),lan(iaa(rcc(i))),
/ ron(iaa(rcc(i),1),ron(iaa(rcc(i),2),
/ ron(iaa(rcc(i),3),ustr(iaa(rcc(i))),
/ udip(iaa(rcc(i))),u3(iaa(rcc(i))),
/ (lderivp(idrpar,iaa(rcc(i))), idrpar=1,6)

0 Kudos
mecej4
Honored Contributor III
337 Views
We still have not seen the relevant contents of file 'd2.dat'.

And, when you post code, please post it using the tools provided (Insert code using syntax highlighter button, use Fortran free or fixed format, as appropriate).

When fixed format code is posted in line, it is too much to expect others to add the missing blanks, fix up the indentation for clarity, etc.
0 Kudos
Reply