X-Git-Url: https://git.distorted.org.uk/~mdw/anag/blobdiff_plain/50959b4c09f71154c6a024e87c37ebcfc21205ae..fe9969ffd7c155edc44c871c4abcf6f5ab208519:/anag.c diff --git a/anag.c b/anag.c index 6be2a4e..56aa565 100644 --- a/anag.c +++ b/anag.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: anag.c,v 1.5 2002/08/11 12:58:09 mdw Exp $ + * $Id: anag.c,v 1.6 2003/09/15 02:48:54 mdw Exp $ * * Main driver for anag * @@ -29,6 +29,9 @@ /*----- Revision history --------------------------------------------------* * * $Log: anag.c,v $ + * Revision 1.6 2003/09/15 02:48:54 mdw + * Monoalphabetic match filter. + * * Revision 1.5 2002/08/11 12:58:09 mdw * Added support for regular expression matching, if supported by the C * library. @@ -89,6 +92,7 @@ The basic tests in the expression are:\n\ -subgram WORD matches words which only use letters in WORD\n\ -wildcard PATTERN matches with wildcards `*' and `?'\n\ -trackword WORD matches words which can be found in a trackword\n\ +-mono PATTERN matches words isomorphic to the given PATTERN\n\ " #ifdef HAVE_REGCOMP "\ @@ -118,7 +122,7 @@ enum { O_HELP, O_VERSION, O_USAGE, O_FILE, O_AND, O_OR, O_NOT, O_LPAREN, O_RPAREN, - O_ANAG, O_SUBG, O_WILD, O_TRACK, O_REGEXP, + O_ANAG, O_SUBG, O_WILD, O_TRACK, O_REGEXP, O_MONO, O_EOF }; @@ -148,6 +152,7 @@ static const struct opt opttab[] = { { "subgram", 1, 0, O_SUBG }, { "wildcard", 1, 0, O_WILD }, { "trackword", 1, 0, O_TRACK }, + { "mono", 1, 0, O_MONO }, #ifdef HAVE_REGCOMP { "regexp", 1, 0, O_REGEXP }, #endif @@ -354,6 +359,7 @@ static void p_factor(p_ctx *p, node **nn) #ifdef HAVE_REGCOMP case O_REGEXP: *nn = regexp(p->a + 1); break; #endif + case O_MONO: *nn = mono(p->a + 1); break; default: die("syntax error near `%s': unexpected token", *p->a); } p_next(p);