Module Name:    src
Committed By:   christos
Date:           Wed Feb 24 14:51:21 UTC 2016

Added Files:
        src/bin/sh: mknodenames.sh

Log Message:
Simple script to create node names for debugging


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/bin/sh/mknodenames.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/bin/sh/mknodenames.sh
diff -u /dev/null src/bin/sh/mknodenames.sh:1.1
--- /dev/null	Wed Feb 24 09:51:21 2016
+++ src/bin/sh/mknodenames.sh	Wed Feb 24 09:51:20 2016
@@ -0,0 +1,40 @@
+#! /bin/sh
+
+test -t 1 && test "$#" -eq 0 && exec > nodenames.h
+
+echo "#ifdef DEBUG"
+echo '
+/*
+ * Automatically generated by '"$0"'
+ * DO NOT EDIT. Do Not "cvs add".
+ */
+'
+
+MAX=$(awk < nodes.h '
+	/#define/ {
+		if ($3 > MAX) MAX = $3
+	}
+	END { print MAX }
+')
+
+echo
+echo "STATIC const char * const NodeNames[${MAX} + 1] = {"
+
+grep '^#define' nodes.h | sort -k2n | while read define name number opt_comment
+do
+	: ${next:=0}
+	while [ "$number" -gt "$next" ]
+	do
+		echo '	"???",'
+		next=$(( next + 1))
+	done
+	echo '	"'"$name"'",'
+	next=$(( number + 1 ))
+done
+
+echo "};"
+echo
+echo '#define NODETYPENAME(type) \'
+echo '	((unsigned)(type) <= '"${MAX}"' ? NodeNames[(type)] : "??OOR??")'
+echo
+echo '#endif'

Reply via email to