No compila. El end of File es solamente EOF, no 'EOF'. El primer if dentro del while esta de más.