Re: [RFC v2] scripts: kernel-doc: reduce repeated regex expressions into variables
From: Matthew Wilcox <willy@infradead.org>
Date: 2021-04-27 16:57:08
Also in:
linux-doc, lkml
On Tue, Apr 27, 2021 at 09:55:35AM -0600, Jonathan Corbet wrote:
The use of the variables here doesn't really make those expressions more readable.quoted
$members =~ s/\s*CRYPTO_MINALIGN_ATTR/ /gos; - $members =~ s/\s*____cacheline_aligned_in_smp/ /gos; - $members =~ s/\s*____cacheline_aligned/ /gos; + $members =~ s/\s*$cacheline_aligned_in_smp/ /gos; + $members =~ s/\s*$cacheline_aligned/ /gos; + my $args = qr{([^,)]+)}; # replace DECLARE_BITMAP $members =~ s/__ETHTOOL_DECLARE_LINK_MODE_MASK\s*\(([^\)]+)\)/DECLARE_BITMAP($1, __ETHTOOL_LINK_MODE_MASK_NBITS)/gos; - $members =~ s/DECLARE_BITMAP\s*\(([^,)]+),\s*([^,)]+)\)/unsigned long $1\[BITS_TO_LONGS($2)\]/gos; + $members =~ s/DECLARE_BITMAP\s*\($args,\s*$args\)/unsigned long $1\[BITS_TO_LONGS($2)\]/gos;Here too ... this is the kind of stuff that makes me glad that Colorado is a legal-weed state, and the new version, while better, doesn't change that basic fact.
I'm going to have to disagree with you on this one (I agree with you on all the others). I find this much easier to read ... "DECLARE_BITMAP followed by any amount of whitespace, literal open bracket, an argument, literal comma, whitespace, another argument, literal close bracket" Before, I get to "DECLARE_BITMAP followed by any amount of whitespace, then some line noise". Obviously I'm less experienced at reading regexes than you are, but this simplification really does help me.
I think I'll stop here; hopefully I've gotten my point across. I really like where this work is heading; focusing just a bit more on pulling the regexes together and making the whole thing more readable would be wonderful.
Amen. _______________________________________________ Linux-kernel-mentees mailing list Linux-kernel-mentees@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees