def self.keywords
@keywords ||= Set.new %w(
allocatable allocate assignment backspace block blockdata call case
close common contains continue cycle data deallocate default
dimension do elemental else elseif elsewhere end endblockdata enddo
endfile endforall endfunction endif endinterface endmodule endprogram
endselect endsubroutine endtype endwhere entry equivalence exit
external forall format function go goto if implicit in include inout
inquire intent interface intrinsic module namelist none nullify only
open operator optional out parameter pointer print private procedure
program public pure read recursive result return rewind save select
selectcase sequence stop subroutine target then to type use where
while write
)
end