[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