%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/progmodes/ |
Current File : //usr/local/share/emacs/27.2/lisp/progmodes/f90.elc |
;ELC ;;; Compiled ;;; in Emacs version 27.2 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301\302\303\304\305\306\307&\210\300\310\302\311\312\313\306\301&\210\314\315\316\317\320DD\321\322\323\324\325\306\310& \210\314\326\316\317\327DD\330\322\323\324\325\306\310& \210\314\331\316\317\332DD\333\322\323\324\325\306\310& \210\314\334\316\317\335DD\336\322\323\324\325\306\310& \210\314\337\316\317\340DD\341\322\323\324\325\306\310\342\343&\210\314\344\316\317\345DD\346\322\323\324\325\306\310\342\347&\210\314\350\316\317\351DD\352\322\323\324\325\306\310& \210\314\353\316\317\354DD\355\322\356\324\357\306\310& \210\314\360\316\317\361DD\362\322\363\324\357\306\310& \210\314\364\316\317\365DD\366\322\363\324\357\306\310& \210\314\367\316\317\370DD\371\322\372\324\373\306\301& \210\314\374\316\317\375DD\376\322\377\324\201@ \306\301& \210\314\201A \316\317\201B DD\201C \322\372\324\373\306\301\342\201D &\210\314\201E \316\317\201F DD\201G \322\363\324\357\306\301& \210\314\201H \316\317\201I DD\201J \322\372\324\373\306\301& \210\314\201K \316\317\201L DD\201M \322\201N \324\201O \306\301& \210\314\201P \316\317\201Q DD\201R \322\372\324\373\306\301& \210\314\201S \316\317\201T DD\201U \322\201V \324\201W \201X \201Y \306\301&\207" [custom-declare-group f90 nil "Major mode for editing free format Fortran 90,95 code." :link (custom-group-link :tag "Font Lock Faces group" font-lock-faces) :group languages f90-indent "Indentation in free format Fortran." :prefix "f90-" custom-declare-variable f90-do-indent funcall function #[0 "\300\207" [3] 1] "Extra indentation applied to DO blocks." :type integer :safe integerp f90-if-indent #[0 "\300\207" [3] 1] "Extra indentation applied to IF, SELECT CASE, WHERE and FORALL blocks." f90-type-indent #[0 "\300\207" [3] 1] "Extra indentation applied to TYPE, ENUM, INTERFACE and BLOCK DATA blocks." f90-program-indent #[0 "\300\207" [2] 1] "Extra indentation applied to PROGRAM, MODULE, SUBROUTINE, FUNCTION blocks." f90-associate-indent #[0 "\300\207" [2] 1] "Extra indentation applied to ASSOCIATE blocks." :version "23.1" f90-critical-indent #[0 "\300\207" [2] 1] "Extra indentation applied to BLOCK, CRITICAL blocks." "24.1" f90-continuation-indent #[0 "\300\207" [5] 1] "Extra indentation applied to continuation lines." f90-comment-region #[0 "\300\207" [#1="!!$"] 1 #1#] "String inserted by \\[f90-comment-region] at start of each line in region." string stringp f90-indented-comment-re #[0 "\300\207" [#2="!"] 1 #2#] "Regexp matching comments to indent as code." regexp f90-directive-comment-re #[0 "\300\207" [#3="!hpf\\$"] 1 #3#] "Regexp of comment-like directive like \"!HPF\\\\$\", not to be indented." f90-beginning-ampersand #[0 "\300\207" [t] 1] "Non-nil gives automatic insertion of `&' at start of continuation line." boolean booleanp f90-smart-end #[0 "\300\207" [blink] 1] "Qualification of END statements according to the matching block start.\nFor example, change the END that closes an IF block to END IF.\nIf the block has a label, add it as well (unless `f90-smart-end-names'\nsays not to). Allowed values are `blink', `no-blink', and nil. If nil,\nnothing is done. The other two settings have the same effect, but `blink'\nadditionally blinks the cursor to the start of the block." (choice (const blink) (const no-blink) (const nil)) #[257 "\211\300>\207" [(blink no-blink nil)] 3 "\n\n(fn VALUE)"] f90-smart-end-names #[0 "\300\207" [t] 1] "Whether completion of END statements should insert optional block names.\nFor example, when closing a \"PROGRAM PROGNAME\" block, \"PROGNAME\" is\noptional in the \"END PROGRAM\" statement. The same is true for modules,\nfunctions, subroutines, and types. Some people prefer to omit the name\nfrom the END statement, since it makes it easier to change the name.\n\nThis does not apply to named DO, IF, etc. blocks. If such blocks\nstart with a label, they must end with one.\n\nIf an end statement has a name that does not match the start, it is always\ncorrected, regardless of the value of this variable." "24.4" f90-break-delimiters #[0 "\300\207" [#4="[-+\\*/><=,% ]"] 1 #4#] "Regexp matching delimiter characters at which lines may be broken.\nThere are some common two-character tokens where one or more of\nthe members matches this regexp. Although Fortran allows breaks\nwithin lexical tokens (provided the next line has a beginning ampersand),\nthe constant `f90-no-break-re' ensures that such tokens are not split." f90-break-before-delimiters #[0 "\300\207" [t] 1] "Non-nil causes `f90-do-auto-fill' to break lines before delimiters." f90-auto-keyword-case #[0 "\300\207" [nil] 1] "Automatic case conversion of keywords.\nThe options are `downcase-word', `upcase-word', `capitalize-word' and nil." (choice (const downcase-word) (const upcase-word) (const capitalize-word) (const nil)) #[257 "\211\300>\207" [(downcase-word capitalize-word upcase-word nil)] 3 "\n\n(fn VALUE)"] f90-leave-line-no #[0 "\300\207" [nil] 1] "If non-nil, line numbers are not left justified." f90-mode-hook #[0 "\300\207" [nil] 1] "Hook run when entering F90 mode." hook #[257 "\211\300\235\207" [((f90-add-imenu-menu) nil)] 3 "\n\n(fn VALUE)"] :options (f90-add-imenu-menu)] 12) #@52 Regexp used by the function `f90-change-keywords'. (defconst f90-keywords-re "\\_<\\(?:a\\(?:bstract\\|llocat\\(?:\\(?:abl\\)?e\\)\\|s\\(?:s\\(?:ign\\(?:ment\\)?\\|ociate\\)\\|ynchronous\\)\\)\\|b\\(?:ackspace\\|ind\\|lock\\)\\|c\\(?:a\\(?:ll\\|se\\)\\|haracter\\|l\\(?:ass\\|ose\\)\\|o\\(?:dimension\\|m\\(?:mon\\|plex\\)\\|n\\(?:current\\|t\\(?:ains\\|i\\(?:guous\\|nue\\)\\)\\)\\)\\|ritical\\|ycle\\)\\|d\\(?:ata\\|e\\(?:allocate\\|ferred\\)\\|imension\\|o\\(?:uble\\)?\\)\\|e\\(?:l\\(?:emental\\|se\\(?:if\\|where\\)?\\)\\|n\\(?:d\\(?:do\\|file\\|if\\)?\\|try\\|um\\(?:erator\\)?\\)\\|quivalence\\|rror stop\\|x\\(?:it\\|te\\(?:nds\\(?:_type_of\\)?\\|rnal\\)\\)\\)\\|f\\(?:inal\\|or\\(?:all\\|mat\\)\\|unction\\)\\|g\\(?:eneric\\|oto\\)\\|i\\(?:f\\|m\\(?:age_index\\|p\\(?:\\(?:lici\\|or\\)t\\)\\)\\|n\\(?:clude\\|quire\\|t\\(?:e\\(?:ger\\|nt\\|rface\\)\\|rinsic\\)\\)\\)\\|logical\\|module\\|n\\(?:amelist\\|o\\(?:n\\(?:_\\(?:intrinsic\\|overridable\\)\\|e\\)\\|pass\\)\\|ullify\\)\\|o\\(?:nly\\|p\\(?:e\\(?:n\\|rator\\)\\|tional\\)\\)\\|p\\(?:a\\(?:rameter\\|ss\\|use\\)\\|ointer\\|r\\(?:ecision\\|i\\(?:nt\\|vate\\)\\|o\\(?:cedure\\|gram\\|tected\\)\\)\\|u\\(?:blic\\|re\\)\\)\\|re\\(?:a[dl]\\|cursive\\|sult\\|turn\\|wind\\)\\|s\\(?:a\\(?:me_type_as\\|ve\\)\\|e\\(?:lect\\|quence\\)\\|top\\|ub\\(?:\\(?:modul\\|routin\\)e\\)\\|ync \\(?:all\\|memory\\)\\)\\|t\\(?:arget\\|hen\\|ype\\)\\|\\(?:us\\|v\\(?:alu\\|olatil\\)\\|w\\(?:h\\(?:er\\|il\\)\\|rit\\)\\)e\\)\\_>" (#$ . 5544)) #@42 Keyword-regexp for font-lock level >= 3. (defconst f90-keywords-level-3-re "\\_<\\(?:a\\(?:bstract\\|llocat\\(?:\\(?:abl\\)?e\\)\\|ssign\\(?:ment\\)?\\)\\|backspace\\|c\\(?:lose\\|o\\(?:dimension\\|n\\(?:current\\|tiguous\\)\\)\\)\\|d\\(?:e\\(?:allocate\\|ferred\\)\\|imension\\)\\|e\\(?:lemental\\|n\\(?:dfile\\|try\\)\\|quivalence\\|xternal\\)\\|final\\|i\\(?:mport\\|n\\(?:quire\\|t\\(?:ent\\|rinsic\\)\\)\\)\\|n\\(?:o\\(?:n_\\(?:intrinsic\\|overridable\\)\\|pass\\)\\|ullify\\)\\|o\\(?:nly\\|p\\(?:e\\(?:n\\|rator\\)\\|tional\\)\\)\\|p\\(?:a\\(?:rameter\\|ss\\|use\\)\\|ointer\\|r\\(?:i\\(?:nt\\|vate\\)\\|otected\\)\\|u\\(?:blic\\|re\\)\\)\\|re\\(?:ad\\|cursive\\|sult\\|wind\\)\\|s\\(?:ave\\|e\\(?:lect\\|quence\\)\\|ync \\(?:all\\|memory\\)\\)\\|target\\|\\(?:v\\(?:alu\\|olatil\\)\\|writ\\)e\\)\\_>" (#$ . 7035)) #@59 Regexp whose first part matches F90 intrinsic procedures. (defconst f90-procedures-re "\\_<\\(a\\(?:bs\\|c\\(?:har\\|osh?\\)\\|djust[lr]\\|i\\(?:mag\\|nt\\)\\|ll\\(?:ocated\\)?\\|n\\(?:int\\|y\\)\\|s\\(?:inh?\\|sociated\\)\\|t\\(?:an[2h]?\\|omic_\\(?:define\\|ref\\)\\)\\)\\|b\\(?:essel_\\(?:j[01n]\\|y[01n]\\)\\|g[et]\\|i\\(?:nd\\|t_size\\)\\|l[et]\\|test\\)\\|c\\(?:_\\(?:associated\\|f\\(?:_p\\(?:\\(?:rocp\\)?ointer\\)\\|unloc\\)\\|loc\\|sizeof\\)\\|eiling\\|har\\|mplx\\|o\\(?:m\\(?:mand_argument_count\\|piler_\\(?:options\\|version\\)\\)\\|njg\\|sh?\\|unt\\)\\|pu_time\\|shift\\)\\|d\\(?:ate_and_time\\|ble\\|i\\(?:gits\\|m\\)\\|ot_product\\|prod\\|shift[lr]\\)\\|e\\(?:oshift\\|psilon\\|rf\\(?:c\\(?:_scaled\\)?\\)?\\|x\\(?:ecute_command_line\\|p\\(?:onent\\)?\\|tends\\(?:_type_of\\)?\\)\\)\\|f\\(?:indloc\\|l\\(?:oor\\|ush\\)\\|raction\\)\\|g\\(?:amma\\|et_\\(?:command\\(?:_argument\\)?\\|environment_variable\\)\\)\\|h\\(?:uge\\|ypot\\)\\|i\\(?:a\\(?:char\\|ll\\|n[dy]\\)\\|b\\(?:clr\\|its\\|set\\)\\|char\\|e\\(?:ee_\\(?:get_underflow_mode\\|s\\(?:et_underflow_mode\\|upport_underflow_control\\)\\)\\|or\\)\\|mage_index\\|n\\(?:dex\\|t\\)\\|or\\|parity\\|s\\(?:_contiguous\\|hftc?\\)\\)\\|kind\\|l\\(?:bound\\|cobound\\|e\\(?:adz\\|n\\(?:_trim\\)?\\)\\|g[et]\\|l[et]\\|o\\(?:ck\\|g\\(?:10\\|_gamma\\|ical\\)?\\)\\)\\|m\\(?:a\\(?:sk[lr]\\|tmul\\|x\\(?:exponent\\|loc\\|val\\)?\\)\\|erge\\(?:_bits\\)?\\|in\\(?:exponent\\|loc\\|val\\)?\\|o\\(?:d\\(?:ulo\\)?\\|ve_alloc\\)\\|vbits\\)\\|n\\(?:e\\(?:arest\\|w_line\\)\\|int\\|o\\(?:rm2\\|t\\)\\|u\\(?:ll\\|m_images\\)\\)\\|p\\(?:a\\(?:ck\\|rity\\)\\|op\\(?:cnt\\|par\\)\\|r\\(?:e\\(?:cision\\|sent\\)\\|oduct\\)\\)\\|r\\(?:a\\(?:dix\\|n\\(?:dom_\\(?:number\\|seed\\)\\|ge\\)\\)\\|e\\(?:peat\\|shape\\)\\|rspacing\\)\\|s\\(?:ame_type_as\\|ca\\(?:le\\|n\\)\\|e\\(?:lected_\\(?:\\(?:char\\|int\\|real\\)_kind\\)\\|t_exponent\\)\\|h\\(?:ape\\|ift[alr]\\)\\|i\\(?:gn\\|nh?\\|ze\\)\\|p\\(?:acing\\|read\\)\\|qrt\\|torage_size\\|um\\|y\\(?:nc images\\|stem_clock\\)\\)\\|t\\(?:anh?\\|his_image\\|iny\\|r\\(?:a\\(?:ilz\\|ns\\(?:fer\\|pose\\)\\)\\|im\\)\\)\\|u\\(?:bound\\|cobound\\|n\\(?:\\(?:lo\\|pa\\)ck\\)\\)\\|verify\\|wait\\)[ ]*(" (#$ . 7862)) #@38 Regexp matching intrinsic operators. (defconst f90-operators-re "\\.\\(and\\|eqv?\\|false\\|g[et]\\|l[et]\\|n\\(?:e\\(?:qv\\)?\\|ot\\)\\|or\\|true\\)\\." (#$ . 10069)) #@57 Regexp for all HPF keywords, procedures and directives. (defconst f90-hpf-keywords-re "\\_<\\(?:a\\(?:l\\(?:ign\\|l_\\(?:prefix\\|s\\(?:catter\\|uffix\\)\\)\\)\\|ny_\\(?:prefix\\|s\\(?:catter\\|uffix\\)\\)\\)\\|block\\|c\\(?:o\\(?:py_\\(?:prefix\\|s\\(?:catter\\|uffix\\)\\)\\|unt_\\(?:prefix\\|s\\(?:catter\\|uffix\\)\\)\\)\\|yclic\\)\\|d\\(?:istribute\\|ynamic\\)\\|extrinsic\\|grade_\\(?:down\\|up\\)\\|hpf_\\(?:alignment\\|distribution\\|template\\)\\|i\\(?:a\\(?:ll\\(?:_\\(?:prefix\\|s\\(?:catter\\|uffix\\)\\)\\)?\\|ny\\(?:_\\(?:prefix\\|s\\(?:catter\\|uffix\\)\\)\\)?\\)\\|len\\|n\\(?:\\(?:dependen\\|heri\\)t\\)\\|parity\\(?:_\\(?:prefix\\|s\\(?:catter\\|uffix\\)\\)\\)?\\)\\|leadz\\|m\\(?:axval_\\(?:prefix\\|s\\(?:catter\\|uffix\\)\\)\\|inval_\\(?:prefix\\|s\\(?:catter\\|uffix\\)\\)\\)\\|n\\(?:ew\\|umber_of_processors\\)\\|onto\\|p\\(?:arity\\(?:_\\(?:prefix\\|s\\(?:catter\\|uffix\\)\\)\\)?\\|op\\(?:cnt\\|par\\)\\|ro\\(?:cessors\\(?:_shape\\)?\\|duct_\\(?:prefix\\|s\\(?:catter\\|uffix\\)\\)\\)\\|ure\\)\\|re\\(?:align\\|distribute\\)\\|sum_\\(?:prefix\\|s\\(?:catter\\|uffix\\)\\)\\|template\\|with\\)\\_>" (#$ . 10243)) #@41 Regexp for Fortran intrinsic constants. (defconst f90-constants-re "\\_<\\(?:atomic_\\(?:\\(?:int\\|logical\\)_kind\\)\\|c\\(?:_\\(?:alert\\|b\\(?:ackspace\\|ool\\)\\|c\\(?:arriage_return\\|har\\)\\|double\\(?:_complex\\)?\\|f\\(?:loat\\(?:_complex\\)?\\|orm_feed\\|unptr\\)\\|horizontal_tab\\|int\\(?:\\(?:16\\|32\\|64\\|8\\|_\\(?:fast\\(?:16\\|32\\|64\\|8\\)\\|least\\(?:16\\|32\\|64\\|8\\)\\)\\|max\\|ptr\\)_t\\)?\\|long\\(?:_\\(?:double\\(?:_complex\\)?\\|long\\)\\)?\\|n\\(?:ew_line\\|ull_\\(?:\\(?:cha\\|\\(?:fun\\)?pt\\)r\\)\\)\\|ptr\\|s\\(?:hort\\|i\\(?:gned_char\\|ze_t\\)\\)\\|vertical_tab\\)\\|haracter_\\(?:kinds\\|storage_size\\)\\)\\|error_unit\\|file_storage_size\\|i\\(?:eee_\\(?:arithmetic\\|\\(?:exception\\|feature\\)s\\)\\|n\\(?:put_unit\\|t\\(?:16\\|32\\|64\\|8\\|eger_kinds\\)\\)\\|ostat_\\(?:e\\(?:nd\\|or\\)\\|inquire_internal_unit\\)\\|so_\\(?:c_binding\\|fortran_env\\)\\)\\|lo\\(?:ck_type\\|gical_kinds\\)\\|numeric_storage_size\\|output_unit\\|real\\(?:128\\|32\\|64\\|_kinds\\)\\)\\_>" (#$ . 11386)) #@182 Search for the start/end of the definition of a derived type, up to LIMIT. Set the match data so that subexpression 1,2 are the TYPE, and type-name parts, respectively. (fn LIMIT) (defalias 'f90-typedef-matcher #[257 "\300\211\301\302\303#\203<