syntax keyword fortranVariableAttribute parameter
syntax keyword fortranVariableAttribute public
syntax keyword fortranVariableAttribute private
syntax keyword fortranVariableAttribute save
syntax keyword fortranVariableAttribute allocatable
syntax keyword fortranVariableAttribute pointer
syntax keyword fortranVariableAttribute target
syntax keyword fortranVariableAttribute intent
syntax keyword fortranVariableAttribute in
syntax keyword fortranVariableAttribute out
syntax keyword fortranVariableAttribute inout
syntax keyword fortranVariableAttribute optional
syntax keyword fortranCall allocate
syntax keyword fortranCall deallocate
syntax keyword fortranCall nullify
syntax keyword fortranType interface
syntax match fortranType /end interface/
syntax keyword fortranUnitHeader pure
syntax match fortranType /^\s*real\%(\s*(\s*.\+\s*)\s*\(::\)\{,1}\s*\a\+\)\@=/
syntax match fortranType /^\s*real\%(\s*(\s*.\+\s*)\s*\(,\s*\a\+\s*\)\+::\s*\a\+\)\@=/
syntax match fortranConstant /\d\+_\d\+/
syntax match Normal /\%(\(\a\|_\)\)\@1<=\d\+_\d\+/
syntax match fortranOperator /\.\a\+\./
syntax match fortranComment /^*>.*/
syntax keyword fortranVariableAttribute extends
syntax keyword fortranVariableAttribute sequence
highlight fortranVariableAttribute ctermfg=169
highlight link fortran90Intrinsic fortranIntrinsic