1 jones 1.1 subroutine me_db_read_parse (line, line_number)
2
3 implicit none
4
5 include 'db.inc'
6
7 character*(*) line ! line buffer
8 integer line_number ! line # into file
9
10 integer final_index ! index of final variable
11 record /element/ me ! ME values
12 integer i ! index element
13 integer order ! order of initial ME
14 integer indices(MAX_ORDER) ! variable indices
15
16 integer lnblnk ! last non-blank char
17
18 do i = 1, len(line) ! first change tabs to blanks
19 if (line(i:i) .eq. ' ') then
20 line(i:i) = ' '
21 endif
22 jones 1.1 enddo
23
24 * Now try and parse the line
25
26 if (line(1:1) .ne. '<') return ! not a matrix element line
27 call me_parse_name(line,final_index,order,indices,line_number)
28 if (order .eq. -1) return
29
30 read (line(index(line,'>')+1:lnblnk(line)), *, err=1000,end=1000)
31 > me.value, me.error, me.lower, me.upper
32
33 *
34 * Now store the values we have read into the proper location
35 *
36 call me_db_replace(ofp_targ(final_index), me,
37 > line_number, order, indices)
38
39 return
40
41 1000 continue
42 write (*,*) ' Error while parsing line number ', line_number
43 jones 1.1 write (*,*) line
44 end
|