* Eduardo Habkost <ehabk...@redhat.com> [2011-02-09 10:22]:
> On Wed, Feb 09, 2011 at 10:06:03AM -0600, Ryan Harper wrote:
> > > 
> > > Instead of regular expressions in the filters, the following syntax is 
> > > used:
> > > 
> > > , means OR
> > > .. means AND
> > > . means IMMEDIATELY-FOLLOWED-BY
> > 
> > Is there any reason we can't use | for or, and & for AND?  I know this
> > is just nit picking, but, it certainly reads easier and doesn't need a
> > translation.  AFAICT, in the implementation, we're just using .split(),
> > so, I think the delimiters aren't critical.
> 
> I think the main reason is that " " also means "OR" today (as we use
> .split() and I guess we don't want to diverge too much from the previous
> format), and having C-like operators that don't allow spaces would lead
> to confusion. e.g. I am sure somebody would try to write
> "foo & bar | baz" eventually--how would we interpret that?

isn't the comma taking the place for " " as OR? Are you keeping both?

".." looks like a mistake to me where one meant to put "."

I'd suggest ignoring " " as a OR operator, then as with most operations,
you need either parens or order of operation precendence which one
can use to interpret foo & bar | baz.


> 
> > 
> > > 
> > > Example:
> > > 
> > > only qcow2..Fedora.14, RHEL.6..raw..boot, smp2..qcow2..migrate..ide
> > > 
> > > means select all dicts whose names have:
> > > 
> > > (qcow2 AND (Fedora IMMEDIATELY-FOLLOWED-BY 14)) OR
> > > ((RHEL IMMEDIATELY-FOLLOWED-BY 6) AND raw AND boot) OR
> > > (smp2 AND qcow2 AND migrate AND ide)
> > 
> >   >>> config = "qcow2&Fedora.14|RHEL.6&raw&boot|smp2&qcow2&migrate&ide"
> >   >>> config
> >   'qcow2&Fedora.14|RHEL.6&raw&boot|smp2&qcow2&migrate&ide'
> >   >>> config.split("|")
> >   ['qcow2&Fedora.14', 'RHEL.6&raw&boot', 'smp2&qcow2&migrate&ide']
> 
> What bothers me about the examples above is the absense of spaces, that
> makes it not very readable to my eyes. 

I don't disagree, but the . and .. I don't find very readable either and
I need a look-up table to distinguish , from .. and . and " ".  The
logical operators are well known and recognized.


> 
> -- 
> Eduardo

-- 
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
ry...@us.ibm.com
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to