

INDENT(1)			      MUTOS 1700		       INDENT(1)




NAME
     indent - Formatierung von C-Programmquellen

ÜBERSICHT
     indent input_file [ output_file ]	[ options ]

BESCHREIBUNG
     Das Kommando indent ist ein C-Programm-Formatierer. Es kann folgende  Funk-
     tionen ausführen:

     -	  Einrücken von Zeilen mit Programm-Code

     -	  Ausrichten von Kommentaren

     -	  Einfügen von Leerzeichen vor/nach Operatoren, falls notwendig

     -	  Auflösen (Zerlegen) von Bezeichnerlisten, wie z.B. "int a,b,c"

     Das Kommando indent kann keine  Anweisungszeilen  zerlegen,  die  über  die
     maximal mögliche Länge einer Zeile hinausgehen. Zeilen, die solche (zu lan-
     gen) Anweisungen enthalten, werden nur  gekennzeichnet  (Fehlermitteilung).
     Alle  anderen  Zeilen werden bei Bedarf so gebrochen, daß jede Anweisung in
     einer neuen Zeile beginnt.  Geschweifte Klammern werden, je nach  gewählter
     Option,  allein  oder  zusammen mit der zugehörigen Anweisung in eine Zeile
     geschrieben (siehe Optionen -br und  -bl).   Bezeichner  in  Vereinbarungen
     (Deklarationen)  werden,  ebenfalls je nach Option, in einer Zeile belassen
     oder in getrennte Zeilen geschrieben (siehe Optionen -bc und -nbc).

     Die Optionen  können  vor	oder  nach  den  File-Namen  stehen.   Ist  kein
     Ausgabe-File  angegeben,  wird  das  formatierte  File  in das Eingabe-File
     zurückgeschrieben und eine Backup-Kopie des Eingabe-Files unter  dem  Namen
     .B_f_i_l_e  in der aktuellen Directory erstellt.  Wird in der Kommandozeile ein
     Ausgabe-File angegeben, prüft indent, ob es sich  vom  Eingabe-File  unter-
     scheidet. Wenn nicht, wird eine Fehlermeldung ausgegeben.

     Die folgenden Optionen können zur Steuerung  der  Formatierung  bei  indent
     verwendet werden:

     -l_n_n_n	Maximale Länge einer Ausgabezeile, Standard ist 75.

     -c_n_n_n	Spalte, in der ein Kommentar beginnen soll, Standard ist 33.

     -cd_n_n_n	Spalte, in der ein Kommentar in  Vereinbarungen  beginnen  soll.
		Wird  die  Angabe  weggelassen, beginnen diese Kommentare in der
		gleichen Spalte wie alle anderen.

     -i_n_n_n	Zahl der Leerzeichen für eine Einrückungsstufe, Standard ist 4.

     -dj, -ndj	Die Option -dj richtet die Vereinbarungen nach links  aus.   Die
		Option	-ndj  richtet die Vereinbarungen in der gleichen Art und
		Weise wie den sonstigen Programm-Code aus.  Standard ist -ndj.

     -v, -nv	Die Option -v stellt einen "wortreichen" Modus ein,  die  Option
		-nv  schaltet  diesen  wieder  ab.   Im "wortreichen" Modus gibt
		indent Aufteilungen von Eingabezeilen in zwei oder mehr Ausgabe-
		zeilen	an.  Des  Weiteren  werden statistische Angaben über die
		Anzahl von Ausgabezeilen und  Kommentaren  ausgegeben.	Standard


3/89					 - 1 -







INDENT(1)			      MUTOS 1700		       INDENT(1)



		ist -nv.

     -bc, -nbc	Ist -bc angegeben, wird ein Newline-Zeichen nach jedem Komma  in
		einer  Vereinbarung  eingefügt.  Die  Option -nbc schaltet diese
		Option wieder ab. Standard ist -bc.

     -d_n_n_n	Diese Option steuert die Plazierung von Kommentaren,  die  nicht
		neben  dem  Programm-Code,  sondern  in  der  Zeile  davor extra
		angeordnet sind. Die Angabe  "-d2" bewirkt z.B.  die  Plazierung
		des  betreffenden  Kommentars  zwei  Einrückungsstufen links vom
		Code. Wird "-d0" angegeben, werden die Kommentare an die gleiche
		Stelle wie der übrige Code geschrieben. Standard ist _n_n_n=1.

     -br, -bl	Die Option -bl schreibt einen Komplex von Anweisungen  auf  fol-
		gende Weise (öffnende geschweifte Klammer auf extra Zeile):

		if (...)
		{
		     code
		}

		Wird die Option -br angegeben (Standard), formatiert indent fol-
		gendermaßen  (öffnende	geschweifte Klammer zusammen mit vorher-
		stehendem Code):

		if (...) {
		     code
		}

     Die Angabe von Optionen in der Kommandozeile kann entfallen, wenn mit Hilfe
     der  Standardeinstellungen  von  indent  formatiert  werden  soll	oder das
     Profile-File .indent.pro in der Login-Directory kreiert wurde und darin die
     gewünschten  Optionen  enthalten  sind. Falls indent läuft und ein Profile-
     File existiert, werden die Standard-Optionen von diesem File gelesen.  Spe-
     zifikationen  in  der Kommandozeile überschreiben die Profile-Optionen. Das
     Profile-File muß aus einer Zeile mit nicht mehr als 127  Zeichen  bestehen.
     Die  Optionen  sollten  in  dieser  Zeile	mit Leerzeichen oder Tabulatoren
     getrennt werden.

     Mehr-Zeilen-Ausdrücke

     Das Kommando indent kann keine komplizierten Ausdrücke,  die  über  mehrere
     Zeilen verteilt sind, auflösen. Es nimmt korrekte Einrückungen solcher Aus-
     drücke vor, die bereits aufgelöst sind. Solch ein Ausdruck  könnte  folgen-
     dermaßen aussehen:

	  x = (
	       ( geklammerter Ausdruck)
	       +
	       (
		    (geklammerter Ausdruck)
		    *
		    (geklammerter Ausdruck)
	       )
	      );





3/89					 - 2 -







INDENT(1)			      MUTOS 1700		       INDENT(1)



     Kommentare

     Das Kommando indent kennt vier Arten von Kommentaren: einfachen Text,  Box-
     Kommentare,  Kommentare im MUTOS-Stil und Kommentare, die unverändert blei-
     ben. Mit diesen Varianten werden folgende Aktionen ausgeführt:

     Box-Kommentare: Ein Kommentar, der mit "/*-" beginnt, wird von  indent  als
     ein  Kommentar  übernommen,  der  mit  einem Kasten, einer Box aus Sternen,
     umgeben ist. Alle Zeilen  eines  solchen  Kommentars  bleiben  unverändert,
     außer  daß  das  erste Zeichen jeder in der Box enthaltenen Zeile, das kein
     Leerzeichen ist, in dieselbe Spalte geschrieben wird, in der das erste Zei-
     chen  der	ersten Zeile des Kommentars, also der Schrägstrich, steht.  Box-
     Kommentare werden eingerückt (s.u.).

     Kommentare im MUTOS-Stil: Dieser Kommentartyp wird z.B. bei Teilüberschrif-
     ten  in Systemquellen verwendet. Wenn der Beginn eines Kommentars ("/*") in
     einer Zeile allein erscheint, interpretiert indent dies als einen Kommentar
     im  MUTOS-Stil. Dieser wird gleich einem Box-Kommentar behandelt, außer daß
     das  erste Zeichen einer Zeile, welches kein Leerzeichen ist, in die Spalte
     plaziert  wird,  in  der  in  der vorangegangenen Zeile der Stern ("*") von
     Schrägstrich-Stern ("/*") steht.

     Kommentare, die nicht geändert werden: Jeder in Spalte 1 beginnende Kommen-
     tar  bleibt unverändert. Dies ist hauptsächlich für Köpfe von Dokumentatio-
     nen sinnvoll. Der Test auf diese Art von Kommentaren wird	von  indent  vor
     dem Test auf einen Kommentar im MUTOS-Stil durchgeführt.

     Einfacher Text: Alle anderen Kommentare werden wie  einfacher  Text  behan-
     delt.  Das  Kommando indent schreibt soviele Wörter, die durch Leerzeichen,
     Tabulatoren oder Zeilenendezeichen getrennt sein können, in eine Zeile  wie
     möglich. Einfacher Kommentartext wird eingerückt.

     Kommentare einrücken

     Box-, MUTOS- und einfache Textkommentare können  eingerückt  werden.  Steht
     ein  Kommentar in einer Zeile mit Programm-Code, wird er von indent so ein-
     geordnet, daß er in der "Kommentar-Spalte" beginnt, welche durch die Option
     -c_n_n_n  gesetzt  werden kann. Anderenfalls beginnt der Kommentar _n_n_n Einrük-
     kungsstufen früher, als der Programm-Code plaziert ist, wobei _n_n_n durch die
     Option  -d_n_n_n  festgelegt werden kann. Eingerückte Kommentare werden nie ab
     Spalte 1 geschrieben.  Ist der Programm-Code in einer Zeile so lang, daß er
     die  Kommentarspalte  überschreibt,  so  wird der Kommentar auf die nächste
     Zeile verschoben.

FEHLERMITTEILUNGEN
     Fehlermitteilungen weisen meist auf Textzeilen hin, die  gebrochen  wurden,
     oder auf solche, die zu lang für eine Ausgabezeile sind.

FILES
     .indent.pro    profile-File










3/89					 - 3 -





