title: Syntax error, found .and. and .or.
body: <p>I just wanted to modify a small part of a very old program and I can't for the life of me figure out what I've done to anger the Fortran gods.</p>
  
  <p>The original code has the following line:</p>
  
  <pre><code>  if (r.gt.rstep) xappad = xappad*fakm
  </code></pre>
  
  <p>which I have modified to:</p>
  
  <pre><code>  if (r.gt.0.58*rstep .and. r.lt.1.42*rstep) .or. (r.gt.2.08*rstep 
   : .and. r.lt.2.92*rstep) xappad = xappad*fakm
  </code></pre>
  
  <p>Which gives me the errors:</p>
  
  <blockquote>
    <p>sp-co-2-MODIFIED.for(785): error #5082: Syntax error, found '.OR.'
    when expecting one of: BLOCK BLOCKDATA PROGRAM MODULE TYPE COMPLEX
    BYTE CHARACTER DOUBLE DOUBLECOMPLEX ...</p>
  </blockquote>
  
  <pre><code>      if (r.gt.0.58*rstep .and. r.lt.1.42*rstep) .or. (r.gt.2.08*rstep 
  -------------------------------------------------------------------------^
  </code></pre>
  
  <p>sp-co-2-MODIFIED.for(786): error #6090: An array-valued operand is required in this context.</p>
  
  <pre><code>     : .and. r.lt.2.92*rstep) xappad = xappad*fakm
  ------^
  </code></pre>
  
  <blockquote>
    <p>sp-co-2-MODIFIED.for(786): error #6087: An array assignment statement
    is required in this context.</p>
  </blockquote>
  
  <pre><code>     : .and. r.lt.2.92*rstep) xappad = xappad*fakm
  -------------------------------------------^
  </code></pre>