[Dctrl-tools-devel] [SCM] Debian control file query tools branch, master, updated. 2.21.1-8-gb2a4f15
Antti-Juhani Kaijanaho
ajk at debian.org
Sun Apr 22 19:16:06 UTC 2012
The following commit has been merged in the master branch:
commit a2f4080a78c84a53f9eb77a5f48bd4dea4aa3ab7
Author: Antti-Juhani Kaijanaho <ajk at debian.org>
Date: Sat Apr 21 11:54:51 2012 +0300
Document the predicate parser's grammar in comments
Signed-off-by: Antti-Juhani Kaijanaho <ajk at debian.org>
diff --git a/debian/copyright b/debian/copyright
index 72bb7f1..2381e3f 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -2,7 +2,7 @@ Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Files: *
Copyright: 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
- 2009, 2010, 2011
+ 2009, 2010, 2011, 2012
Antti-Juhani Kaijanaho
License: GPL-2+
diff --git a/grep-dctrl/grep-dctrl.c b/grep-dctrl/grep-dctrl.c
index 66a0828..f7ebd05 100644
--- a/grep-dctrl/grep-dctrl.c
+++ b/grep-dctrl/grep-dctrl.c
@@ -1,6 +1,6 @@
/* dctrl-tools - Debian control file inspection tools
Copyright © 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- 2010, 2011
+ 2010, 2011, 2012
Antti-Juhani Kaijanaho
This program is free software; you can redistribute it and/or modify
@@ -502,6 +502,23 @@ static void unexpected(int tok)
static struct predicate * parse_conj(struct arguments * args);
+
+/* prim -> TOK_LP conj TOK_RP
+ prim -> prim'
+
+ prim' -> primtok
+ prim' -> primtok prim'
+ prim' -> TOK_PAT prim''
+ prim' -> TOK_STR prim''
+
+ prim'' ->
+ prim'' -> primtok prim''
+
+ primtok -> TOK_FIELD
+ primtok -> TOK_ERGEX | TOK_REGEX
+ primtok -> TOK_ICASE | TOK_EXACT | TOK_WHOLE
+ primtok -> TOK_EQ | TOK_LT | TOK_LE | TOK_GE | TOK_GT
+*/
static struct predicate * parse_prim(struct arguments * args)
{
if (peek_token(args) == TOK_LP) {
@@ -637,6 +654,9 @@ failmode:
return 0;
}
+/* neg -> TOK_NOT prim
+ neg -> prim
+*/
static struct predicate * parse_neg(struct arguments * args)
{
bool neg = false;
@@ -649,6 +669,9 @@ static struct predicate * parse_neg(struct arguments * args)
return rv;
}
+/* disj -> neg
+ disj -> disj TOK_OR neg
+*/
static struct predicate * parse_disj(struct arguments * args)
{
struct predicate * rv = parse_neg(args);
@@ -660,6 +683,9 @@ static struct predicate * parse_disj(struct arguments * args)
return rv;
}
+/* conj -> disj
+ conj -> conj TOK_AND disj
+*/
static struct predicate * parse_conj(struct arguments * args)
{
struct predicate * rv = parse_disj(args);
@@ -671,6 +697,10 @@ static struct predicate * parse_conj(struct arguments * args)
return rv;
}
+/* predicate -> conj files
+ files ->
+ files -> TOK_STR files
+*/
static void parse_predicate(struct arguments * args)
{
args->toks_pos = 0;
--
Debian control file query tools
More information about the Dctrl-tools-devel
mailing list