linux-kernel-mentees.lists.linuxfoundation.org archive mirror
 help / color / mirror / Atom feed
From: Matthew Wilcox <willy@infradead.org>
To: Aditya <yashsri421@gmail.com>
Cc: "open list:DOCUMENTATION" <linux-doc@vger.kernel.org>,
	linux-kernel-mentees@lists.linuxfoundation.org,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Jonathan Corbet <corbet@lwn.net>
Subject: Re: [RFC v3] scripts: kernel-doc: fix typedef support for struct/union parsing
Date: Sat, 6 Mar 2021 15:20:01 +0000	[thread overview]
Message-ID: <20210306152001.GP2723601@casper.infradead.org> (raw)
In-Reply-To: <6a75c9f4-460f-f83e-7fe2-5a3a4c64232b@gmail.com>

On Sat, Mar 06, 2021 at 01:18:38PM +0530, Aditya wrote:
> On 6/3/21 11:55 am, Lukas Bulwahn wrote:
> > I agree. That might be a suitable clean-up to keep the code for
> > functions and struct/union parsing similar in style/spirit.
> > 
> > Aditya, would you like to create a patch for that?
> 
> Sure Lukas.
> I have a doubt though, Can't we use a single expression separated by
> "|" here, instead of multiple lines? i.e.,
> 
> $x =~
> s/__packed|__aligned|____cacheline_aligned_in_smp|____cacheline_aligned|__attribute__\s*\(\([a-z0-9,_\s\(\)]*\)\)\s*//;
> 
> 
> Probably we could do something similar for dump_function, i.e.,
> -    $prototype =~ s/^static +//;
> -    $prototype =~ s/^extern +//;
> -    $prototype =~ s/^asmlinkage +//;
> -    $prototype =~ s/^inline +//;
> -    $prototype =~ s/^__inline__ +//;
> -    $prototype =~ s/^__inline +//;
> -    $prototype =~ s/^__always_inline +//;
> -    $prototype =~ s/^noinline +//;
> 
> +    $prototype =~
> s/^(?:static|extern|asmlinkage|__?inline__?|__always_inline|noinline) +//;
> And so on for other regexps.
> 
> What do you think?

I think there's a tradeoff between speed / compactness and readability.
As someone who doesn't know perl particularly well, I can look at the
series of lines and say "Oh, it's stripping out these unwanted things".
Your one line, while undoubtedly more efficient, is considerably less
easy to understand.

Maybe there's another way to do it that's more efficient while not
sacrificing the readability?

Also, would your suggestion work for 'static inline void foo(void)'?
I think it needs to remove multiple occurrences of the things in the
regex.  But maybe that's what the ?: on the beginning is for?
_______________________________________________
Linux-kernel-mentees mailing list
Linux-kernel-mentees@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees

  reply	other threads:[~2021-03-06 15:20 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-22 16:03 [Linux-kernel-mentees] [RFC] scripts: kernel-doc: fix typedef support for struct parsing Aditya Srivastava
2021-02-22 17:49 ` Lukas Bulwahn
2021-02-22 21:40 ` Jonathan Corbet
2021-02-23 12:25   ` Aditya
2021-02-24 13:30   ` [RFC v2] scripts: kernel-doc: fix typedef support for struct/union parsing Aditya Srivastava
2021-02-25 11:48     ` Lukas Bulwahn
2021-02-25 14:50       ` [RFC v3] " Aditya Srivastava
2021-03-01 21:51         ` Jonathan Corbet
2021-03-06  4:35         ` Matthew Wilcox
2021-03-06  6:25           ` Lukas Bulwahn
2021-03-06  7:48             ` Aditya
2021-03-06 15:20               ` Matthew Wilcox [this message]
2021-03-07  7:36                 ` Aditya

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=20210306152001.GP2723601@casper.infradead.org \
    --to=willy@infradead.org \
    --cc=corbet@lwn.net \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel-mentees@lists.linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=yashsri421@gmail.com \
    /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;
as well as URLs for NNTP newsgroup(s).