[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

26. Editing SIMULA 87 Code

This mode is used for editing SIMULA code. It is NOT automatically invoked for any particular file extension. To invoke this mode while editing a file, type M-x simula-mode.

The mode knows about Simula syntax and standard indentation commands. It also provides convenient abbrevs for Simula keywords.

The following key mappings are defined:

: simula-electric-label
tab simula-indent-command
C-c << Prefix Command >>
C-i simula-indent-command
C-c C-d simula-forward-down-level
C-c C-n simula-next-statement
C-c C-p simula-previous-statement
C-c C-u simula-backward-up-level

The following variables controlling indentation style:

simula-tab-always-indent
Non-nil means TAB in SIMULA mode should always reindent the current line, regardless of where in the line point is when the TAB command is used.

simula-indent-level
Indentation of SIMULA statements with respect to containing block.

simula-substatement-offset
Extra indentation after DO, THEN, ELSE, WHEN and OTHERWISE.

simula-continued-statement-offset
Extra indentation for lines not starting a statement or substatement, e.g. a nested FOR-loop. If value is a list, each line in a multiple- line continued statement will have the car of the list extra indentation with respect to the previous line of the statement.

simula-label-offset -4711
Offset of SIMULA label lines relative to usual indentation.

simula-if-indent '(0 . 0)
Extra indentation of THEN and ELSE with respect to the starting IF. Value is a cons cell, the car is extra THEN indentation and the cdr extra ELSE indentation. IF after ELSE is indented as the starting IF.

simula-inspect-indent '(0 . 0)
Extra indentation of WHEN and OTHERWISE with respect to the corresponding INSPECT. Value is a cons cell, the car is extra WHEN indentation and the cdr extra OTHERWISE indentation.

simula-electric-indent nil
If this variable is non-nil, `simula-indent-line' will check the previous line to see if it has to be reindented.

simula-abbrev-keyword 'upcase
Determine how SIMULA keywords will be expanded. Value is one of the symbols `upcase', `downcase', `capitalize', (as in) `abbrev-table', or nil if they should not be changed.

simula-abbrev-stdproc 'abbrev-table
Determine how standard SIMULA procedure and class names will be expanded. Value is one of the symbols `upcase', `downcase', `capitalize', (as in) `abbrev-table', or nil if they should not be changed.

Turning on SIMULA mode calls the value of the variable simula-mode-hook with no arguments, if that value is non-nil.

Warning: simula-mode-hook should not read in an abbrev file without calling the function simula-install-standard-abbrevs afterwards, preferably not at all.

To configure this package, type:

 
  M-x customize-group RET simula RET

26.1 About SIMULA  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

26.1 About SIMULA

The SIMULA programming language was designed and built by Ole-Johan Dahl and Kristen Nygaard at the Norwegian Computing Center (NCC) in Oslo between 1962 and 1967. It was originally designed and implemented as a language for discrete event simulation, but was later extended and reimplemented as a full scale general purpose programming language.

For more information, see http://www.engin.umd.umich.edu/CIS/course.des/cis400/simula/simula.html.


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by XEmacs shared group account on December, 19 2009 using texi2html 1.65.