;ELC   
;;; compiled by jimb@geech.gnu.ai.mit.edu on Mon Jul  5 22:05:19 1993
;;; from file /gd/gnu/emacs/19.0/lisp/ada.el
;;; emacs version 19.15.16.
;;; bytecomp version FSF 2.10
;;; 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 " 	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#	@ #	A B #	C D #	E F #	G H #	I J #	K L #	M N #	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.")
(defalias '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-mode-map>\\[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])
(defalias 'ada-tabsize #[(s) "" [s ada-indent] 2 "\
Changes spacing used for indentation.
The prefix argument is used as the new spacing." "p"])
(defalias 'ada-newline #[nil "  	j)" [current-indentation ada-cc newline] 1 "\
Start new line and indent to current tab stop." nil])
(defalias 'ada-tab #[nil " 	T	_j" [current-indentation ada-indent] 2 "\
Indent to next tab stop." nil])
(defalias 'ada-untab #[nil "	\"" [backward-delete-char-untabify ada-indent nil] 3 "\
Delete backwards to previous tab stop." nil])
(defalias 'ada-go-to-this-indent #[(step indent-level) "yU* !  !  !  !   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."])
(defalias '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])
(defalias '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])
(defalias 'ada-array #[nil "c !cc !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])
(defalias '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])
(defalias 'ada-declare-block #[nil "!c\nĘ  y!\nȱ!  c  \nĘ; cA \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])
(defalias 'ada-exception-block #[nil "!c\nĘ  y!\nȱ!  c  \nĘ; cA \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])
(defalias 'ada-exception #[nil " c  " [ada-untab "exception" ada-newline ada-tab] 1 "\
Insert an indented exception part into a block." nil])
(defalias 'ada-else #[nil " c  " [ada-untab "else" ada-newline ada-tab] 1 "\
Add an else clause inside an if-then-end-if clause." nil])
(defalias 'ada-exit #[nil "c!Ę )!Ę5 \"/ 5 )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])
(defalias '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])
(defalias 'ada-for-loop #[nil "c!Ę?# y!ɱ!!̱!α  c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])
(defalias '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])
(defalias '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])
(defalias '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])
(defalias 'ada-loop #[nil "c!Ę?\" y!ɱy  c4 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])
(defalias 'ada-package-spec #[nil "c!ı  Ǳ )" ["package " read-string "package name: " ada-package-name " is" ada-newline "end " ";" 0 ada-tab] 4 "\
Insert a skeleton package specification." nil])
(defalias '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])
(defalias 'ada-private #[nil " c  " [ada-untab "private" ada-newline ada-tab] 1 "\
Undent and start a private section of a package spec. Reindent." nil])
(defalias 'ada-get-arg-list #[nil "ci!Ř !0 \", c j! ̱*" [" (" 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."])
(defalias '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])
(defalias '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])
(defalias 'get-ada-subprogram-name #[nil "#1 ! !, iv`\nv`\n{	)B4  4 	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."])
(defalias 'ada-subprogram-body #[nil "c  \nAj c  \n@Ǳ) " [" 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])
(defalias 'ada-separate #[nil "c  c  " [" is" ada-newline ada-tab "separate;" ada-untab] 1 "\
Finish a body stub with `is separate'." nil])
(defalias 'ada-record #[nil "c  c " ["record" ada-newline "end record;" 0 ada-tab] 1 "\
Insert a skeleton record type declaration." nil])
(defalias '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])
(defalias 'ada-type #[nil "!!Ř Ǳ)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])
(defalias (quote 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])
(defalias 'ada-paired-parens #[nil "c " ["()" backward-char] 1 "\
Insert a pair of round parentheses, placing point between them." nil])
(defalias '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])
(defalias '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.")
(defalias '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: "])
(defalias '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'."])
(defalias '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"])
(defalias '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])
(defalias '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])
