/* 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 ? */