regexp(5)
U N G E T C
(ptr)
R E T U R N
{val)
E R R O R
Die Funktion
c o m p i l e
Der Parameter instring wird von der Funktion
für Programme sinnvoll, die verschiedene Zeiger auf Eingabezeichen übergeben.
Manchmal wird er in der Deklaration
Funktionen auf Eingabezeichen ansetzen oder diese Zeichen in externen Feldern
gespeichert haben, können für diesen Parameter den Nullzeiger
ben.
Der zweite Parameter expbuf ist ein Zeiger vom Typ char. Er zeigt auf den Speicher
platz, wo der berechnete reguläre Ausdruck abgelegt werden soll.
Der Parameter endbuf zeigt unmittelbar hinter den Speicherplatz, wo der berechnete
reguläre Ausdruck abgelegt werden soll. Belegt der berechnete reguläre Ausdruck
mehr als
( e n d b u f - e x p b u f )
Der Parameter eof enthält das Zeichen, welches das Ende des regulären Ausdrucks
kennzeichnet. Es ist üblicherweise ein /.
Jedes Programm, das die Include-Datei <
Anweisung für
isierungen. Meist wird sie dafür verwendet, eine register Variable zu initialisieren,
so daß sie auf den Anfang des regulären Ausdrucks zeigt. Diese Variable kann dann
in den Deklarationen von
seits können damit externe Variable deklariert werden, die von
verwendet werden. (Siehe unten:
U N G E T C
Der erste Parameter von
dem Nullzeichen abgeschlossen sein sollte und die auf einen Treffer untersucht
wird.
Der zweite Parameter expbuf verweist auf den berechneten regulären Ausdruck, der
von der Funktion
04/92
Dieses Makro sorgt dafür, daß sein Argument den nächsten
Aufrufen von
G E T C
wird nie mehr als ein Zeichen benötigt, das auf den Stack
rückgepusht wird, und dieses wird garantiert beim nächsten
Aufruf von
gelesen. Der Rückgabewert von
G E T C
stets ignoriert.
Dieses Makro wird bei ordnungsgemäßem Ablauf von
für den Rücksprung verwendet. Der Inhalt des Arguments ptr ist
ein Zeiger, der auf das Zeichen hinter dem letzten des berechneten
regulären Ausdrucks zeigt. Das ist für Programme mit Speicher
verwaltung nützlich.
Dieses Makro wird bei fehlerhaftem Abarbeiten von
den Rücksprung verwendet. Das Argument val enthält eine Fehler
nummer, deren Bedeutung unter Exit-Codes aufgeführt ist. Aus
diesem Makro sollte kein Rücksprung in
hat folgende Syntax:
c o m p i l e
{instring, expbuf, endbuf, eof)
Bytes, erfolgt ein Aufruf von
enthalten. Sie dient individuellen Deklarationen und Initial
I N I T
GETC, P E E K C
und
s t e p
geliefert wurde.
c o m p i l e
und
wieder zur Verfügung steht. Es
P E E K C
c o m p i l e
selbst nicht benutzt, ist aber
c o m p i l e
benutzt (siehe unten). Programme, die
I N I T
E R R O R (50).
benutzt, muß eine
r e g e x p . h >
und
verwendet werden. Anderer
U N G E T C
BEISPIEL )
zeigt auf eine Zeichenkette, die mit
a d v a n c e
regexp(5)
wird
U N G E T C (c)
c o m p i l e
für
c o m p i l e
möglich sein.
überge
(char
*) 0
# d e f i n e
und
GETC, P E E K C
5-33