aboutsummaryrefslogtreecommitdiff
path: root/gdb/contrib
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2019-11-25 23:00:03 +0100
committerTom de Vries <tdevries@suse.de>2019-11-25 23:00:03 +0100
commit3cf2f2377e460608b94a8ba5c3f23c7e4b2dc232 (patch)
tree610a000a024e7a3601004d7ab6d704b663164fb4 /gdb/contrib
parent5b89c67adb1c6340db2f5afa5030f2bea7c583f4 (diff)
downloadgdb-3cf2f2377e460608b94a8ba5c3f23c7e4b2dc232.zip
gdb-3cf2f2377e460608b94a8ba5c3f23c7e4b2dc232.tar.gz
gdb-3cf2f2377e460608b94a8ba5c3f23c7e4b2dc232.tar.bz2
[gdb/contrib] Add -c option to words.sh script
The words.sh script in its current form extracts c comments from files, which it then transforms into a list of words. To use the script on the documentation (as I did for commit 6b92c0d3533 "[gdb/doc] Fix typos"), I needed to disable the "extract c comments" part. Add an option -c that enables extracting c comments, and is off by default. gdb/ChangeLog: 2019-11-25 Tom de Vries <tdevries@suse.de> * contrib/words.sh: Add -c option. Change-Id: Ifa34d435b3c41b3ff845dc07ae4b0d9f02d92a2d
Diffstat (limited to 'gdb/contrib')
-rwxr-xr-xgdb/contrib/words.sh29
1 files changed, 21 insertions, 8 deletions
diff --git a/gdb/contrib/words.sh b/gdb/contrib/words.sh
index ec8bcd0..d4c436d 100755
--- a/gdb/contrib/words.sh
+++ b/gdb/contrib/words.sh
@@ -14,17 +14,20 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# This script intends to facilitate spell checking of comments in C sources.
+# This script intends to facilitate spell checking of source/doc files.
# It:
-# - extracts comments from C files
-# - transforms the comments into a list of lowercase words
+# - transforms the files into a list of lowercase words
# - prefixes each word with the frequency
# - filters out words within a frequency range
# - sorts the words, longest first
#
+# If '-c' is passed as option, it operates on the C comments only, rather than
+# on the entire file.
+#
# For:
# ...
-# $ ./gdb/contrib/words.sh $(find gdb -type f -name "*.c" -o -name "*.h")
+# $ files=$(find gdb -type f -name "*.c" -o -name "*.h")
+# $ ./gdb/contrib/words.sh -c $files
# ...
# it generates a list of ~15000 words prefixed with frequency.
#
@@ -36,7 +39,8 @@
#
# And for:
# ...
-# $ ./gdb/contrib/words.sh -f 1 $(find gdb -type f -name "*.c" -o -name "*.h")
+# $ files=$(find gdb -type f -name "*.c" -o -name "*.h")
+# $ ./gdb/contrib/words.sh -c -f 1 $files
# ...
# it generates a list of ~5000 words with frequency 1.
#
@@ -45,8 +49,13 @@
minfreq=
maxfreq=
+c=false
while [ $# -gt 0 ]; do
case "$1" in
+ -c)
+ c=true
+ shift
+ ;;
--freq|-f)
minfreq=$2
maxfreq=$2
@@ -111,9 +120,13 @@ EOF
# Stabilize sort.
export LC_ALL=C
-awk \
- -f "$awkfile" \
- -- "$@" \
+if $c; then
+ awk \
+ -f "$awkfile" \
+ -- "$@"
+else
+ cat "$@"
+fi \
| sed \
-e 's/[!"?;:%^$~#{}`&=@,. \t\/_()|<>\+\*-]/\n/g' \
-e 's/\[/\n/g' \