/* Pattern matching routines */

/* How a pettern is stored */
typedef struct {
    value val;	 /* the pattern */
    var_list vl; /* Variables used in pattern */
} pattern;

pattern *make_pattern(char *); /* Make a pattern from a string expr */
void free_pattern(pattern *);
int match_pattern(pattern *, value); /* does a value match a pattern ? */

