title: What's wrong with this Pascal syntax?
body: <p>I can't understand what's going on here. Can you give me a hand? This is the problematic code:</p>
  
  <pre><code>While not EOF(Archi) do begin
    index:= index + 1;
    Read(Archi, Alumno[index]);
    Promes[index] := (Alumno[index].nota1 + Alumno[index].nota2) / 2;
    if Promes[index] &gt;= 6 then begin
       alguPromo := true;
       PromosIndex := PromosIndex + 1;
       Promos[PromosIndex]:= Alumno[index];
    end;
    else begin
         if Promes[index] &gt; 4 then cantiRecu:= cantiRecu + 1;
         else begin
              LibresIndex += 1;
              Libres[LibresIndex] := Alumno[index];
              end;
    end;
  end;
  </code></pre>
  
  <p>The compiler marks error in the line 10 of this code (else begin). The error is:
      Fatal: Syntax error, ; expected but ELSE found.</p>
  
  <p>If someone wants to tray compile here is the entire code: <a href="http://pastebin.com/dRg1Lguu" rel="nofollow">http://pastebin.com/dRg1Lguu</a></p>