"> REGEXP(3)

REGEXP(3)
XENIX System V (21 èþíÿ 1987)

ÈÌß
regexp - êoìïèëèpyeò è pacïoçíaeò peãyëÿpíûe âûpaæeíèÿ

ÑÈÍÒÀÊÑÈÑ

	#define INIT <declarations>
	#define GETC() <getc code>
	#define PEEKC() <peekc code>
	#define UNGETC(c) <ungetc code>
	#define RETURN(pointer) <return code>
	#define ERROR(val) <error code>
	
	#include <regexp.h>
	
	char *compile (instring, expbuf, endbuf, eof)
	char *instring, *expbuf, *endpbuf;
	
	int step (string, expbuf)
	char *string, *expbuf;

ÎÏÈÑÀÍÈÅ
Çäecü oïècûâaþòcÿ ïpoãpaììû pacïoçíaâaíèÿ peãyëÿpíûx âûpaæeíèé oáùeão âèäa â ôopìe ed(1), oïpeäeëeííûx â /usr/include/regexp.h. Ýòoò ôaéë ècïoëüçyþò ïpoãpaììû ed(1), sed(1), grep(1), expr(1) è äp. Äëÿ ïoääepæaíèÿ coâìecòèìocòè peãyëÿpíûx âûpaæeíèé òoëüêo ýòoò ôaéë íyæäaeòcÿ â ìoäèôèêaöèè.

Ïpoãpaììû, ècïoëüçyþùèe ýòoò ôaéë, äoëæíû èìeòü cëeäyþùèe 5 ìaêpocoâ, oïpeäeëeíèe êoòopûx äoëæío ïpeäøecòâoâaòü oïepaòopy #include <regexp.h>. Ýòè ìaêpocû ècïoëüçyþòcÿ ïpoãpaììoé compile.

GETC()
Boçâpaùaeò çía÷eíèe cëeäyþùeão cèìâoëa â peãyëÿpíoì âûpaæeíèè. Ïocëeäyþùèe âûçoâû GETC() âoçâpaùaþò cëeäyþùèe cèìâoëû peãyëÿpíoão âûpaæeíèÿ.

PEEKC()
Boçâpaùaeò çía÷eíèe cëeäyþùeão cèìâoëa â peãyëÿpíoì âûpaæeíèè. Ïocëeäyþùèe âûçoâû PEEKC() âoçâpaùaþò òoò æe cèìâoë peãyëÿpíoão âûpaæeíèÿ (êoòopûé coâïaäaeò c o÷epeäíûì âoçâpaùaeìûì GETC() cèìâoëoì).

UNGETC(c)
Ïpèâoäèò ê òoìy, ÷òo apãyìeíò c còaíeò cèìâoëoì, êoòopûé âoçâpaòèò o÷epeäíoé âûçoâ GETC() (è PEEKC()). He áoëee oäíoão cèìâoëa ìoæío âepíyòü è ýòo áyäeò òoò, ÷òo ïpo÷òeò o÷epeäíoé âûçoâ GETC(). Çía÷eíèe ìaêpoca UNGETC(c) èãíopèpyeòcÿ.

RETURN(pointer)
Ýòoò ìaêpoc ècïoëüçyeòcÿ äëÿ íopìaëüíoão âûxoäa èç ïpoãpaììû compile. Óêaçaòeëü pointer yêaçûâaeò cèìâoë ïocëe ïocëeäíeão pacïoçíaííoão cèìâoëa peãyëÿpíoão âûpaæeíèÿ. Ýòo ècïoëüçyeòcÿ ïpoãpaììaìè, yïpaâëÿþùèìè pacïpeäeëeíèeì ïaìÿòè.

ERROR(val)
Ýòoò ìaêpoc ècïoëüçyeòcÿ äëÿ aâapèéíoão âûxoäa èç ïpoãpaììû compile. Apãyìeíò val ecòü íoìep oøèáêè (cì. òaáëèöy íèæe).