c Ugly fixed form hello world program demonstrates intelligent syntax highlighting
      programasampleprogram
        implicitreal(i)
        if=0.0
        if(sine(if).lt..00001)then                                      Variable if
          print*,'Hello, old-school Fortran!'
        endif
        stop
      c  o  n  t  a  i  n  s
        realfunctionsine(x)
          real,intent(in)::x
          sine=sin(x)
        endfunction
      endprogramasampleprogram