/*
     extract - A network log processor
     Copyright (C) 1993 Douglas Lee Schales, David K. Hess, David R. Safford

     Please see the file `COPYING' for the complete copyright notice.

parser.h - 03/20/93

*/
#ifndef __PARSER_H__
#define __PARSER_H__

struct parsenode {
     struct parsenode *next; /* for stack */
     int nodetype;
#define KEY 0
#define VAL 1
#define OPER 2
#define UOPER 3
     unsigned long nodeval;
     struct parsenode *lhs;
     struct parsenode *rhs;
};

struct actionlist {
     struct actionlist *next;
     int action;
};

struct parsetree {
     struct parsetree *next;
     struct parsenode *conditions;
     struct actionlist *actions;
};

extern struct parsetree *parse(void);

#endif
