;ELC ;;; compiled by cthomp@willow on Thu Aug 12 00:36:03 1993 ;;; from file /era/era-0.80/editor/lisp/modes/ada.el ;;; emacs version 19.8 (beta8) Lucid. ;;; bytecomp version 2.15; 14-jul-93. ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "This file was compiled for Emacs 19.")) (byte-code "B\nB" ["\\.ada$" ada-mode auto-mode-alist] 2) (defvar ada-mode-syntax-table nil "\ Syntax table in use in Ada-mode buffers.") (byte-code "  # # # # # # # # # # # # # # # # # # # # # # # #  )" [make-syntax-table table modify-syntax-entry 95 "_" 35 40 "()" 41 ")(" 36 "." 42 47 43 45 61 38 124 60 62 91 93 123 125 46 92 58 59 39 34 "\"" ada-mode-syntax-table] 4) (defvar ada-mode-map nil "\ Keymap used in Ada mode.") (byte-code "  # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @# AB# CD# EF# GH# IJ# KL# MN# O)" [make-sparse-keymap map define-key " " ada-newline "" backward-delete-char-untabify " " ada-tab " " ada-untab "<" ada-backward-to-same-indent ">" ada-forward-to-same-indent "h" ada-header "(" ada-paired-parens "-" ada-inline-comment "" ada-array "b" ada-exception-block "d" ada-declare-block "" ada-exception "c" ada-case " " ada-package-spec "k" ada-package-body "" ada-procedure-spec "p" ada-subprogram-body "" ada-function-spec "f" ada-for-loop "l" ada-loop "i" ada-if "I" ada-elsif "e" ada-else "" ada-private "" ada-record "" ada-subtype "s" ada-separate "" ada-type "t" ada-tabsize "w" ada-while-loop "" ada-when "x" ada-exit "C" ada-compile "B" ada-bind "E" ada-find-listing "L" ada-library-name "O" ada-options-for-bind ada-mode-map] 4) (defvar ada-indent 4 "\ *Value is the number of columns to indent in Ada-Mode.") (fset 'ada-mode #[nil " \n!!!\n !!P!!!!!!!!!!" [kill-all-local-variables use-local-map ada-mode-map ada-mode major-mode "Ada" mode-name make-local-variable comment-column 41 end-comment-column 72 set-syntax-table ada-mode-syntax-table paragraph-start "^$\\|" page-delimiter paragraph-separate paragraph-ignore-fill-prefix t require-final-newline comment-start "--" comment-end "" comment-start-skip "--+ *" comment-indent-function c-comment-indent parse-sexp-ignore-comments run-hooks ada-mode-hook] 2 "\ This is a mode intended to support program development in Ada. Most control constructs and declarations of Ada can be inserted in the buffer by typing Control-C followed by a character mnemonic for the construct. \\\\[ada-array] array \\[ada-exception-block] exception block \\[ada-exception] exception \\[ada-declare-block] declare block \\[ada-package-spec] package spec \\[ada-package-body] package body \\[ada-procedure-spec] procedure spec \\[ada-subprogram-body] proc/func body \\[ada-function-spec] func spec \\[ada-for-loop] for loop \\[ada-if] if \\[ada-elsif] elsif \\[ada-else] else \\[ada-private] private \\[ada-loop] loop \\[ada-record] record \\[ada-case] case \\[ada-subtype] subtype \\[ada-separate] separate \\[ada-type] type \\[ada-tabsize] tab spacing for indents \\[ada-when] when \\[ada-while] while \\[ada-exit] exit \\[ada-paired-parens] paired parens \\[ada-inline-comment] inline comment \\[ada-header] header spec \\[ada-compile] compile \\[ada-bind] bind \\[ada-find-listing] find error list \\[ada-library-name] name library \\[ada-options-for-bind] options for bind \\[ada-backward-to-same-indent] and \\[ada-forward-to-same-indent] move backward and forward respectively to the next line having the same (or lesser) level of indentation. Variable `ada-indent' controls the number of spaces for indent/undent." nil]) (fset 'ada-tabsize #[(s) "" [s ada-indent] 2 "\ Changes spacing used for indentation. The prefix argument is used as the new spacing." "p"]) (fset 'ada-newline #[nil "  j)" [current-indentation ada-cc newline] 1 "\ Start new line and indent to current tab stop." nil]) (fset 'ada-tab #[nil " T _j" [current-indentation ada-indent] 2 "\ Indent to next tab stop." nil]) (fset 'ada-untab #[nil " \"" [backward-delete-char-untabify ada-indent nil] 3 "\ Delete backwards to previous tab stop." nil]) (fset 'ada-go-to-this-indent #[(step indent-level) "yU!u!p!k!f V]" [step 0 looking-at "^[ ]*$" "^[ ]*--" "^<<[A-Za-z0-9_]+>>" "^[A-Za-z0-9_]+:" current-indentation indent-level] 2 "\ Move point repeatedly by STEP lines until the current line has given INDENT-LEVEL or less, or the start or end of the buffer is reached. Ignore blank lines, statement labels and block or loop names."]) (fset 'ada-backward-to-same-indent #[nil " \" " [ada-go-to-this-indent -1 current-indentation back-to-indentation] 3 "\ Move point backwards to nearest line with same indentation or less. If not found, point is left at the top of the buffer." nil]) (fset 'ada-forward-to-same-indent #[nil " \" " [ada-go-to-this-indent 1 current-indentation back-to-indentation] 3 "\ Move point forwards to nearest line with same indentation or less. If not found, point is left at the start of the last line in the buffer." nil]) (fset 'ada-array #[nil "c !cc !c" ["array ()" backward-char read-string "index subtype[s]: " nil " of ;" "component-type: "] 2 "\ Insert array type definition. Uses the minibuffer to prompt for component type and index subtypes." nil]) (fset 'ada-case #[nil "c!ñ c " ["case " read-string "selector expression: " " is" ada-newline "end case;" 0 ada-tab ada-when] 2 "\ Build skeleton case statement. Uses the minibuffer to prompt for the selector expression. Also builds the first when clause." nil]) (fset 'ada-declare-block #[nil "!c\nĘy!\nȱ! c \nĘc\nϱ) " [read-string "[block name]: " ada-block-name "declare" "" 0 open-line 1 ":" next-line nil ada-newline "begin" "end;" "end " ";" -2 ada-tab] 3 "\ Insert a block with a declare part. Indent for the first declaration." nil]) (fset 'ada-exception-block #[nil "!c\nĘy!\nȱ! c \nĘc\nϱ) " [read-string "[block name]: " block-name "begin" "" 0 open-line 1 ":" next-line nil ada-newline "exception" "end;" "end " ";" -2 ada-tab] 3 "\ Insert a block with an exception part. Indent for the first line of code." nil]) (fset 'ada-exception #[nil " c " [ada-untab "exception" ada-newline ada-tab] 1 "\ Insert an indented exception part into a block." nil]) (fset 'ada-else #[nil " c " [ada-untab "else" ada-newline ada-tab] 1 "\ Add an else clause inside an if-then-end-if clause." nil]) (fset 'ada-exit #[nil "c!Ę )!Ę\")c" ["exit" read-string "[name of loop to exit]: " ada-loop-name "" " " "[exit condition]: " ada-exit-condition string-match "^ *[Ww][Hh][Ee][Nn] +" " when " ";"] 4 "\ Insert an exit statement, prompting for loop name and condition." nil]) (fset 'ada-when #[nil " c!ı " [ada-untab "when " read-string "'|'-delimited choice list: " " =>" ada-newline ada-tab] 2 "\ Start a case statement alternative with a when clause." nil]) (fset 'ada-for-loop #[nil "c!Ę?y! ɱ!!̱!α c c* " ["for " read-string "[loop name]: " ada-loop-name "" ada-loop-is-named 0 open-line 1 ":" next-line "loop variable: " " in " "range: " " loop" ada-newline "end loop" " " ";" ada-tab] 3 "\ Build a skeleton for-loop statement, prompting for the loop parameters." nil]) (fset 'ada-header #[nil "c!c   ˱" ["--\n-- Title: " read-string "Title: " "\n-- Created: " current-time-string "\n-- Author: " user-full-name "\n-- <" user-login-name "@" system-name ">\n--\n"] 5 "\ Insert a comment block containing the module title, author, etc." nil]) (fset 'ada-if #[nil "c!ñ c " ["if " read-string "condition: " " then" ada-newline "end if;" 0 ada-tab] 2 "\ Insert skeleton if statment, prompting for a boolean-expression." nil]) (fset 'ada-elsif #[nil " c!ı " [ada-untab "elsif " read-string "condition: " " then" ada-newline ada-tab] 2 "\ Add an elsif clause to an if statement, prompting for the boolean-expression." nil]) (fset 'ada-loop #[nil "c!Ę?y! ɱy c c* " ["loop " read-string "[loop name]: " ada-loop-name "" ada-loop-is-named 0 open-line 1 ":" ada-newline "end loop" " " ";" ada-tab] 3 "\ Insert a skeleton loop statement. The exit statement is added by hand." nil]) (fset 'ada-package-spec #[nil "c!ı DZ )" ["package " read-string "package name: " ada-package-name " is" ada-newline "end " ";" 0 ada-tab] 4 "\ Insert a skeleton package specification." nil]) (fset 'ada-package-body #[nil "c!ı c ȱ )" ["package body " read-string "package name: " ada-package-name " is" ada-newline "begin" "end " ";" -1 ada-tab] 4 "\ Insert a skeleton package body -- includes a begin statement." nil]) (fset 'ada-private #[nil " c " [ada-untab "private" ada-newline ada-tab] 1 "\ Undent and start a private section of a package spec. Reindent." nil]) (fset 'ada-get-arg-list #[nil "ci! Ř! \" c j!k ̱*" [" (" read-string "[arguments]: " ada-args ada-arg-indent "" backward-delete-char 2 string-match ";$" newline "next argument: " ")"] 3 "\ Read from the user a procedure or function argument list. Add parens unless arguments absent, and insert into buffer. Individual arguments are arranged vertically if entered one at a time. Arguments ending with `;' are presumed single and stacked."]) (fset 'ada-function-spec #[nil "c!c c!c" ["function " read-string "function name: " ada-get-arg-list " return " "result type: "] 2 "\ Insert a function specification. Prompts for name and arguments." nil]) (fset 'ada-procedure-spec #[nil "c!c " ["procedure " read-string "procedure name: " ada-get-arg-list] 2 "\ Insert a procedure specification, prompting for its name and arguments." nil]) (fset 'get-ada-subprogram-name #[nil "#!!iv`\nv`\n{ )B B*" [0 ada-proc-indent re-search-backward "[PpFf][RrUu][OoNn][Cc][EeTt][DdIi][UuOo][RrNn]" nil t looking-at "\\<[Pp][Rr][Oo][Cc][Ee][Dd][Uu][Rr][Ee]\\>" "\\<[Ff][Uu][Nn][Cc][Tt][Ii][Oo][Nn]\\>" 2 p2 -1 get-ada-subprogram-name "NAME?"] 4 "\ Return (without moving point or mark) a pair whose CAR is the name of the function or procedure whose spec immediately precedes point, and whose CDR is the column number where the procedure/function keyword was found."]) (fset 'ada-subprogram-body #[nil "c  \nAj c \n@DZ) " [" is" get-ada-subprogram-name ada-subprogram-name-col newline ada-newline "begin" "end " ";" -2 ada-tab] 3 "\ Insert frame for subprogram body. Invoke right after `ada-function-spec' or `ada-procedure-spec'." nil]) (fset 'ada-separate #[nil "c c " [" is" ada-newline ada-tab "separate;" ada-untab] 1 "\ Finish a body stub with `is separate'." nil]) (fset 'ada-record #[nil "c c " ["record" ada-newline "end record;" 0 ada-tab] 1 "\ Insert a skeleton record type declaration." nil]) (fset 'ada-subtype #[nil "!ñ !" ["subtype " read-string "subtype name: " " is ;" backward-char message "insert subtype indication."] 3 "\ Start insertion of a subtype declaration, prompting for the subtype name." nil]) (fset 'ada-type #[nil "!!Ř DZ)c!" ["type " read-string "type name: " "discriminant specs: " disc-part "" "(" ")" " is " message "insert type definition."] 4 "\ Start insertion of a type declaration, prompting for the type name." nil]) (fset 'ada-while-loop #[nil "c!Ę?y! ɱ!!̱ c c* " ["while " read-string "loop name: " ada-loop-name "" ada-loop-is-named 0 open-line 1 ":" next-line "entry condition: " " loop" ada-newline "end loop" " " ";" ada-tab] 3 nil nil]) (fset 'ada-paired-parens #[nil "c " ["()" backward-char] 1 "\ Insert a pair of round parentheses, placing point between them." nil]) (fset 'ada-inline-comment #[nil "i V i W jc" [nil end-comment-column newline comment-column " -- "] 2 "\ Start a comment after the end of the line, indented at least `comment-column' spaces. If starting after `end-comment-column', start a new line." nil]) (fset 'ada-display-comment #[nil "c" ["--\n-- \n--" 0] 1 "\ Inserts three comment lines, making a display comment." nil]) (defvar ada-lib-dir-name "lib" "\ *Current Ada program library directory.") (defvar ada-bind-opts "" "\ *Options to supply for binding.") (fset 'ada-library-name #[(ada-lib-name) "" [ada-lib-name ada-lib-dir-name] 2 "\ Specify name of Ada library directory for later compilations." "DName of Ada library directory: "]) (fset 'ada-options-for-bind #[nil "!" [read-string "-m and -i options for `ada-bind': " ada-bind-opts] 2 "\ Specify options, such as -m and -i, needed for `ada-bind'."]) (fset 'ada-compile #[(arg) "   !*" [arg "" "-n " ada-init buffer-name ada-source-file compile "adacomp " "-l " ada-lib-dir-name " "] 7 "\ Save the current buffer and compile it into the current program library. Initialize the library if a prefix arg is given." "P"]) (fset 'ada-find-listing #[nil " OP!!" [find-file-other-window buffer-name 0 -4 ".lis" search-forward "*** ERROR"] 4 "\ Find listing file for ada source in current buffer, using other window." nil]) (fset 'ada-bind #[nil "\n R!" [compile "adabind " ada-bind-opts " " ada-lib-dir-name] 5 "\ Bind the current program library, using the current binding options." nil])