P8000/WEGA/contrib/ingres/dbs/sys/man/monitor

615 lines
27 KiB
Plaintext

MONITOR(IQL) DABA16 MONITOR(IQL)
NAME
monitor - interaktiver Terminal-Monitor
BESCHREIBUNG
Der Terminal-Monitor realisiert zusammen mit dem DBBS das
interaktive Interface (Nutzeroberflaeche) IQL von DABA.
Der Monitor stellt einen Monitor-Puffer, die Terminal-
Monitor-Kommando-Unterstuetzung und die Makrounterstuetzung
(Makroprozessor) (macros(iql)) nach seinem Start bereit.
Die von der Monitor-Kommando-Unterstuetzung verarbeiteten
Monitor-Kommandos erlauben u.a. in Zusammenarbeit mit einem
Editor und dem Makro-Prozessor die Manipulation des Inhaltes
des Monitor-Puffers. Dieser manipulierte Inhalt wird dem
DBBS als QL-Anfragenstapel uebergeben und von diesem ver-
arbeitet. Ausserdem gestatten die Kommandos einen vorueber-
gehenden Wechsel der interaktiven Umgebung (Shell bzw. Edi-
tor).
Die Monitor-Kommandos gestatten in vom Nutzer vorgefertigten
Kommandofiles (Monitor-Programme als Include-Files) eine Ab-
laufsteuerung. Diese Files (aber auch Terminal-Eingaben) ko-
ennen Monitor-Kommandos, Makro-Anweisungen und als wichtig-
ste QL-Anweisungen (bzw. Text, aus dem mittels Makro-
Substitution QL-Anweisungen erzeugt werden) enthalten.
Zusammenstellung der Monitor-Kommandos
Der Monitor-Puffer kann mit Monitor-Kommandos:
- geloescht (\reset, \r),
- editiert (Aufruf eines Editors) (\editor, \edit, \ed,
\e),
- angezeigt (\list, \l oder \print, \p),
- durch Terminal-Eingaben ersetzt (Eingabe nach \go
und Autoloeschfunktion "ein")
oder ergaenzt (Eingabe nach \append, \a oder \e, \l
bzw. \p),
- durch den Inhalt eines MUTOS-File ersetzt (\include,
\read, \i)
oder ergaenzt (\include, \read, \i nach \a, \l bzw.
\p) bzw.
- in ein MUTOS-File geschrieben (\write, \w)
werden.
Ausserdem gibt es Monitor-Kommandos fuer:
- die Flucht in eine MUTOS-Shell (\shell, \sh, \s),
- den Ausgang aus DABA (\quit, \q),
- die Verarbeitung eines sich im Puffer befindlichen
Monitor-Makros durch den Makroprozessor (\eval, \v),
- das Anzeigen von Uhrzeit und Datum (\date, \time, \d),
- das Anzeigen von Komponentenbeschreibungen des Handbuches
in Lang- oder Kurzform (\H bzw. \h),
- das Aendern des Arbeits-Directory (\chdir, \cd),
- das Setzen von Sprungmarken (\mark, \k),
- das Verzweigen zu einer Sprungmarke (\branch, \b)
(bedingt oder unbedingt),
- die Uebergabe des Inhaltes des Monitor-Puffers (QL-
Anfragenstapel) zur Verarbeitung durch das DBBS (\go, \g)
- und zur Aenderung des Kommandokennzeichens (\monitor, \m).
Nachrichten und Eingabe-Aufforderungen (Prompts)
Um den Nutzer ueber den Status des Monitors und des Anfragenpuf-
fers zu informieren, gibt der Terminal-Monitor verschiedene Nach-
richten aus.
Wenn DABA bereit ist, Eingaben zu akzeptieren, wird die Nachricht
"DABA>" angezeigt. Das bedeutet, dass der Anfragenpuffer leer
ist.
Die Nachricht "DABA:" erscheint, wenn der Anfragenpuffer nicht
leer ist.
In jedem Falle wird der Nutzer durch einen Stern "*" (Prompt) auf
der naechsten Zeile zur Eingabe aufgefordert.
Die Ausgaben "DABA>" bzw. "DABA:" und "*" werden bei einer "-s"-
Option unterdrueckt.
Der Monitor schreibt den Eingabetext in den Monitor-Puffer, je
nach eingestelltem Terminalmodus entweder sofort (cbreak-Modus)
oder erst nach <nl> (echo-Modus), dann sind Korrekturen vor <nl>
mit <kill> oder <erase> moeglich.
Bei der Eingabe werden alle Zeichen mit Ausnahme von <tab>, <nl>
und <escape>, die kleiner als oktal 040 sind, in Blanks konver-
tiert, wobei die Warnung:
Zeichen 0xx konvertiert in Blank
erscheint.
Nachdem die Eingabe in den Monitor-Puffer uebernommen wurde, kann
sie dort nur noch durch \edit editiert oder der gesamte Puffer
durch \reset geloescht werden.
Bei der Uebernahme der Eingabe in den Monitor-Puffer filtert der
Terminal-Monitor die Monitor-Kommandos aus und fuehrt diese so-
fort aus.
Das Monitor-Kommando \go (oder \g) uebergibt den Inhalt des
Monitor-Puffers an den Parser des DBBS, der die QL-Anweisungen
analysiert und zur Ausfuehrung weitergibt. Bei einer Bearbeitung
der Anfrage (bzw. Anfragenstapels) erscheint die Meldung:
DABA . . .
(nicht bei "-s"-Flag), wodurch signalisiert wird, dass der Moni-
tor auf die Beantwortung der Anfrage wartet.
Wird ein \edit- oder ein \shell-Kommando spezifiziert, erscheint
die Nachricht:
>>"Aufrufparameter"
So ergeben z.B. die Eingaben "\ed", "\sh" und "\sh ls -l die
Nachrichten ">>/bin/ed", ">>sh" und ">>ls -l". Im interaktiven
Modus des Editors (Eingabe: "\edit") bzw. der Shell (Eingabe:
"\sh") erscheinen anschliessend die Standard-Prompts dieser Pro-
gramme.
Nach einem \go-Monitor-Kommando (oder \eval) wird der Anfragen-
puffer standardmaessig (Autoloeschfunktion "ein") zur Loeschung
vorgemerkt. Wenn unmittelbar anschliessend eine andere Anfrage
eingegeben wird, erfolgt das Loeschen des Puffers. Es erfolgt
nicht, wenn unmittelbar nach der Bearbeitung des Anfragenstapels
(\go) bzw. nach \eval die Vormerkung zum Loeschen durch die Kom-
mandos \append, \print, \list oder \edit aufgehoben wurde.
Nach der Eingabe:
help teile
\go
print teile
enthaelt der Anfragenpuffer:
print teile
Die Eingabe :
help teile
\go
\print
print teile
ergibt als Inhalt des Anfragenpuffer :
help teile
print teile
Ist die Autoloeschfunktion ausgeschaltet ("aus"), wird jede neue
Anfrage an den Inhalt des Monitor-Puffers angehangen, sodass vor
einer Neueingabe der Puffer stets explizit mit dem \reset-
Kommando zu loeschen ist.
Monitor-Kommandos
Ein Monitor-Kommando besteht aus dem Kommandopraefix (Standard:
\), dem Namen des Monitor-Kommandos und wahlweisen Parametern als
Argument des Kommandos. Zwischen diesen Bestandteilen sind als
Trennzeichen entweder Leerzeichen oder Tabulatorzeichen erlaubt
(nach Kommandopraefix) bzw. notwendig (ansonsten).
Einige Terminal-Monitor-Kommandos enthalten nach dem Kommandona-
men bis zum Zeilenende ein Argument (u.U. aus mehreren Woertern)
(z.B. Filenamen). Diese Kommandos duerfen auf der Zeile kein
weiteres Kommando beinhalten. Die maximale ausgewertete Laenge
des Argumentes dieser Kommandos betraegt 100 Byte. Es ist zu be-
achten, dass das Argument dieser Kommandos ueber den Makro-
Prozessor ausgewertet wird!
Kommandos ohne Parameter koennen auf der Zeile aneinandergereiht
werden.
Durch
\date\go\date
wird die Zeit vor und nach der Ausfuehrung des Inhaltes des An-
fragenpuffers angezeigt.
Nachfolgend werden die Kommandos im Detail beschrieben, wobei al-
le Kommandos keinen Parameter haben duerfen, bei denen er in der
Erlaeuterung nicht erwaehnt wird.
\h
\help Anzeige einer Komponenten-Kurzbeschreibung (Name als
Parameter) bzw. der Kurzfassung des Inhaltsver-
zeichnisses der Komponenten (ohne Parameter).
\H
\HELP Anzeige einer Komponentenbeschreibung (Name als Para-
meter) bzw. des Inhaltsverzeichnisses der Kompo-
nenten (ohne Parameter).
\m
\monitor Ersetzen des \-Zeichens (Monitor-Kommandopraefix)
Ein Parameter ist das neue Terminal-Monitor-
Kommandopraefix. Wenn er fehlt, wird der Standard
(\) eingestellt.
Nach einer Neudefinition des Monitor-Praefixes
sind u.U. bestehende Kommando-Files (Include-
Files) nicht mehr abarbeitbar!
\r
\reset Loeschen des Monitor-Puffers (Ruecksetzen des Anfra-
genpuffers). Danach ist der Inhalt des Anfragen-
puffers unwiederbringlich verloren.
\p
\print Anzeigen des Anfragenpuffers. Der Inhalt des Anfra-
genpuffers wird (ohne Veraenderung durch den
Makro-Prozessor) am Terminal des Nutzers ange-
zeigt.
\l
\list Anzeigen des aktuellen Anfragenstapels, nach der
Makro-Verarbeitung. Nebeneffekte bei der Arbeit
des Makro-Prozessors, wie z.B. die Makro-
Definition, werden ausgefuehrt. Dem Makroprozes-
sor wird der Inhalt des Monitor-Puffers ueberge-
ben, dem der Makro {begintrap} vorangestellt und
der Makro {endtrap} nachgestellt werden. Damit
wird dem Nutzer angezeigt, welcher Text dem Parser
des DBBS bei einem \go-Kommandos uebergeben werden
wuerde. Es ist zu beachten, dass bei wiederholter
Anwendung durch die vorherige Definition von Sub-
stitutionsmakros andere Ergebnisse auftreten ko-
ennen.
\v
\eval Der Makro-Prozessor verarbeitet den Anfragenpuffer und
ersetzt seinen Inhalt durch das Ergebnis der
Makro-Verarbeitung. Definierte Makros werden in
die Makro-Tabelle des Makro-Prozessors uebernommen
und sind damit aktiviert.
Im Unterschied zum \list-Kommando erfolgen kein
Einbeziehen der Makros {begintrap} und {endtrap}
und keine Anzeige am Terminal. Auf Standard-
Output wirkende Ausgaben der Makros {dump}, {type}
und {read...} werden ausgefuehrt.
Das \eval-Kommando ist das fuer die Abarbeitung
von Funktionsmakros zu bevorzugende Kommando.
\e
\ed
\edit
\editor Eintritt in einen der MUTOS-Text-Editoren (z.B. "ed"
als Standard-Text-Editor). Wird "ed" benutzt, ist
ein "w"- gefolgt von einem "q"-ed-Kommando ein-
zugeben, um die Steuerung an DABA zurueckzugeben.
Wird ein File-Name als Parameter spezifiziert, er-
folgt ein Aufruf zum Editieren dieses File und
nicht der Aufruf eines anderen Editors!
Wurde in einem der Start-Files der Makro
"{editor}" definiert, wird er benutzt, um den
Pfadnamen eines spezifizierten Editors (z.B. "vi"
oder "em") einzugeben. Standardmaessig (ohne
"{editor}"-Makro) wird als Pfadname "/bin/ed" be-
nutzt.
Innnerhalb des Editors darf kein "e"-
Kommandoaufruf erfolgen. Wenn er irrtuemlich doch
erfolgte, geht der Name des Anfragenpuffers ver-
loren.
\g
\go Verarbeitet die aktuelle Anfrage (Anfragenstapel). Der
Inhalt des Puffers wird vom Makro-Prozessor ver-
arbeitet, DABA uebergeben und ausgefuehrt. Bei
den tupelorientierten QL-Anweisungen "retrieve",
"replace", "append" und "delete" wird der Makro
{tuplecount} mit der Anzahl der bearbeiteten Tupel
definiert (an den Nutzer zurueckgegeben). Dem
Parser wird vom Makro-Prozessor der Inhalt des Mo-
nitorpuffers uebergeben, dem der Makro {begintrap}
voran und der Makro {endtrap} nachgestellt werden.
Es ist darauf zu achten, dass nach der Verarbei-
tung durch den Makro-Prozessor, dem DBBS aus-
schliesslich QL-Anweisungen uebergeben werden
(u.U. Bereinigen des Puffers).
\a
\append Anfuegen der folgenden Eingaben an den Anfragenpuf-
fer. Nach Eingabe eines \a wird die automatische
Loeschunterstuetzung des Anfragenpuffers (falls
sie "ein" war) ausgeschaltet und damit der Anfra-
genpuffer nicht zurueckgesetzt (kein reset).
\d
\time
\date Anzeigen der aktuellen Tageszeit und des Datums.
\s
\sh
\shell Flucht in eine MUTOS-Shell. Wurde der {shell}-Makro
definiert, wird dieses Shell-Programm zur aktiven
Shell. Wenn nicht, wird "/bin/sh" aktiv.
Der Aufruf des \shell-Monitor-Kommandos kann mit
oder ohne Parameter erfolgen.
Ein Aufruf ohne Parameter startet die Shell inter-
aktiv. Danach kann wie unter einer normalen, dem
Terminal zugeordneten Shell gearbeitet werden, bis
diese entsprechend den Konventionen (z.B.
Control-z oder Control-d ) verlassen wird und eine
Rueckkehr zum Monitor erfolgt.
Sind Parameter spezifiziert, werden diese als Auf-
ruf eines einzigen MUTOS-Programmes (1.Parameter
ist der Shell-Kommandoname (Filename des auszu-
fuehrendes Files), die weiteren Parameter sind die
dem Kommando zu uebergebenden Parameter) verstan-
den, das unter Steuerung der aktiven Shell abzu-
arbeiten ist. Anschliessend erfolgt automatisch
die Rueckkehr zum Monitor. Wenn z.B. "\shell ls
-l" spezifiziert wird, erfolgt die Anzeige des In-
haltes des Arbeits-Directory in der Langform und
anschliessend sofort die Rueckkehr zum Terminal-
Monitor.
\q
\quit Ausgang aus DABA (Verlassen des IQL-Interfaces).
\cd
\chdir Aendern des Arbeits-Directory fuer den Monitor in ein
benanntes Directory (Parameter).
\i
\include
\read Umschalten der Eingabe auf ein benanntes File (Parame-
ter). Backslash-Zeichen im File (Include-File)
werden wie bei der Eingabe vom Terminal behandelt.
Ohne Parameter wird die entsprechende Programmebe-
ne verlassen. In der Basis-Terminal-Ebene ent-
spricht die Wirkung dem \quit-Kommando.
Die maximale Schachtelungstiefe ist 5 (generie-
rungsabhaengig).
Ist in einem Include-File ein \read-Kommando mit
dem Zeichen "-" spezifiziert erfolgt die Meldung
"<Eingabe>" und zwischenzeitlich (bis <EOF>) ist
das Terminal die Eingabe. Anschliessend wird die
Eingabe aus dem Include-File fortgesetzt.
\w
\write Schreiben des Inhaltes des Anfragenpuffers in ein be-
nanntes File (Parameter). Der File-Modus eines
neu erstellten Files ist oktal "0644".
\b
\branch Springen (Verzweigen der Steuerung) bedingt (Frage-
zeichen, Ausdruck und Marke als Parameter) oder
unbedingt (Marke als Parameter) innerhalb eines
Include-File (s.a. Abschnitt "Springen").
\k
\mark Setzen einer Sprungmarke (Parameter). Diese ist die
Zielangabe eines auszufuehrenden \branch-
Kommandos.
\<irgendein anderes Zeichen>
Ignoriert irgendeine spezielle Bedeutung des nach-
folgenden Zeichens. Das erlaubt, das "\" als li-
terales Zeichen einzugeben (ql(iql). Es ist wich-
tig zu bemerken, dass Backslash-Folgen manchmal
durch den Makro-Prozessors verloren gehen. Des-
halb sind zwei Backslash zu schreiben, wenn einer
zu senden ist.
Makros
Eine ganaue Beschreibung der Makros ist in (macros(iql)) zu
finden.
Springen
Die \branch und \mark Kommandos erlauben ein beliebiges
Springen innerhalb eines Include-File. Dem \mark Kommando
muss eine Marke folgen. Dem \branch kann eine Marke folgen
(entspricht einem unbedingten Sprung), oder es folgt ein
Ausdruck, dem ein Fragezeichen ("?") vorangeht und eine Mar-
ke folgt (bedingter Sprung). Der Sprung wird ausgefuehrt,
wenn der Ausdruck groesser als Null ist.
Das Kommando :
\branch ?{tuplecount}<=0 notups
verzweigt zur Marke "notups", wenn der Makro "{tuplecount}"
kleiner oder gleich Null ist (keine relevanten Tupel).
Die Ausdruecke, die im \branch spezifizierbar sind, haben
folgende Einschraenkungen.
Die Operatoren +, -, *, /, <=, >=, <, >, =, and != sind, wie
ueblich definiert. Der linke, einstellige Operator "!" kann
fuer eine logische Negation benutzt werden. Leerzeichen
(Blanks) innerhalb des Ausdruckes sind nicht erlaubt, da ein
Leerzeichen den Ausdruck beendet. Folgende Besonderheiten
sind zu beachten:
- Ueberfluessige Endklammern werden ignoriert.
- Ueberfluessige Anfangsklammern ergeben Null aus
Ausdruckswert.
- Ein leerer Ausdruck bekommt den Wert Null.
- Nur ein nicht akzeptiertes Zeichen als Ausdruck hat den
Wert Null.
- Der Wert eines Zeichens, dass kein Operator ist wird Null.
- Die Division durch Null ergibt den Wert Null.
Wenn das \branch-Kommando als Eingabetext vom Terminal ge-
geben wurde, wird das abgelehnt ("Kein Sprung am Terminal").
Aus einem Include-File wird zuerst ein vorhandener Ausdruck
ausgewertet und bei einem Wert groeser Null ein Sprung ver-
sucht.
Wird eine Marke gefunden, wird mit der dieser Marke folgen-
den Textposition die Eingabe des Textes fortgesetzt.
Ist keine Marke gefunden worden, wird, falls der Makro {de-
fault} definiert wurde, zu dieser dort definierten Marke ge-
sprungen.
Andernfalls wird eine Meldung ausgegeben ("? Label ...").
IQL-Start
Beim IQL-Start (iql(mutos)) wird zuerst eine bei allen
DABA-MUTOS-Kommandos ausgefuehrte Startprozedur durchlaufen.
Dabei wird auf das MUTOS-File /etc/passwd zugegriffen und
der Eintrag des Nutzers "daba" gelesen. Aus diesem Eintrag
wird der Pfadname des Home-Directory gemerkt. Mit diesem
Pfadnamen (durch .../ gekennzeichnet) sind alle nachfolgen-
den DABA-Files lokalisierbar. Mit dem Nutzercode des auf-
rufenden Nutzers wird im File .../sys/etc/users ein Nutzer-
eintrag gelesen. Ist ein solcher nicht vorhanden, ist der
Nutzer nicht autorisiert DABA anzuwenden. Aus dem Nutzer-
eintrag wird ermittelt, ob der Nutzer berechtigt ist, die
spezifizierte Datenbank zu nutzen. Wenn ja, erfolgt eine
Pruefung auf das Vorhandensein dieser Datenbank. Anschlies-
send werden die spezifizierten Optionen (Flags) auf Gueltig-
keit geprueft. Danach erfolgt entsprechend der Prozessta-
belle im vorliegenden Falle das Laden des DBBS und des
Terminal-Monitor-Programmes.
Initialisierung
Nach Ablauf der allgemeinen Startprozedur steht das DBBS zur
Arbeit bereit, und es beginnt eine Startprozedur des
Terminal-Monitors (Initialisierung), bevor dieser seinen Ar-
beitszyklus beginnt.
Erstens werden vom Monitor-Programm die Makros {pathname},
{usercode}, {database} und {tuplecount} (macros(iql)) defi-
niert, sodass sie fuer die Nutzung bereitstehen.
Zweitens wird das allgemeine Initialisierungs- oder Start-
File (startup(files)) gelesen und verarbeitet. Dieses File
ist vorgesehen, um z.B. mittels Makrodefinitionen den fuer
alle Nutzer anwendbaren Standard-Editor und die Standard-
Shell zu definieren.
Ist im Nutzereintrag des Files "users" (users(files)) ein
nutzerspezifisches Start-File (Standard-Filename: ".ql")
spezifiziert, wird drittens dieses gelesen und verarbeitet.
Diese File kann die speziellen Spezifikationen des Nutzers
enthalten. So kann z.B. in diesem File ein nutzerspezifi-
scher Editor bzw. eine Shell definiert werden. Es ist aber
auch moeglich, mit den Spezifikationen vorbereitende nut-
zerspezifische Arbeiten auszufuehren.
Am Ende der Initialisierung wird die Steuerung standardma-
essig an das Nutzerterminal uebergeben.
Flags
Die Arbeitsweise des Terminal-Monitors wird durch folgende
Optionen (Flags) beim Aufruf des interaktiven Interface IQL
(iql(mutos)) gesteuert:
-d Anzeige (keine Anzeige) des Inhaltes des "dayfile" (day-
file(files)) (Standard: Anzeige).
-s Anzeige (keine Anzeige, "schweigendes Arbeiten") von
Monitor-Nachrichten (Standard: Anzeige). Das -s
Flag unterdrueckt alle Nachrichten (ausser Fehler-
nachrichten) des Monitors, einschliesslich der
Login- und Logout-Nachrichten sowie die Ausgabe
des "dayfile"-Inhaltes (entspricht -d Flag "ein")
und die Ausgabe der Eingabeaufforderungen
(Prompts).
-/+a Autoloeschfunktion (automatisches Loeschen des
Terminal-Monitorpuffers) "aus" ("ein") (Standard:
"ein"). Das -a Flag unterdrueckt die automatische
Loeschfunktion (nach \go bzw. \eval), sodass der
Anfragenpuffer nicht automatisch geloescht wird.
Die Wirkung ist so, als wuerde stets ein \append
nach jedem \go eingegeben werden.
Fuer den Nutzer bedeutet dies, dass vor jeder neu
eingegebenen Anfrage der Anfragenpuffer explizit
durch \reset geloescht werden muss.
Das -I Flag gestattet, zum IQL-Start ein Include-File einzuzie-
hen. Wurde das -I Flag mit einem Filenamen spezifiziert, wird
dieses File abgearbeitet, Standard-Input bleibt aber dem Terminal
zugeordnet.
Standardmaessig arbeitet der Terminal-Monitor in der Basis-
Terminal-Ebene (Eingaben von Standard-Input). Wenn ein Include-
File eingezogen wurde, erfolgt die Arbeit des Terminal-Monitors
durch das Include-File gesteuert, und das File ist die Quelle des
Eingabetextes. Werden aus dem Include-File neue Include-Files
eingezogen, kann das als neue Programmebene betrachtet werden.
Der Ruecksprung in die uebergeordnete Programmebene erfolgt durch
ein "include" ohne Operanden.
Erfolgte eine Fileumlenkung (Standard-Input einem File zugeord-
net), werden alle Eingaben aus diesem File erwartet.
Die Ausgaben des Monitors erfolgen stets auf Standard-Output
(i.allg. dem Terminal zugeordnet). Die Eingaben der Funktions-
makros {read} und {readdefine} (macros(iql)) werden in allen Pro-
grammebenen von Standard-Input erwartet.
Unterbrechungen
Wenn der Terminal-Monitor auf das Ende der Bearbeitung einer An-
frage durch das DBBS wartet, besteht die Moeglichkeit, die Arbeit
des DBBS durch ein Unterbrechungssignal (Control-c) zu unterbre-
chen, um die Steuerung dem Monitor zuruueckzugeben. Achtung, bei
der Bearbeitung von QL-Anweisungen, die die Datenbank veraendern,
ist eine Unterbrechung nicht angebracht (obwohl das DBBS fuer
"normale" Unterbrechungen nicht unterbrechbar ist)!
Eine Unterbrechung waehrend der Arbeit mit einem Include-File
fuehrt zur Rueckkehr in die Basis-Terminal-Ebene.
Ein <EOF> in einer unter der Basis-Terminal-Ebene liegenden Pro-
grammebene fuehrt zur Rueckkehr in die darueber liegenden Pro-
grammebene. Ein <EOF> in der Basis-Terminal-Ebene entspricht dem
\quit-Kommando.
Fehler
Die Kommandos \edit und \shell erfordern das Erzeugen eines neuen
Prozesses (Betriebssystem-Kommandos "fork" und "exec") . Gelingt
das nicht, erfolgen die Fehlermeldungen "edit: fork" bzw.
"shell: fork". Gelingt es nicht, die in den Makros {editor} bzw.
{shell} spezifizierten Programme zu laden, wird der Makro {error-
cout} auf den Wert -1 gesetzt und der Makro {exectrap} ausge-
fuehrt. Als Ergebnis werden die Fehlermeldungen "edit: exec"
bzw. "shell: exec" ausgegeben.
Liefern die Editor- bzw. Shell-Programme einen Rueckkehrwert ver-
schieden von Null, wird der Makro {exectrap} ausgefuehrt.
Bei einem \go-Kommando kann die Fehlermeldung "go: open 1" aus-
gegeben werden, wenn die Eroeffnung des Monitor-Puffers nicht ge-
lingt.
Bei einer ueber der maximal zugelassenen Schachtelungstiefe er-
folgenden \include-Kommando wird die Fehlermeldung "Mehr als 5
INCLUDE'S" ausgegeben.
Wurde ein \write-Kommando spezifiziert koennen die Fehlermeldun-
gen "unakzeptabler file name ..." und "create WRITE-file ..." er-
scheinen.
SIEHE AUCH
daba(mutos), macros(iql), ql(iql),
DIAGNOSE
DABA> Eine neue Anfrage kann begonnen werden.
DABA: Die vorherige Anfrage ist beendet, jedo-
ch enthaelt der Puffer einen Inhalt. Der
Monitor besitzt wieder die Steuerung.
DABA . . . Die Anfrage wird von DABA bearbeitet.
>>ed Es wird im MUTOS-Text-Editor gearbeitet.
>>sh Es wird zwischenzeitlich in der MUTOS-
Shell gearbeitet.
Zeichen 0xx konvertiert in Blank
DABA hat ein nichtdruckbares ASCII-
Zeichen (oktal 0xx) in Blank umgewan-
delt. Diese Nachricht zeigt an, dass
eine solche Konvertierung fuer das Zei-
chen (0xx) erfolgte.
FEHLERQUELLEN