<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/test/libapt/pattern_test.cc, branch 1.9.3</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=1.9.3</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=1.9.3'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2019-08-15T11:50:03Z</updated>
<entry>
<title>Add initial support for parsing patterns into parse trees</title>
<updated>2019-08-15T11:50:03Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-08-14T12:38:26Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=690ff4c3e44e7063ebde2557b7c0087ab720b894'/>
<id>urn:sha1:690ff4c3e44e7063ebde2557b7c0087ab720b894</id>
<content type='text'>
Introduce a parser for patterns that generates a parse tree. The
language understood by the parser is:

pattern = '?'TERM
        | '?'TERM '(' pattern (',' pattern)* ','? ')'
        | WORD
        | QUOTED-WORD
TERM    = [0-9a-zA-Z-]
WORD    = [0-9a-ZA-Z-.*^$\[\]_\\]
QUOTED_WORD = "..."		# you know what I mean

This language is context free, which is a massive simplification
from aptitude's language, where ?foo(bar) could have two different
meanings depending on whether ?foo takes an argument or not.
</content>
</entry>
</feed>
