]> jfr.im git - irc/quakenet/newserv.git/blame - newsearch/parser.h
Merge.
[irc/quakenet/newserv.git] / newsearch / parser.h
CommitLineData
ffc11f03
CP
1#ifndef NEWSEARCH_PARSER_H
2#define NEWSEARCH_PARSER_H
3
4#include "newsearch.h"
5
6typedef struct stringlist {
7 struct stringlist *next;
8 char data[];
9} stringlist;
10
11typedef struct expressionlist {
12 struct expressionlist *next;
13 searchASTExpr expr[];
14} expressionlist;
15
16typedef struct parsertree {
17 expressionlist *exprlist;
18 stringlist *strlist;
19 int finished;
20 searchASTExpr root[];
21} parsertree;
22
23typedef parseFunc (*fnFinder)(char *, void *);
24
25parsertree *parse_string(searchCmd *, const char *);
26void parse_free(parsertree *);
27
28void resetparser(fnFinder fnf, void *arg, parsertree **result);
29
30extern char *parseStrError;
31
32#endif