# File lib/rouge/lexers/fortran.rb, line 21
      def self.keywords
        # Special rules for two-word keywords are defined further down.
        # Note: Fortran allows to omit whitespace between certain keywords.
        @keywords ||= Set.new %w(
          abstract allocatable allocate assign assignment associate asynchronous
          backspace bind block blockdata call case class close codimension
          common concurrent contains contiguous continue critical cycle data
          deallocate deferred dimension do elemental else elseif elsewhere end
          endassociate endblock endblockdata enddo endenum endfile endforall
          endfunction endif endinterface endmodule endprogram endselect
          endsubmodule endsubroutine endtype endwhere endwhile entry enum
          enumerator equivalence exit extends external final flush forall format
          function generic goto if implicit import in include inout inquire
          intent interface intrinsic is lock module namelist non_overridable
          none nopass nullify only open operator optional out parameter pass
          pause pointer print private procedure program protected public pure
          read recursive result return rewind save select selectcase sequence
          stop submodule subroutine target then type unlock use value volatile
          wait where while write
        )
      end