632 |
"Regexp matching the end of a TYPE, INTERFACE, BLOCK DATA section.") |
"Regexp matching the end of a TYPE, INTERFACE, BLOCK DATA section.") |
633 |
|
|
634 |
(defconst f90-type-def-re |
(defconst f90-type-def-re |
635 |
"\\<\\(type\\)\\([^(\n]*\\)\\(::\\)?[ \t]*\\b\\(\\sw+\\)" |
"\\<\\(type\\)[ \t]+\\(\\sw+\\)\\>" |
636 |
"Regexp matching the declaration of a variable of derived type.") |
"Regexp matching the definition of a derived type.") |
637 |
|
|
638 |
(defconst f90-no-break-re |
(defconst f90-no-break-re |
639 |
(regexp-opt '("**" "//" "=>") 'paren) |
(regexp-opt '("**" "//" "=>") 'paren) |
977 |
NAME is non-nil only for type." |
NAME is non-nil only for type." |
978 |
(cond |
(cond |
979 |
((looking-at f90-type-def-re) |
((looking-at f90-type-def-re) |
980 |
(list (match-string 1) (match-string 4))) |
(list (match-string 1) (match-string 2))) |
981 |
((looking-at "\\(interface\\|block[\t]*data\\)\\>") |
((looking-at "\\(interface\\|block[\t]*data\\)\\>") |
982 |
(list (match-string 1) nil)))) |
(list (match-string 1) nil)))) |
983 |
|
|