summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: e79ca7c)
raw | patch | inline | side by side (parent: e79ca7c)
author | Junio C Hamano <junkio@cox.net> | |
Wed, 16 Aug 2006 20:58:32 +0000 (13:58 -0700) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Wed, 16 Aug 2006 20:58:32 +0000 (13:58 -0700) |
Signed-off-by: Junio C Hamano <junkio@cox.net>
builtin-grep.c | patch | blob | history |
diff --git a/builtin-grep.c b/builtin-grep.c
index 3ec99b70108021b266f6470d97efce9acd02b195..0bd517b2649af37d9980f85e784f9a00c3263922 100644 (file)
--- a/builtin-grep.c
+++ b/builtin-grep.c
}
}
-#if DEBUG
-static inline void indent(int in)
-{
- int i;
- for (i = 0; i < in; i++) putchar(' ');
-}
-
-static void dump_pattern_exp(struct grep_expr *x, int in)
-{
- switch (x->node) {
- case GREP_NODE_ATOM:
- indent(in);
- puts(x->u.atom->pattern);
- break;
- case GREP_NODE_NOT:
- indent(in);
- puts("--not");
- dump_pattern_exp(x->u.unary, in+1);
- break;
- case GREP_NODE_AND:
- dump_pattern_exp(x->u.binary.left, in+1);
- indent(in);
- puts("--and");
- dump_pattern_exp(x->u.binary.right, in+1);
- break;
- case GREP_NODE_OR:
- dump_pattern_exp(x->u.binary.left, in+1);
- indent(in);
- puts("--or");
- dump_pattern_exp(x->u.binary.right, in+1);
- break;
- }
-}
-
-static void looking_at(const char *msg, struct grep_pat **list)
-{
- struct grep_pat *p = *list;
- fprintf(stderr, "%s: looking at ", msg);
- if (!p)
- fprintf(stderr, "empty\n");
- else
- fprintf(stderr, "<%s>\n", p->pattern);
-}
-#else
-#define looking_at(a,b) do {} while(0)
-#endif
-
static struct grep_expr *compile_pattern_expr(struct grep_pat **);
static struct grep_expr *compile_pattern_atom(struct grep_pat **list)
{
struct grep_pat *p;
struct grep_expr *x;
- looking_at("atom", list);
-
p = *list;
switch (p->token) {
case GREP_PATTERN: /* atom */
struct grep_pat *p;
struct grep_expr *x;
- looking_at("not", list);
-
p = *list;
switch (p->token) {
case GREP_NOT:
struct grep_pat *p;
struct grep_expr *x, *y, *z;
- looking_at("and", list);
-
x = compile_pattern_not(list);
p = *list;
if (p && p->token == GREP_AND) {
struct grep_pat *p;
struct grep_expr *x, *y, *z;
- looking_at("or", list);
-
x = compile_pattern_and(list);
p = *list;
if (x && p && p->token != GREP_CLOSE_PAREN) {
static struct grep_expr *compile_pattern_expr(struct grep_pat **list)
{
- looking_at("expr", list);
-
return compile_pattern_or(list);
}