Subversion Repositories planix.SVN

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
96 7u83 1
/****************************************************************
2
Copyright (C) Lucent Technologies 1997
3
All Rights Reserved
4
 
5
Permission to use, copy, modify, and distribute this software and
6
its documentation for any purpose and without fee is hereby
7
granted, provided that the above copyright notice appear in all
8
copies and that both that the copyright notice and this
9
permission notice and warranty disclaimer appear in supporting
10
documentation, and that the name Lucent Technologies or any of
11
its entities not be used in advertising or publicity pertaining
12
to distribution of the software without specific, written prior
13
permission.
14
 
15
LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
16
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
17
IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY
18
SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
19
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
20
IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
21
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
22
THIS SOFTWARE.
23
****************************************************************/
24
 
25
extern	int	yywrap(void);
26
extern	void	setfname(Cell *);
27
extern	int	constnode(Node *);
28
extern	char	*strnode(Node *);
29
extern	Node	*notnull(Node *);
30
extern	int	yyparse(void);
31
 
32
extern	int	yylex(void);
33
extern	void	startreg(void);
34
extern	int	input(void);
35
extern	void	unput(int);
36
extern	void	unputstr(const char *);
37
extern	int	yylook(void);
38
extern	int	yyback(int *, int);
39
extern	int	yyinput(void);
40
 
41
extern	fa	*makedfa(const char *, int);
42
extern	fa	*mkdfa(const char *, int);
43
extern	int	makeinit(fa *, int);
44
extern	void	penter(Node *);
45
extern	void	freetr(Node *);
46
extern	int	hexstr(uschar **);
47
extern	int	quoted(uschar **);
48
extern	char	*cclenter(const char *);
49
extern	void	overflo(const char *);
50
extern	void	cfoll(fa *, Node *);
51
extern	int	first(Node *);
52
extern	void	follow(Node *);
53
extern	int	member(int, const char *);
54
extern	int	match(fa *, const char *);
55
extern	int	pmatch(fa *, const char *);
56
extern	int	nematch(fa *, const char *);
57
extern	Node	*reparse(const char *);
58
extern	Node	*regexp(void);
59
extern	Node	*primary(void);
60
extern	Node	*concat(Node *);
61
extern	Node	*alt(Node *);
62
extern	Node	*unary(Node *);
63
extern	int	relex(void);
64
extern	int	cgoto(fa *, int, int);
65
extern	void	freefa(fa *);
66
 
67
extern	int	pgetc(void);
68
extern	char	*cursource(void);
69
 
70
extern	Node	*nodealloc(int);
71
extern	Node	*exptostat(Node *);
72
extern	Node	*node1(int, Node *);
73
extern	Node	*node2(int, Node *, Node *);
74
extern	Node	*node3(int, Node *, Node *, Node *);
75
extern	Node	*node4(int, Node *, Node *, Node *, Node *);
76
extern	Node	*stat3(int, Node *, Node *, Node *);
77
extern	Node	*op2(int, Node *, Node *);
78
extern	Node	*op1(int, Node *);
79
extern	Node	*stat1(int, Node *);
80
extern	Node	*op3(int, Node *, Node *, Node *);
81
extern	Node	*op4(int, Node *, Node *, Node *, Node *);
82
extern	Node	*stat2(int, Node *, Node *);
83
extern	Node	*stat4(int, Node *, Node *, Node *, Node *);
84
extern	Node	*celltonode(Cell *, int);
85
extern	Node	*rectonode(void);
86
extern	Node	*makearr(Node *);
87
extern	Node	*pa2stat(Node *, Node *, Node *);
88
extern	Node	*linkum(Node *, Node *);
89
extern	void	defn(Cell *, Node *, Node *);
90
extern	int	isarg(const char *);
91
extern	char	*tokname(int);
92
extern	Cell	*(*proctab[])(Node **, int);
93
extern	int	ptoi(void *);
94
extern	Node	*itonp(int);
95
 
96
extern	void	syminit(void);
97
extern	void	arginit(int, char **);
98
extern	void	envinit(char **);
99
extern	Array	*makesymtab(int);
100
extern	void	freesymtab(Cell *);
101
extern	void	freeelem(Cell *, const char *);
102
extern	Cell	*setsymtab(const char *, const char *, double, unsigned int, Array *);
103
extern	int	hash(const char *, int);
104
extern	void	rehash(Array *);
105
extern	Cell	*lookup(const char *, Array *);
106
extern	double	setfval(Cell *, double);
107
extern	void	funnyvar(Cell *, const char *);
108
extern	char	*setsval(Cell *, const char *);
109
extern	double	getfval(Cell *);
110
extern	char	*getsval(Cell *);
111
extern	char	*getpssval(Cell *);     /* for print */
112
extern	char	*tostring(const char *);
113
extern	char	*qstring(const char *, int);
114
 
115
extern	void	recinit(unsigned int);
116
extern	void	initgetrec(void);
117
extern	void	makefields(int, int);
118
extern	void	growfldtab(int n);
119
extern	int	getrec(char **, int *, int);
120
extern	void	nextfile(void);
121
extern	int	readrec(char **buf, int *bufsize, FILE *inf);
122
extern	char	*getargv(int);
123
extern	void	setclvar(char *);
124
extern	void	fldbld(void);
125
extern	void	cleanfld(int, int);
126
extern	void	newfld(int);
127
extern	void	setlastfld(int);
128
extern	int	refldbld(const char *, const char *);
129
extern	void	recbld(void);
130
extern	Cell	*fieldadr(int);
131
extern	void	yyerror(const char *);
132
extern	void	fpecatch(int);
133
extern	void	bracecheck(void);
134
extern	void	bcheck2(int, int, int);
135
extern	void	SYNTAX(const char *, ...);
136
extern	void	FATAL(const char *, ...);
137
extern	void	WARNING(const char *, ...);
138
extern	void	error(void);
139
extern	void	eprint(void);
140
extern	void	bclass(int);
141
extern	double	errcheck(double, const char *);
142
extern	int	isclvar(const char *);
143
extern	int	is_number(const char *);
144
 
145
extern	int	adjbuf(char **pb, int *sz, int min, int q, char **pbp, const char *what);
146
extern	void	run(Node *);
147
extern	Cell	*execute(Node *);
148
extern	Cell	*program(Node **, int);
149
extern	Cell	*call(Node **, int);
150
extern	Cell	*copycell(Cell *);
151
extern	Cell	*arg(Node **, int);
152
extern	Cell	*jump(Node **, int);
153
extern	Cell	*awkgetline(Node **, int);
154
extern	Cell	*getnf(Node **, int);
155
extern	Cell	*array(Node **, int);
156
extern	Cell	*awkdelete(Node **, int);
157
extern	Cell	*intest(Node **, int);
158
extern	Cell	*matchop(Node **, int);
159
extern	Cell	*boolop(Node **, int);
160
extern	Cell	*relop(Node **, int);
161
extern	void	tfree(Cell *);
162
extern	Cell	*gettemp(void);
163
extern	Cell	*field(Node **, int);
164
extern	Cell	*indirect(Node **, int);
165
extern	Cell	*substr(Node **, int);
166
extern	Cell	*sindex(Node **, int);
167
extern	int	format(char **, int *, const char *, Node *);
168
extern	Cell	*awksprintf(Node **, int);
169
extern	Cell	*awkprintf(Node **, int);
170
extern	Cell	*arith(Node **, int);
171
extern	double	ipow(double, int);
172
extern	Cell	*incrdecr(Node **, int);
173
extern	Cell	*assign(Node **, int);
174
extern	Cell	*cat(Node **, int);
175
extern	Cell	*pastat(Node **, int);
176
extern	Cell	*dopa2(Node **, int);
177
extern	Cell	*split(Node **, int);
178
extern	Cell	*condexpr(Node **, int);
179
extern	Cell	*ifstat(Node **, int);
180
extern	Cell	*whilestat(Node **, int);
181
extern	Cell	*dostat(Node **, int);
182
extern	Cell	*forstat(Node **, int);
183
extern	Cell	*instat(Node **, int);
184
extern	Cell	*bltin(Node **, int);
185
extern	Cell	*printstat(Node **, int);
186
extern	Cell	*nullproc(Node **, int);
187
extern	FILE	*redirect(int, Node *);
188
extern	FILE	*openfile(int, const char *);
189
extern	const char	*filename(FILE *);
190
extern	Cell	*closefile(Node **, int);
191
extern	void	closeall(void);
192
extern	Cell	*sub(Node **, int);
193
extern	Cell	*gsub(Node **, int);
194
 
195
extern	FILE	*popen(const char *, const char *);
196
extern	int	pclose(FILE *);
197
 
198
extern  const char	*flags2str(int flags);