xref: /plan9-contrib/sys/src/cmd/awk/proto.h (revision 219b2ee8daee37f4aad58d63f21287faa8e4ffdc)
13e12c5d1SDavid du Colombier extern	int	yywrap(void);
23e12c5d1SDavid du Colombier extern	void	setfname(Cell *);
33e12c5d1SDavid du Colombier extern	int	constnode(Node *);
43e12c5d1SDavid du Colombier extern	uchar	*strnode(Node *);
53e12c5d1SDavid du Colombier extern	Node	*notnull(Node *);
63e12c5d1SDavid du Colombier extern	int	yyparse(void);
73e12c5d1SDavid du Colombier 
83e12c5d1SDavid du Colombier extern	int	yylex(void);
93e12c5d1SDavid du Colombier extern	void	startreg(void);
103e12c5d1SDavid du Colombier extern	int	input(void);
113e12c5d1SDavid du Colombier extern	void	unput(int);
123e12c5d1SDavid du Colombier extern	void	unputstr(char *);
133e12c5d1SDavid du Colombier extern	int	yylook(void);
143e12c5d1SDavid du Colombier extern	int	yyback(int *, int);
153e12c5d1SDavid du Colombier extern	int	yyinput(void);
163e12c5d1SDavid du Colombier 
173e12c5d1SDavid du Colombier extern	void	*compre(uchar *);
183e12c5d1SDavid du Colombier extern	int	hexstr(char **);
193e12c5d1SDavid du Colombier extern	void	quoted(uchar **, uchar **, uchar *);
203e12c5d1SDavid du Colombier extern	int	match(void *, uchar *, uchar *);
213e12c5d1SDavid du Colombier extern	int	pmatch(void *, uchar *, uchar *);
223e12c5d1SDavid du Colombier extern	int	nematch(void *, uchar *, uchar *);
233e12c5d1SDavid du Colombier extern	int	countposn(uchar *, int);
243e12c5d1SDavid du Colombier extern	void	overflow(void);
253e12c5d1SDavid du Colombier 
263e12c5d1SDavid du Colombier extern	int	main(int, uchar **);
273e12c5d1SDavid du Colombier extern	int	pgetc(void);
283e12c5d1SDavid du Colombier 
293e12c5d1SDavid du Colombier extern	Node	*nodealloc(int);
303e12c5d1SDavid du Colombier extern	Node	*exptostat(Node *);
313e12c5d1SDavid du Colombier extern	Node	*node1(int, Node *);
323e12c5d1SDavid du Colombier extern	Node	*node2(int, Node *, Node *);
333e12c5d1SDavid du Colombier extern	Node	*node3(int, Node *, Node *, Node *);
343e12c5d1SDavid du Colombier extern	Node	*node4(int, Node *, Node *, Node *, Node *);
353e12c5d1SDavid du Colombier extern	Node	*stat3(int, Node *, Node *, Node *);
363e12c5d1SDavid du Colombier extern	Node	*op2(int, Node *, Node *);
373e12c5d1SDavid du Colombier extern	Node	*op1(int, Node *);
383e12c5d1SDavid du Colombier extern	Node	*stat1(int, Node *);
393e12c5d1SDavid du Colombier extern	Node	*op3(int, Node *, Node *, Node *);
403e12c5d1SDavid du Colombier extern	Node	*op4(int, Node *, Node *, Node *, Node *);
413e12c5d1SDavid du Colombier extern	Node	*stat2(int, Node *, Node *);
423e12c5d1SDavid du Colombier extern	Node	*stat4(int, Node *, Node *, Node *, Node *);
433e12c5d1SDavid du Colombier extern	Node	*valtonode(Cell *, int);
443e12c5d1SDavid du Colombier extern	Node	*rectonode(void);
453e12c5d1SDavid du Colombier extern	Node	*makearr(Node *);
463e12c5d1SDavid du Colombier extern	Node	*pa2stat(Node *, Node *, Node *);
473e12c5d1SDavid du Colombier extern	Node	*linkum(Node *, Node *);
483e12c5d1SDavid du Colombier extern	void	defn(Cell *, Node *, Node *);
493e12c5d1SDavid du Colombier extern	int	isarg(uchar *);
503e12c5d1SDavid du Colombier extern	uchar	*tokname(int);
513e12c5d1SDavid du Colombier extern	Cell *(*proctab[])(Node **, int);
523e12c5d1SDavid du Colombier 
533e12c5d1SDavid du Colombier extern	void	syminit(void);
543e12c5d1SDavid du Colombier extern	void	arginit(int, uchar **);
553e12c5d1SDavid du Colombier extern	void	envinit(uchar **);
563e12c5d1SDavid du Colombier extern	Array	*makesymtab(int);
573e12c5d1SDavid du Colombier extern	void	freesymtab(Cell *);
583e12c5d1SDavid du Colombier extern	void	freeelem(Cell *, uchar *);
593e12c5d1SDavid du Colombier extern	Cell	*setsymtab(uchar *, uchar *, double, unsigned int, Array *);
603e12c5d1SDavid du Colombier extern	int	hash(uchar *, int);
613e12c5d1SDavid du Colombier extern	void	rehash(Array *);
623e12c5d1SDavid du Colombier extern	Cell	*lookup(uchar *, Array *);
633e12c5d1SDavid du Colombier extern	double	setfval(Cell *, double);
643e12c5d1SDavid du Colombier extern	void	funnyvar(Cell *, char *);
653e12c5d1SDavid du Colombier extern	uchar	*setsval(Cell *, uchar *);
663e12c5d1SDavid du Colombier extern	double	r_getfval(Cell *);
673e12c5d1SDavid du Colombier extern	uchar	*r_getsval(Cell *);
683e12c5d1SDavid du Colombier extern	uchar	*tostring(uchar *);
693e12c5d1SDavid du Colombier extern	uchar	*qstring(uchar *, int);
703e12c5d1SDavid du Colombier 
71*219b2ee8SDavid du Colombier extern	void	recinit(unsigned int);
723e12c5d1SDavid du Colombier extern	void	initgetrec(void);
733e12c5d1SDavid du Colombier extern	int	getrec(uchar *);
743e12c5d1SDavid du Colombier extern	int	readrec(uchar *buf, int bufsize, FILE *inf);
753e12c5d1SDavid du Colombier extern	uchar	*getargv(int);
763e12c5d1SDavid du Colombier extern	void	setclvar(uchar *);
773e12c5d1SDavid du Colombier extern	void	fldbld(void);
783e12c5d1SDavid du Colombier extern	void	cleanfld(int, int);
793e12c5d1SDavid du Colombier extern	void	newfld(int);
803e12c5d1SDavid du Colombier extern	int	refldbld(uchar *, uchar *);
813e12c5d1SDavid du Colombier extern	void	recbld(void);
823e12c5d1SDavid du Colombier extern	Cell	*fieldadr(int);
833e12c5d1SDavid du Colombier extern	void	yyerror(char *);
843e12c5d1SDavid du Colombier extern	void	fpecatch(int);
853e12c5d1SDavid du Colombier extern	void	bracecheck(void);
863e12c5d1SDavid du Colombier extern	void	bcheck2(int, int, int);
873e12c5d1SDavid du Colombier extern	void	error(int, char *);
883e12c5d1SDavid du Colombier extern	void	eprint(void);
893e12c5d1SDavid du Colombier extern	void	bclass(int);
903e12c5d1SDavid du Colombier extern	double	errcheck(double, uchar *);
913e12c5d1SDavid du Colombier extern	int	isclvar(uchar *);
923e12c5d1SDavid du Colombier extern	int	isnumber(uchar *);
933e12c5d1SDavid du Colombier 
943e12c5d1SDavid du Colombier extern	void	run(Node *);
953e12c5d1SDavid du Colombier extern	Cell	*r_execute(Node *);
963e12c5d1SDavid du Colombier extern	Cell	*program(Node **, int);
973e12c5d1SDavid du Colombier extern	Cell	*call(Node **, int);
983e12c5d1SDavid du Colombier extern	Cell	*copycell(Cell *);
993e12c5d1SDavid du Colombier extern	Cell	*arg(Node **, int);
1003e12c5d1SDavid du Colombier extern	Cell	*jump(Node **, int);
1013e12c5d1SDavid du Colombier extern	Cell	*getline(Node **, int);
1023e12c5d1SDavid du Colombier extern	Cell	*getnf(Node **, int);
1033e12c5d1SDavid du Colombier extern	Cell	*array(Node **, int);
104*219b2ee8SDavid du Colombier extern	Cell	*adelete(Node **, int);
1053e12c5d1SDavid du Colombier extern	Cell	*intest(Node **, int);
1063e12c5d1SDavid du Colombier extern	Cell	*matchop(Node **, int);
1073e12c5d1SDavid du Colombier extern	Cell	*boolop(Node **, int);
1083e12c5d1SDavid du Colombier extern	Cell	*relop(Node **, int);
1093e12c5d1SDavid du Colombier extern	void	tfree(Cell *);
1103e12c5d1SDavid du Colombier extern	Cell	*gettemp(void);
1113e12c5d1SDavid du Colombier extern	Cell	*field(Node **, int);
1123e12c5d1SDavid du Colombier extern	Cell	*indirect(Node **, int);
1133e12c5d1SDavid du Colombier extern	Cell	*substr(Node **, int);
1143e12c5d1SDavid du Colombier extern	Cell	*sindex(Node **, int);
1153e12c5d1SDavid du Colombier extern	int	format(uchar *, int, uchar *, Node *);
1163e12c5d1SDavid du Colombier extern	Cell	*asprintf(Node **, int);
1173e12c5d1SDavid du Colombier extern	Cell	*aprintf(Node **, int);
1183e12c5d1SDavid du Colombier extern	Cell	*arith(Node **, int);
1193e12c5d1SDavid du Colombier extern	double	ipow(double, int);
1203e12c5d1SDavid du Colombier extern	Cell	*incrdecr(Node **, int);
1213e12c5d1SDavid du Colombier extern	Cell	*assign(Node **, int);
1223e12c5d1SDavid du Colombier extern	Cell	*cat(Node **, int);
1233e12c5d1SDavid du Colombier extern	Cell	*pastat(Node **, int);
1243e12c5d1SDavid du Colombier extern	Cell	*dopa2(Node **, int);
1253e12c5d1SDavid du Colombier extern	Cell	*split(Node **, int);
1263e12c5d1SDavid du Colombier extern	Cell	*condexpr(Node **, int);
1273e12c5d1SDavid du Colombier extern	Cell	*ifstat(Node **, int);
1283e12c5d1SDavid du Colombier extern	Cell	*whilestat(Node **, int);
1293e12c5d1SDavid du Colombier extern	Cell	*dostat(Node **, int);
1303e12c5d1SDavid du Colombier extern	Cell	*forstat(Node **, int);
1313e12c5d1SDavid du Colombier extern	Cell	*instat(Node **, int);
1323e12c5d1SDavid du Colombier extern	Cell	*bltin(Node **, int);
1333e12c5d1SDavid du Colombier extern	Cell	*printstat(Node **, int);
1343e12c5d1SDavid du Colombier extern	Cell	*nullproc(Node **, int);
1353e12c5d1SDavid du Colombier extern	FILE	*redirect(int, Node *);
1363e12c5d1SDavid du Colombier extern	FILE	*openfile(int, uchar *);
1373e12c5d1SDavid du Colombier extern	uchar	*filename(FILE *);
1383e12c5d1SDavid du Colombier extern	Cell	*closefile(Node **, int);
1393e12c5d1SDavid du Colombier extern	void	closeall(void);
1403e12c5d1SDavid du Colombier extern	Cell	*sub(Node **, int);
1413e12c5d1SDavid du Colombier extern	Cell	*gsub(Node **, int);
1423e12c5d1SDavid du Colombier 
143