From nobody Thu May 2 00:25:25 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1606504295; cv=none; d=zohomail.com; s=zohoarc; b=JnJ9TQTAUIA1sbussgWKnLtY7wGW9wkgUDN7QiGgS7QMmQEhUQULZboKjShWXSHrAI2ENOrRa9yoA0G65DvJa+MhMKe3nq93+ubACCXc+5YnwZhAS5kN3NT7bCpwq9NAFJ6PIV6niiAAkZJQlXYSaxr+2zx1cBPX60Jz3YVR7gE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606504295; h=Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:Sender:Subject:To; bh=RirORJRAzZ0TLBou+kJsV06H4ICJf4hdRvC6Do4NShQ=; b=XO031VJQdCO1ee9WkJqbggc/61YHZ7Twf4TeKubrrkGApJOTfSpD/eSihUTpPN8o2b2A94xcSJDc6D2Eym5gopq+m8s7QmgGV3pU9fGgo49NG7zlIZ6TCdmtRCV5VmJCQNusqWOpkT1wR6RJmouLdZHkBCb/mqP7DVjiVosS+9Y= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 160650429567612.29507854729843; Fri, 27 Nov 2020 11:11:35 -0800 (PST) Received: from localhost ([::1]:42532 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kij9a-0003fv-Ej for importer@patchew.org; Fri, 27 Nov 2020 14:11:34 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47232) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kiif4-00041o-Ot for qemu-devel@nongnu.org; Fri, 27 Nov 2020 13:40:02 -0500 Received: from mout.kundenserver.de ([212.227.126.135]:54257) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kiif0-0002EE-Cz for qemu-devel@nongnu.org; Fri, 27 Nov 2020 13:40:02 -0500 Received: from orion.localdomain ([95.114.158.11]) by mrelayeu.kundenserver.de (mreue009 [212.227.15.167]) with ESMTPSA (Nemesis) id 1MDQqk-1ktCF033oM-00AZNi for ; Fri, 27 Nov 2020 19:39:56 +0100 From: "Enrico Weigelt, metux IT consult" To: qemu-devel@nongnu.org Subject: [PATCH] scripts: minikconf: support config titles Date: Fri, 27 Nov 2020 19:39:56 +0100 Message-Id: <20201127183956.11311-1-info@metux.net> X-Mailer: git-send-email 2.11.0 X-Provags-ID: V03:K1:ZRWLrxqxHkRqrOT58NTOyjiI5N38TzmZAqv9ASjS7H5aH3zBUuC x/qFNtUBfFHydDpIicnzoA4ndygYQIZHHkAhCMJe5EizKzEsVs+UiPYB9DcxdXN1SNondY0 VsylHD/XEYr/Y7WYCJC9SoVC+yeRCidPKaIJWs/KFK6fTR3xeoyvYcEnoENlaU+ouYxQ7JU c5u7/3PKa++s42eK0vdQw== X-UI-Out-Filterresults: notjunk:1;V03:K0:Aso1z0DzrNo=:m1eJFudYYAyRKghi5YXwBB iaZHmtdXrtG0+OKYlhbNKfx5NNJfCI+F+sol7izjlbU5Du2B2p7pgiGrdDp/uFalL3RiJ54ol jRMVkZzI95T5mRnjd8q8y5i0dTt9qDTT4plO6XfmATMIMqIiAnUdi/pB4SM74l1VgqBNZQavj Lkp4Np8L+34XRYoKrR/iWpIL1qMMwg6C89u6F7pFqzviioTphGNYFU5IFeBp+48tGzuLOwV18 M6OZmD1pSsrcFBffmL21IpCfdxwCEOvzWEsNX0m76HvBxMPsrCVOwmDNyaN8rBwSYfEG52Kzs C4vOnBWhJgQGEvlMhO8w13CkL3spDIxwpeR9EwI23LwcW3Byjnl96lBzRHIEJrtmqIa2iLnHt 1KPdMAAzTXuUzdOEVsiuoKTwXnWhR4MgKgvBvsBMSCeV5kfqAbNA8xSkQclnw Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=212.227.126.135; envelope-from=info@metux.net; helo=mout.kundenserver.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Fri, 27 Nov 2020 14:04:07 -0500 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Add support for config option titles, like the real kconfig does. Even though they're not presented anywhere yet (since minikconf only acts in the background), it's good to have them supported, so we can start adding descriptions in the Kconfig files. Signed-off-by: Enrico Weigelt, metux IT consult --- scripts/minikconf.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/scripts/minikconf.py b/scripts/minikconf.py index bcd91015d3..28c67906cb 100644 --- a/scripts/minikconf.py +++ b/scripts/minikconf.py @@ -206,6 +206,7 @@ class KconfigData: self.defined_vars =3D set() self.referenced_vars =3D dict() self.clauses =3D list() + self.title =3D None =20 # semantic analysis ------------- =20 @@ -290,6 +291,9 @@ class KconfigData: cond =3D (cond & var) if cond is not None else var self.clauses.append(KconfigData.SelectClause(symbol, cond)) =20 + def do_title(self, title): + self.title =3D title + def do_imply(self, var, symbol, cond=3DNone): # "config X imply Y [if COND]" is the same as # "config Y default y if X [&& COND]" @@ -323,6 +327,7 @@ TOK_BOOL =3D 15; TOKENS[TOK_BOOL] =3D '"bool"'; TOK_IF =3D 16; TOKENS[TOK_IF] =3D '"if"'; TOK_ID =3D 17; TOKENS[TOK_ID] =3D 'identifier'; TOK_EOF =3D 18; TOKENS[TOK_EOF] =3D 'end of file'; +TOK_QUOTED =3D 19; TOKENS[TOK_QUOTED] =3D 'quoted string'; =20 class KconfigParserError(Exception): def __init__(self, parser, msg, tok=3DNone): @@ -501,6 +506,7 @@ class KconfigParser: # property: DEFAULT y_or_n condition # | DEPENDS ON expr # | SELECT var condition + # | BOOL "comment" # | BOOL def parse_property(self, var): if self.tok =3D=3D TOK_DEFAULT: @@ -526,6 +532,9 @@ class KconfigParser: self.data.do_imply(var, symbol, cond) elif self.tok =3D=3D TOK_BOOL: self.get_token() + if self.tok =3D=3D TOK_QUOTED: + self.data.do_title(self.val) + self.get_token() else: raise KconfigParserError(self, 'Error in recursive descent?') =20 @@ -645,6 +654,11 @@ class KconfigParser: self.cursor =3D self.src.find('\n', self.cursor) self.val =3D self.src[start:self.cursor] return TOK_SOURCE + elif self.tok =3D=3D '"': + start =3D self.cursor + self.cursor =3D self.src.find('"', self.cursor)+1 + self.val =3D self.src[start:self.cursor] + return TOK_QUOTED; elif self.tok.isalnum(): # identifier while self.src[self.cursor].isalnum() or self.src[self.cursor]= =3D=3D '_': --=20 2.11.0