home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / emacs-18.59-bin.lha / lib / emacs / 18.59 / lisp / simula.elc < prev    next >
Text File  |  1991-01-09  |  17KB  |  364 lines

  1.  
  2. (defvar simula-label "^[A-Za-z_{|}]+:")
  3.  
  4. (defvar simula-CE "else\\b\\|when\\b\\|otherwise\\b")
  5.  
  6. (defvar simula-CB "end\\b\\|!\\|comment\\b")
  7.  
  8. (defvar simula-BE "end\\b")
  9.  
  10. (defvar simula-BB "begin\\b")
  11.  
  12. (defvar simula-FB "if\\b\\|while\\b\\|inspect\\b\\|for\\b")
  13.  
  14. (defvar simula-eol "
  15. ")
  16.  
  17. (defvar simula-eof "@")
  18.  
  19. (defvar simula-extended-form nil "\
  20. non-nil if want non-standard slowly (extended) form checking")
  21.  
  22. (defvar simula-mode-syntax-table nil "\
  23. Syntax table in simula-mode buffers.")
  24.  
  25. (defvar simula-mode-abbrev-table nil "\
  26. abbrev table in simula-mode buffers")
  27.  
  28. (defvar simula-indent-mode (quote simula-Nice-indent-mode))
  29.  
  30. (defvar Read-Simula-Keywords nil "\
  31. non-nil if read keywords already")
  32.  
  33. (define-abbrev-table (quote simula-mode-abbrev-table) nil)
  34.  
  35. (defvar Simula-Keyword-Abbrev-File "simula.defns" "\
  36. nil if not to load the Capitalize Keywords feature")
  37.  
  38. (defvar simula-mode-ignore-directives t "\
  39. Set to non nil if doesn't use % comment type lines.")
  40.  
  41. (if simula-mode-syntax-table nil (let ((table (make-syntax-table))) (modify-syntax-entry 10 "." table) (modify-syntax-entry 12 "." table) (modify-syntax-entry 34 "\"" table) (modify-syntax-entry 39 "\"" table) (modify-syntax-entry 40 "()" table) (modify-syntax-entry 41 ")(" table) (modify-syntax-entry 42 "." table) (modify-syntax-entry 43 "." table) (modify-syntax-entry 44 "." table) (modify-syntax-entry 45 "." table) (modify-syntax-entry 46 "_" table) (modify-syntax-entry 95 "w" table) (modify-syntax-entry 47 "." table) (modify-syntax-entry 58 "." table) (modify-syntax-entry 59 ">" table) (modify-syntax-entry 60 "." table) (modify-syntax-entry 61 "." table) (modify-syntax-entry 62 "." table) (modify-syntax-entry 91 "(]" table) (modify-syntax-entry 92 "." table) (modify-syntax-entry 93 ")[" table) (modify-syntax-entry 94 "." table) (modify-syntax-entry 124 "w" table) (modify-syntax-entry 123 "w" table) (modify-syntax-entry 125 "w" table) (modify-syntax-entry 33 "<" table) (setq simula-mode-syntax-table table)))
  42.  
  43. (defvar simula-mode-map nil "\
  44. Keymap used in simula mode.")
  45.  
  46. (if simula-mode-map nil (setq simula-mode-map (make-sparse-keymap)) (define-key simula-mode-map "    " (quote simula-indent)) (define-key simula-mode-map "" (quote simula-abbrev-expand-and-lf)) (define-key simula-mode-map "" (quote backward-delete-char-untabify)))
  47.  
  48. (defun simula-mode nil "\
  49. This is a mode intended to support program development in Simula.." (interactive) (byte-code "ψנˆØ!ˆÙ‰ˆÚ‰ˆÛÃ!ˆÜ‰ˆÛÄ!ˆÝ‰ˆÞ!ˆÛÆ!ˆß‰ˆÛÇ!ˆ‰ˆÛÈ!ˆà‰ˆÛÉ!ˆÊ‰    ˆÛË!ˆá‰ ˆÛÌ!ˆâ‰ ˆÛÍ!ˆã‰ˆÛÃ!ˆä‰ˆÛÎ!ˆÏ‰ˆÛÐ!ˆÊ‰ˆ‰ˆ…¢Ê‰ˆƒ™Ï‚¢åæ珈ʉˆè!ˆéê!‡" [simula-mode-map major-mode mode-name comment-column end-comment-column simula-mode-syntax-table paragraph-start paragraph-separate indent-line-function require-final-newline t comment-start comment-end comment-start-skip parse-sexp-ignore-comments nil comment-multi-line local-abbrev-table simula-mode-abbrev-table Simula-Keyword-Abbrev-File abbrev-mode Read-Simula-Keywords simula-indent-mode kill-all-local-variables use-local-map simula-mode "Simula" make-local-variable 40 75 set-syntax-table "^[     ]*$\\|\\f" simula-null-indent "! " " ;" "!+ *" "! *" err (byte-code "Á!‡" [Simula-Keyword-Abbrev-File read-abbrev-file] 2) ((file-error (byte-code "ÀÁÂ!ˆÁÃ!ˆÁÄ!ˆÁÅ!ˆÁÆ!ˆÁÇ!ˆÁÈ!‘‡" ["*Help*" princ "Simula Mode can't load the Capitalize Simula " "Keyword abbrev file
  50.  
  51. " "Please do one of the following:
  52. " "1. Include this line in your .emacs file:
  53. " "   (setq Simula-Keyword-Abbrev-File nil)
  54. " "2. Make a decent abbrev file by your self
  55. " "3. Mail obh@ifi.uio.no requesting the abbrev file
  56. "] 9))) funcall run-hooks simula-mode-hook] 18))
  57.  
  58. (defun simula-null-indent nil (interactive) (byte-code "À‡" [nil] 1))
  59.  
  60. (setq simula-seen-FE nil)
  61.  
  62. (setq simula-form-starter nil)
  63.  
  64. (setq simula-form nil)
  65.  
  66. (setq simula-FB-hpos nil)
  67.  
  68. (setq simula-BB-hpos nil)
  69.  
  70. (setq simula-hpos nil)
  71.  
  72. (setq simula-lf-count nil)
  73.  
  74. (setq simula-stack nil)
  75.  
  76. (setq simula-assemble nil)
  77.  
  78. (setq simula-debug nil)
  79.  
  80. (defun simula-push (v) (byte-code "…    
  81.     B‰‡" [simula-assemble simula-stack v] 2))
  82.  
  83. (defun simula-pop nil (byte-code "@A‰ˆ‡" [simula-stack] 3))
  84.  
  85. (defun simula-inside-simple-string nil (byte-code "ŠÂÃ!ˆnƒÀ‚,Än?…$ÅÆ!ˆÂÃ!ˆ    T‰ˆ‚ˆÇ    È\"ÉU))‡" [nil count skip-chars-backward "^\"
  86. '" 1 forward-char -1 % 2 0] 6))
  87.  
  88. (defun ignore-simula-directives (pedohejform &optional pedohejway) (interactive) (byte-code "Ĉƒ Ç    !‚[Ç    !`È ˆgÉU?ƒ Ä‚-o†%mƒ,Ă-ąNƒ:Ê ‚=ËÌ!ˆÇ    !‰ˆ`‰ˆÈ ˆ‚ˆgÉU?…X bˆ
  89. *‡" [simula-mode-ignore-directives pedohejform pedohejval pedohejhere nil t pedohejway funcall beginning-of-line 37 forward-line forward-char -1] 9))
  90.  
  91. (defun maybe-skip-simula-comment nil (byte-code "`ÄÄÄÆÇ!ˆÈÉÊ#ˆh‰ËU†
  92. ÌU…D
  93. ÌUƒ.ÍÎÊ#‚:ÏÐ!ˆ`V…:bˆÈÉÊ#ˆ‚ˆ`UƒOĂhÑUƒ]ÒÓ!ˆ‚ÔÓ!ˆÕÖ!ƒk‚`‰ˆÈ×Ê#‰ˆ …†h‰ËU††
  94. ÌU…¦
  95. ÌUƒ—ÍÎÊ#‚šÏÐ!ˆÈ×Ê#‰ˆ‚wˆ …óhÑUƒÁ    ƒ¹Å‚¾ÒÓ!ˆÄ‚óÔÓ!ˆÄ†óÕÖ!ƒà    ?ƒØĂÝÔÐ!ˆÅ‚óÕØ!ƒê`‚ëĉˆÔÐ!ˆÅ…ûĈ‚oˆÕÙ!ƒ‚    ƒ    bˆ‚bˆÄ,‡" [here last-end tmp tmp1 nil t ignore-simula-directives (lambda nil (byte-code "ÀÁeÂ#ˆÃ …ÀÄ!ˆÀÁeÂ#ˆ‚‡" [search-backward ";" 0 simula-inside-simple-string "\""] 8)) re-search-forward "^%\\|\"\\|!\\|\\bcomment\\b\\|\\bend\\b" 0 37 34 search-forward "\"" forward-line 1 33 forward-char -1 forward-word looking-at "comment" "^%\\|\"\\|!\\|\\bcomment\\b\\|\\bend\\b\\|\\bwhen\\b\\|\\belse\\b\\|\\botherwise\\b" "end" "!\\|\\bcomment"] 20))
  96.  
  97. (defun save-simula-BB-BE nil (byte-code "`ÂÆ!ˆÇ ˆ ?…i‰ˆ`‰ˆÈ ˆÆÉ`Vƒ'‚- T‰ˆÊËÌ!ˆ`Vƒ<‚B T‰ˆR!ˆÆ    !ˆ    b*‡" [end beg nil simula-BB-hpos simula-lf-count simula-eol simula-push simula-back-level end-of-line "BEGIN" " o " forward-line 2] 10))
  98.  
  99. (defun simula-back-level nil (interactive) (byte-code "ÁˆÁo?…KÃÄ!…KÅÆ!ƒ,Ç ƒ(ÅÈ!…#ÉÊ!ˆÂ‚)Á‚KÇ ‰ƒGÅË!ƒ=‚DbˆÌ ˆÂ‚KÌ ˆÂ…SÁˆ‚)ˆÅÆ!?…_ÍÎ!‡" [end-comment nil t ignore-simula-directives (lambda nil (byte-code "ÁÂeÃ#ˆÄ …ÅÆ!ˆÁÂeÃ#ˆ‚ˆÀ‡" [t re-search-backward "\\bend\\b\\|\\bbegin\\b" 0 simula-inside-simple-string search-backward "\""] 8)) looking-at "begin" maybe-skip-simula-comment "end" forward-word 1 "comment\\|!" simula-back-level error "No matching BEGIN !!!"] 12))
  100.  
  101. (defun simula-find-indent (&optional predict-next) (interactive) (byte-code "ɈÁ×ÉÉÉØ ˆÙÚ!ˆÛ …!ÜÝ!…!Þß!ˆ×ÁÉÉ
  102. É É ÉÉ`D‰ˆ…ä
  103. T‰ˆàá!ˆoƒYɉ‚àâh‰!ãUƒiÞä!‚låä!ˆlƒªæ!ƒÉ‰ˆåß!‚§ç
  104. S\"…T‰ˆ‰ˆè`T!ˆÙé!ˆè!ˆè`!‚à êUƒµë ‚à ìUƒÓåä!ˆíîeÁ#ƒÍåä!‚Ðïð!‚à ñUƒßÞä!‚à òUƒHÛ ‰ˆ …ñÜó!ƒûô T!‚EßV…
  105. SUƒɉˆõ ‚E ?ƒɂ%Þß!ˆô !ˆÉ†E
  106. ßUƒ5Á‰ ‚E×V…Eè`T!ˆÉ‰‚àÜ!ƒ‚ɉ ˆßVƒbõ ‰‚?…t`öPDÁ‰ˆ?…i‰‚àÜ!…Û ‰ƒšÞß!ˆô !‚àÜ!ƒ¦÷ ‚à?…¯Ü!…àø`ù×!\"‰ˆi‰
  107. ˆú ‰?…ÐÉ
  108. ɉˆ ƒÚɂàɉˆû ˆ‚Bˆü ‰ ˆƒ…÷ …ýþ A\"‚þ ‰ˆ-‡" [not-stop t simexp tmp ch indent simula-lf-count simula-assemble simula-BB-hpos nil simula-FB-hpos simula-hpos simula-seen-FE simula-form simula-form-starter simula-stack simula-eof simula-eol simula-BB simula-CE simula-BE simula-FB predict-next 0 end-of-line ignore-simula-directives (lambda nil (byte-code "ÀÁ!‡" [skip-chars-backward "     "] 2)) maybe-skip-simula-comment looking-at "end" forward-word 1 skip-chars-backward "     " char-syntax 119 -1 forward-char numberp /= simula-push (lambda nil (byte-code "ÀÁ!‡" [skip-chars-backward "     
  109. "] 2)) 34 save-simula-string 39 search-backward "'" error "Unbalanced Character Quote" 58 59 "!\\|comment" simula-parsed-over simula-stack-trick "/n o " save-simula-BB-BE buffer-substring match-end Simula-Form-Handler beginning-of-line current-simula-indentation setcdr Simula-Default-Handler] 48))
  110.  
  111. (defun simula-parsed-over (from) (byte-code "ÃÄ!ˆÅ!ˆŠÆ ˆ`W…Å    !ˆ
  112. T‰)ˆÅ`!‡" [from simula-eol simula-lf-count skip-chars-backward "    " simula-push end-of-line] 6))
  113.  
  114. (defun simula-stack-trick nil (byte-code "ÄÅ!ˆÆÇÀ\"ˆ
  115.     …-È    @!…`    @Vƒ%    É‚)    A‰ˆ‚ )ˆÃ‡" [t pointer simula-stack nil forward-line 1 ignore-simula-directives (lambda nil (byte-code "ÀÁ!ˆgÂU…ÃÄdÅ#ˆÀÁ!ˆ‚‡" [skip-chars-forward "     
  116. " 33 search-forward ";" 0] 6)) numberp] 6))
  117.  
  118. (defun save-simula-string nil (byte-code "Á`!ˆÂÃe\"ˆhÄUƒÀ‚ÅÆ!ˆÁ`!ˆÇÈ!‡" [nil simula-push skip-chars-backward "^\"
  119. " 34 error "UnBalanced String Quote \". " forward-char -1] 6))
  120.  
  121. (defun Simula-Form-Handler nil (byte-code "ÃÄÅ    !ÆQ!ƒÇ!‚Â)‡" [handler simula-form-starter nil intern-soft "Simula-" capitalize "-Handler" funcall] 5))
  122.  
  123. (defun Simula-Default-Handler nil (byte-code "…    ?…
  124. † ?ƒ ÇD‚È!Ɖˆ‡" [simula-seen-FE simula-extended-form simula-BB-hpos simula-form simula-hpos Simula-Default-Form nil (0 0) Simula-Default-Form-Handler] 4))
  125.  
  126. (defun Simula-Default-Form-Handler (form) (byte-code "Ä ˆÅ    !?ƒ‚-n?ƒŠÆ ˆÇ )‚!Ç È@!AB‰ˆ)‡" [indentation form nil simula-hpos simula-collapse-stack get-indent-amount beginning-of-line current-simula-indentation simula-indent-calc] 8))
  127.  
  128. (defun simula-collapse-stack nil (byte-code "    ƒ`‚
  129. Æ  
  130. …J
  131. @;ƒ
  132. A‰‚Fƒ4Ç
  133. È
  134. @\"\"ˆÄ
  135. A‰‚F
  136. @‰ˆÇ
  137.  
  138. A@\"ˆÉ
  139.  
  140. AA\"ˆ‚ˆÊË \"`D‰*‡" [last-beg simula-assemble pointer simula-stack nil simula-form simula-pop setcar buffer-substring setcdr apply concat] 8))
  141.  
  142. (defun get-indent-amount (indent-form-list) (byte-code "ƒ*Ä@@    \"ƒ#
  143. …ŐÆ@@Ç    Q!‘ˆ@A‚'ÈA!‚+Ç" [indent-form-list simula-form simula-debug nil string-match "* forms *" print "<---->" get-indent-amount] 6))
  144.  
  145. (defun current-simula-indentation nil (byte-code "Á!…    Â!ˆÃÄ!ˆi‡" [simula-label looking-at re-search-forward skip-chars-forward "     "] 4))
  146.  
  147. (defun simula-indent-calc (amount) (byte-code "ƒ6@A@Å    Uƒ
  148. ‚1 …Æ    Uƒ\" ‚1 …)Ç    Uƒ0 ‚1
  149. \\)‚7
  150. ‡" [amount from simula-hpos simula-FB-hpos simula-BB-hpos 0 1 2] 3))
  151.  
  152. (defun simula-indent-line (to) (byte-code "Æ ˆgÇUƒÀ‚dÈ
  153. \"É
  154. \"Ê!…OË!ˆi
  155. Vƒ/Ì͉‚OÎÏÍ\"ˆi
  156. V…=ÐÍ!ˆ
  157. iZ‰ˆÉ
  158. \"È
  159. \"‰ˆÎÏ \"ˆÎÑ    \"ˆÒ`ÓÔd\"ˆ`\"*‡" [nil space to tab-width tabs simula-label beginning-of-line 37 % / looking-at re-search-forward 0 1 insert-char 9 backward-delete-char 32 delete-region skip-chars-forward "     "] 16))
  160.  
  161. (defun simula-abbrev-expand-and-lf (arg) (interactive "p") (byte-code "ˆàˆÄÅÆ\"ˆÇÈ!ˆŠÉÁ!)Ê ˆËÌ!ˆÍgÎ\"…&Ï@!ˆÐÆ!ˆÏÑA@!!)‡" [indent t nil expand-abbrev insert-char 10 1 forward-char -1 simula-find-indent beginning-of-line skip-chars-forward "     " /= 33 simula-indent-line forward-line simula-indent-calc] 12))
  162.  
  163. (defun simula-indent nil (interactive) (byte-code "ÀˆÁŠÂ )@!‡" [nil simula-indent-line simula-find-indent] 3))
  164.  
  165. (defun Simula-While-Handler nil (byte-code "Á!‡" [Simula-While-Form Simula-Default-Form-Handler] 2))
  166.  
  167. (defun Simula-If-Handler nil (byte-code "Á!‡" [Simula-If-Form Simula-Default-Form-Handler] 2))
  168.  
  169. (defun Simula-Inspect-Handler nil (byte-code "Á!‡" [Simula-Inspect-Form Simula-Default-Form-Handler] 2))
  170.  
  171. (defun Simula-For-Handler nil (byte-code "Á!‡" [Simula-For-Form Simula-Default-Form-Handler] 2))
  172.  
  173. (defun simula-Nice-indent-mode nil (interactive) (byte-code "ňƉˆÇ‰ˆÈ‰ˆÉ‰ˆÊ‰‡" [Simula-While-Form Simula-Default-Form Simula-If-Form Simula-For-Form Simula-Inspect-Form nil (("while.*begin.*end;@" (0 0) (1 0)) ("while .*do.*begin
  174. .*
  175. .*end;@" (1 0) (0 0)) ("while .*do.*begin
  176. .*@" (1 3) (1 3)) ("while .*do.*begin.*@" (0 0) (1 3)) ("while .*do
  177. .*begin
  178. .*
  179. .*end;@" (2 0) (0 0)) ("while .*do
  180. .*begin
  181. .*@" (2 3) (2 3)) ("while .*do
  182. .*begin@" (1 3) (2 3)) ("while .*do
  183. .*;@" (1 3) (0 0)) ("while .*do
  184. .*@" (1 3) (1 3)) ("while .*do@" (0 0) (1 3))) (("begin.*end;@" (0 0) (0 0)) ("while .*do.*begin
  185. .*
  186. .*end;@" (0 0) (0 0)) ("begin.*@" (0 0) (2 3)) ("begin
  187. .*
  188. .*end.*@" (0 0) (0 0)) ("begin
  189. .*end;@" (2 3) (0 0)) ("begin
  190. .*
  191. .*end;@" (2 0) (0 0)) ("begin
  192. .*@" (2 3) (2 3)) ("begin
  193. .*
  194. @" (2 3) (2 3)) ("begin
  195. *.*
  196. *.*@" (2 3) (2 3)) (".*;@" (0 0) (0 0)) ("
  197. .*;@" (0 0) (0 0)) ("
  198. .*@" (0 0) (0 0)) ("." (0 0) (0 3))) (("if.*begin.*end;@" (0 0) (1 0)) ("if .*begin.*@" (0 0) (2 3)) ("if .*else@" (0 0) (0 0)) ("if .*;@" (0 0) (0 0)) ("if .*@" (0 0) (0 3)) ("if .*begin.*
  199. .*@" (2 3) (2 3)) ("if .*
  200. .*;@" (0 3) (0 0)) ("if .*
  201. .*begin.*end.*@" (0 3) (0 0)) ("if .*
  202. .*begin.*@" (0 3) (2 3)) ("if .*else
  203. .*@" (0 3) (0 0)) ("if .*
  204. .*begin.*
  205. .*@" (2 3) (2 3)) ("if .*
  206. .*begin.*
  207. .*
  208. .*end.*@" (2 0) (0 0)) ("if .*begin.*
  209. .*
  210. .*end;.*@" (0 0) (0 0)) ("if .*begin.*
  211. .*
  212. .*end@" (2 0) (0 0)) ("else if.*@" (0 0) (0 3)) ("else@" (0 0) (0 3)) ("else.*begin.*@" (0 0) (2 3)) ("else.*begin.*
  213. .*@" (2 3) (2 3)) ("else.*begin.*
  214. .*
  215. .*end;@" (2 0) (0 0)) ("else .*;@" (0 0) (0 0)) ("else
  216. .*begin@" (0 3) (2 3)) ("else
  217. .*begin
  218. .*@" (2 3) (2 3)) ("else
  219. .*begin
  220. .*
  221. .*end.*@" (2 0) (0 0))) (("for .*begin.*end;@" (0 0) (1 0)) ("for .*do.*;@" (0 0) (0 0)) ("for .*do@" (0 0) (1 3)) ("for .*do
  222. .*begin@" (1 3) (2 3)) ("for .*do
  223. .*begin
  224. .*@" (2 3) (2 3)) ("for .*do
  225. .*begin
  226. .*
  227. .*end.*@" (1 3) (0 0)) ("for .*do
  228. .*;@" (1 3) (0 0)) ("for .*do
  229. .*begin.*
  230. .*end.*@" (1 3) (0 0)) ("for .*do.*begin@" (0 0) (1 3)) ("for .*do.*begin
  231. .*end.*@" (1 3) (0 0)) ("for .*do.*begin
  232. .*@" (1 3) (1 3)) ("for .*do.*begin
  233. .*
  234. .*end.*@" (1 0) (0 0))) (("inspect .*do.*;@" (0 0) (0 0)) ("inspect .*do@" (0 0) (1 3)) ("inspect .*do
  235. .*begin.*end.*@" (1 3) (0 0)) ("inspect .*do
  236. .*begin.*@" (1 3) (2 3)) ("inspect .*do
  237. .*begin
  238. .*end.*@" (2 3) (0 0)) ("inspect .*do
  239. .*begin
  240. .*
  241. .*end.*@" (2 0) (0 0)) ("inspect .*do.*begin@" (0 0) (2 3)) ("inspect .*do.*begin
  242. .*end.*@" (2 3) (0 0)) ("inspect .*do.*begin
  243. .*@" (2 3) (2 3)) ("inspect .*do.*begin
  244. .*
  245. .*end.*;@" (2 0) (0 0)) ("inspect .*;@" (0 0) (0 0)) ("inspect .*@" (0 0) (0 3)) ("otherwise@" (0 0) (0 3)) ("otherwise
  246. .*begin@" (0 3) (2 3)) ("otherwise
  247. .*begin
  248. .*end.*@" (2 3) (0 0)) ("otherwise
  249. .*begin
  250. .*@" (2 3) (2 3)) ("otherwise
  251. .*begin
  252. .*
  253. .*end.*@" (2 0) (0 0)) ("otherwise .*begin .*end.*@" (0 0) (0 0)) ("otherwise .*begin.*@" (0 0) (2 3)) ("otherwise .*begin
  254. .*end.*@" (2 3) (0 0)) ("otherwise .*begin
  255. .*@" (2 3) (2 3)) ("otherwise .*begin
  256. .*
  257. .*end.*@" (2 0) (0 0)) ("when .*do@" (0 3) (0 6)) ("when .*do.*;@" (0 3) (0 0)) ("when .*do.*@" (0 3) (0 3)) ("when .*do
  258. .*begin@" (0 6) (2 3)) ("when .*do
  259. .*begin
  260. .*end;@" (2 3) (0 0)) ("when .*do
  261. .*begin
  262. .*@" (2 3) (2 3)) ("when .*do
  263. .*begin
  264. .*
  265. .*end;@" (2 0) (0 0)) ("when .*do
  266. .*begin
  267. .*
  268. .*end@" (2 0) (0 3)) ("when .*do
  269. .*begin .*end;@" (0 6) (0 0)) ("when .*do
  270. .*begin .*end@" (0 6) (0 3)))] 2))
  271.  
  272. (defun simula-Simed-indent-mode nil (interactive) (byte-code "ňƉˆÇ‰ˆÈ‰ˆÉ‰ˆÊ‰‡" [Simula-While-Form Simula-Default-Form Simula-If-Form Simula-For-Form Simula-Inspect-Form nil (("while .*do.*begin
  273. .*
  274. end;@" (1 0) (0 0)) ("while .*do.*begin
  275. .*@" (1 3) (1 3)) ("while .*do.*begin.*@" (0 0) (1 3)) ("while .*do
  276. .*begin
  277. .*
  278. .*end;@" (1 0) (0 0)) ("while .*do
  279. .*begin
  280. .*@" (2 3) (2 3)) ("while .*do
  281. .*begin@" (1 0) (1 3)) ("while .*do
  282. .*;@" (1 3) (0 0)) ("while .*do
  283. .*@" (1 3) (1 3)) ("while .*do@" (0 0) (1 0))) (("begin.*end;@" (0 0) (0 0)) ("begin.*@" (0 0) (2 3)) ("begin
  284. .*
  285. end" (0 0) (0 0)) ("begin
  286. .*end;@" (2 3) (0 0)) ("begin
  287. .*@" (2 3) (2 3)) ("begin
  288. *.*
  289. *.*@" (2 3) (2 3)) (".*;@" (0 0) (0 0)) ("
  290. .*;@" (0 0) (0 0)) ("
  291. .*@" (0 0) (0 0)) ("." (0 0) (0 3))) (("if .*begin.*@" (0 0) (0 3)) ("if .*else@" (0 0) (0 0)) ("if .*;@" (0 0) (0 0)) ("if .*@" (0 0) (0 0)) ("if .*begin.*
  292. .*@" (0 3) (0 3)) ("if .*
  293. .*;@" (0 3) (0 0)) ("if .*
  294. .*begin.*end.*@" (0 0) (0 0)) ("if .*
  295. .*begin.*@" (0 0) (0 3)) ("if .*else
  296. .*@" (0 0) (0 0)) ("if .*
  297. .*begin.*
  298. .*@" (0 3) (0 3)) ("if .*
  299. .*begin.*
  300. .*
  301. .*end.*@" (0 0) (0 0)) ("if .*begin.*
  302. .*
  303. .*end;.*@" (0 0) (0 0)) ("if .*begin.*
  304. .*
  305. .*end@" (0 0) (0 0)) ("else if.*@" (0 0) (0 0)) ("else@" (0 0) (0 0)) ("else.*begin.*@" (0 0) (0 3)) ("else.*begin.*
  306. .*@" (0 3) (0 3)) ("else.*begin.*
  307. .*
  308. .*end;@" (0 0) (0 0)) ("else .*;@" (0 0) (0 0)) ("else
  309. .*begin@" (0 0) (0 3)) ("else
  310. .*begin
  311. .*@" (0 3) (0 3)) ("else
  312. .*begin
  313. .*
  314. .*end.*@" (0 0) (0 0))) (("for .*do.*;@" (0 0) (0 0)) ("for .*do@" (0 0) (0 0)) ("for .*do
  315. .*begin@" (0 0) (0 3)) ("for .*do
  316. .*begin
  317. .*@" (0 3) (0 3)) ("for .*do
  318. .*begin
  319. .*
  320. .*end.*@" (0 0) (0 0)) ("for .*do
  321. .*;@" (0 3) (0 0)) ("for .*do
  322. .*begin.*
  323. .*end.*@" (0 0) (0 0)) ("for .*do.*begin@" (0 0) (0 3)) ("for .*do.*begin
  324. .*end.*@" (0 3) (0 0)) ("for .*do.*begin
  325. .*@" (0 3) (0 3)) ("for .*do.*begin
  326. .*
  327. .*end.*@" (0 0) (0 0))) (("inspect .*do.*;@" (0 0) (0 0)) ("inspect .*do@" (0 0) (0 0)) ("inspect .*do
  328. .*begin.*end.*@" (0 3) (0 0)) ("inspect .*do
  329. .*begin.*@" (0 0) (0 3)) ("inspect .*do
  330. .*begin
  331. .*end.*@" (0 0) (0 0)) ("inspect .*do
  332. .*begin
  333. .*
  334. .*end.*@" (0 0) (0 0)) ("inspect .*do.*begin@" (0 0) (0 3)) ("inspect .*do.*begin
  335. .*end.*@" (0 3) (0 0)) ("inspect .*do.*begin
  336. .*@" (0 3) (0 3)) ("inspect .*do.*begin
  337. .*
  338. .*end.*;@" (0 0) (0 0)) ("inspect .*;@" (0 0) (0 0)) ("inspect .*@" (0 0) (0 0)) ("otherwise@" (0 0) (0 0)) ("otherwise
  339. .*begin@" (0 0) (0 3)) ("otherwise
  340. .*begin
  341. .*end.*@" (0 3) (0 0)) ("otherwise
  342. .*begin
  343. .*@" (0 3) (0 3)) ("otherwise
  344. .*begin
  345. .*
  346. .*end.*@" (0 0) (0 0)) ("otherwise .*begin .*end.*@" (0 0) (0 0)) ("otherwise .*begin.*@" (0 0) (0 3)) ("otherwise .*begin
  347. .*end.*@" (0 3) (0 0)) ("otherwise .*begin
  348. .*@" (0 3) (0 3)) ("otherwise .*begin
  349. .*
  350. .*end.*@" (0 0) (0 0)) ("when .*do@" (0 0) (0 0)) ("when .*do.*;@" (0 0) (0 0)) ("when .*do.*@" (0 0) (0 0)) ("when .*do
  351. .*begin@" (0 0) (0 3)) ("when .*do
  352. .*begin
  353. .*end;@" (0 3) (0 0)) ("when .*do
  354. .*begin
  355. .*@" (0 3) (0 3)) ("when .*do
  356. .*begin
  357. .*
  358. .*end;@" (0 0) (0 0)) ("when .*do
  359. .*begin
  360. .*
  361. .*end@" (0 0) (0 0)) ("when .*do
  362. .*begin .*end;@" (0 3) (0 0)) ("when .*do
  363. .*begin .*end@" (0 3) (0 0)))] 2))
  364.