main shrubtools / nviz / scan.h
 1enum token {
 2	BUILD,
 3	DEFAULT,
 4	INCLUDE,
 5	POOL,
 6	RULE,
 7	SUBNINJA,
 8	VARIABLE,
 9};
10
11struct scanner {
12	FILE *f;
13	const char *path;
14	int chr, line, col;
15};
16
17extern struct evalstring **paths;
18extern size_t npaths;
19
20void scaninit(struct scanner *, const char *);
21void scanclose(struct scanner *);
22
23void scanerror(struct scanner *, const char *, ...);
24int scankeyword(struct scanner *, char **);
25char *scanname(struct scanner *);
26struct evalstring *scanstring(struct scanner *, _Bool);
27void scanpaths(struct scanner *);
28void scanchar(struct scanner *, int);
29int scanpipe(struct scanner *, int);
30_Bool scanindent(struct scanner *);
31void scannewline(struct scanner *);