From: Alexis Ballier <aballier@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] [RFC] Forced/automatic USE flag constraints (codename: ENFORCED_USE)
Date: Sun, 4 Jun 2017 10:59:38 +0200 [thread overview]
Message-ID: <20170604105938.2b40157f@gentoo.org> (raw)
In-Reply-To: <20170603185835.57741ff0@gentoo.org>
Here's a quick n dirty code to play with, based on yours:
https://github.com/aballier/required-use
On Sat, 3 Jun 2017 18:58:35 +0200
Alexis Ballier <aballier@gentoo.org> wrote:
> > 1. ^^ ( pst1 pst2 pst3.. ) pst1? ( pt1 ) pst2? ( pt2 ) pst3? ( pt3
> > )..
$ python3 ./nsolve.py '^^ ( pst1 pst2 pst3 ) pst1? ( pt1 ) pst2? ( pt2
) pst3? ( pt3 )'
[[!pst1, !pst2, !pst3]? => [pst1], [pst1]? => [!pst2],
[pst1]? => [!pst3], [!pst1, pst2]? => [!pst3], [pst1]? => [pt1],
[pst2]? => [pt2], [pst3]? => [pt3]]
> > 2. ^^ ( pst1 pst2.. ) pst1? ( pt1 ) pst2? ( pt2 ).. ^^ ( pt1 pt2 )
$ python3 ./nsolve.py '^^ ( pst1 pst2 ) pst1? ( pt1 ) pst2? ( pt2 ) ^^
( pt1 pt2 )'
[[!pst1, !pst2]? => [pst1], [pst1]? => [!pst2], [pst1]? => [pt1],
[pst2]? => [pt2], [!pt1, !pt2]? => [pt1], [pt1]? => [!pt2]]
[[pt1]? => [!pt2]] can break [[pst2]? => [pt2]]
> ^^ ( pst1 pst2.. ) pst1? ( pt1 !pt2 ... ) pst2? ( !pt1 pt2 ... )..
$ python3 ./nsolve.py '^^ ( pst1 pst2 ) pst1? ( pt1 !pt2 ) pst2? ( !pt1
pt2 )'
[[!pst1, !pst2]? => [pst1], [pst1]? => [!pst2], [pst1]? => [pt1],
[pst1]? => [!pt2], [pst2]? => [!pt1], [pst2]? => [pt2]]
[[pst2]? => [!pt1]] can break [[pst1]? => [pt1]]
[[pst2]? => [pt2]] can break [[pst1]? => [!pt2]]
> pst1? ( pt1 !pt2 ... )
> pst2? ( !pt1? ( pt2 !pt3 ... ) )
> pst3? ( !pt1? ( !pt2? ( pt3 !pt4 ... ) ) )
$ python3 ./nsolve.py '^^ ( pst1 pst2 ) pst1? ( pt1 !pt2 ) pst2?
( !pst1? ( !pt1 pt2 ) )'
[[!pst1, !pst2]? => [pst1], [pst1]? => [!pst2], [pst1]? => [pt1],
[pst1]? => [!pt2], [pst2, !pst1]? => [!pt1], [pst2, !pst1]? => [pt2]]
All good.
> > 3. doc? ( || ( pt3 pt4 ) ) || ( pt1 pt2 pt3 pt4 )
$ python3 ./nsolve.py 'doc? ( || ( pt3 pt4 ) ) || ( pt1 pt2 pt3 pt4 )'
[[doc, !pt3, !pt4]? => [pt3], [!pt1, !pt2, !pt3, !pt4]? => [pt1]]
Note: the code only reports errors if a clause can break another clause
left to it. It doesn't do topological sorting nor cycle reporting yet.
Alexis.
next prev parent reply other threads:[~2017-06-04 8:59 UTC|newest]
Thread overview: 111+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-29 15:33 [gentoo-dev] [RFC] Forced/automatic USE flag constraints (codename: ENFORCED_USE) Michał Górny
2017-05-29 16:30 ` Kent Fredric
2017-05-29 16:44 ` Michał Górny
2017-05-29 18:00 ` Alexis Ballier
2017-05-29 21:23 ` Michał Górny
2017-05-29 21:31 ` Ciaran McCreesh
2017-05-29 22:01 ` Ulrich Mueller
2017-05-29 22:05 ` Ciaran McCreesh
2017-05-30 7:47 ` Alexis Ballier
2017-05-30 8:05 ` Ulrich Mueller
2017-05-30 8:10 ` Alexis Ballier
2017-05-30 7:42 ` Alexis Ballier
2017-05-30 8:22 ` Ciaran McCreesh
2017-05-30 8:46 ` Alexis Ballier
2017-05-30 8:56 ` Ciaran McCreesh
2017-05-30 9:25 ` Alexis Ballier
2017-05-30 12:00 ` Ulrich Mueller
2017-05-30 14:33 ` Michał Górny
2017-05-30 15:33 ` Alexis Ballier
2017-05-30 18:11 ` Michał Górny
2017-05-30 18:46 ` Alexis Ballier
2017-05-31 6:55 ` Michał Górny
2017-05-31 7:24 ` Ciaran McCreesh
2017-05-31 7:34 ` Alexis Ballier
2017-05-31 7:35 ` Michał Górny
2017-05-31 7:51 ` Ciaran McCreesh
2017-05-31 7:54 ` Alexis Ballier
2017-05-31 7:56 ` Alexis Ballier
2017-05-31 7:32 ` Alexis Ballier
2017-05-31 8:03 ` Michał Górny
2017-05-31 8:38 ` Alexis Ballier
2017-05-31 13:04 ` Michał Górny
2017-05-31 17:39 ` Alexis Ballier
2017-05-31 19:02 ` Michał Górny
2017-05-31 22:52 ` Ciaran McCreesh
2017-06-01 8:55 ` Alexis Ballier
2017-06-01 21:31 ` Michał Górny
2017-06-02 6:37 ` Michał Górny
2017-06-02 11:18 ` Alexis Ballier
2017-06-02 13:49 ` Michał Górny
2017-06-02 11:27 ` Alexis Ballier
2017-06-02 13:55 ` Michał Górny
2017-06-02 15:09 ` [gentoo-dev] " Martin Vaeth
2017-06-03 11:00 ` [gentoo-dev] " Alexis Ballier
2017-06-03 15:33 ` Michał Górny
2017-06-03 16:58 ` Alexis Ballier
2017-06-04 8:59 ` Alexis Ballier [this message]
2017-06-05 7:55 ` Alexis Ballier
2017-06-05 14:10 ` Michał Górny
2017-06-05 17:24 ` Alexis Ballier
2017-06-05 18:10 ` Michał Górny
2017-06-05 18:15 ` Ciaran McCreesh
2017-06-06 12:08 ` Alexis Ballier
2017-06-06 17:39 ` Michał Górny
2017-06-07 6:49 ` Michał Górny
2017-06-07 8:17 ` Alexis Ballier
2017-06-07 9:27 ` Michał Górny
2017-06-07 9:56 ` Alexis Ballier
2017-06-09 9:19 ` Michał Górny
2017-06-09 11:41 ` Alexis Ballier
2017-06-09 12:54 ` Michał Górny
2017-06-09 14:16 ` Alexis Ballier
2017-06-09 16:21 ` Michał Górny
2017-06-11 16:05 ` Alexis Ballier
2017-06-12 9:08 ` Alexis Ballier
2017-06-12 19:17 ` Michał Górny
2017-06-13 10:27 ` Alexis Ballier
2017-06-13 22:13 ` Michał Górny
2017-06-14 9:06 ` Alexis Ballier
2017-06-14 12:24 ` Michał Górny
2017-06-14 13:16 ` Alexis Ballier
2017-06-14 13:57 ` Michał Górny
2017-06-14 14:09 ` Alexis Ballier
2017-06-15 15:59 ` Michał Górny
2017-06-15 16:07 ` Alexis Ballier
2017-06-15 16:13 ` Ciaran McCreesh
2017-06-15 16:19 ` Alexis Ballier
2017-06-15 16:22 ` Ciaran McCreesh
2017-06-15 16:30 ` Alexis Ballier
2017-06-15 16:32 ` Ciaran McCreesh
2017-06-15 16:37 ` Alexis Ballier
2017-06-15 16:45 ` Ciaran McCreesh
2017-06-15 16:55 ` Alexis Ballier
2017-06-15 17:04 ` Ciaran McCreesh
2017-06-15 17:30 ` Alexis Ballier
2017-06-15 17:48 ` Ciaran McCreesh
2017-06-15 18:09 ` Alexis Ballier
2017-06-15 17:38 ` Michał Górny
2017-06-15 18:05 ` Alexis Ballier
2017-06-14 14:28 ` Alexis Ballier
2017-06-02 12:16 ` Alexis Ballier
2017-06-02 13:57 ` Michał Górny
2017-06-02 14:56 ` [gentoo-dev] " Martin Vaeth
2017-06-02 15:19 ` Ciaran McCreesh
2017-06-02 16:26 ` Martin Vaeth
2017-06-02 18:31 ` Martin Vaeth
2017-06-02 1:17 ` [gentoo-dev] " A. Wilcox
2017-06-02 1:28 ` Rich Freeman
2017-06-02 1:33 ` A. Wilcox
2017-06-02 5:08 ` Michał Górny
2017-05-31 12:38 ` [gentoo-dev] " Duncan
2017-05-30 21:13 ` [gentoo-dev] " Kent Fredric
2017-05-30 8:29 ` Michał Górny
2017-05-30 9:34 ` Alexis Ballier
2017-05-30 14:12 ` Michał Górny
2017-05-29 19:24 ` Ciaran McCreesh
2017-05-29 19:42 ` Michał Górny
2017-05-29 19:44 ` Ciaran McCreesh
2017-06-05 8:26 ` Alexis Ballier
2017-06-09 12:35 ` Jason A. Donenfeld
2017-06-09 12:42 ` Michał Górny
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170604105938.2b40157f@gentoo.org \
--to=aballier@gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox