]> git.draconx.ca Git - dxcommon.git/blobdiff - scripts/gen-tree.awk
gen-tree.awk: Allow simple '#' comments.
[dxcommon.git] / scripts / gen-tree.awk
index d04378a81ff9161d3bc0605ed79ce1e1bec1162f..c461e5d1b97ec211575241408a54d03d4f63530a 100755 (executable)
@@ -5,9 +5,11 @@
 # Generate one or more C array initializers to encode simple tree structures
 # in a compact format.
 #
-# Each nonempty line of the input file is either an option specification
-# or # a tree specification.  An option specification (described later)
-# begins with an @ character.  Other lines specify tree nodes.
+# Each nonempty line of the input file is either a comment, an option
+# specification or a tree specification.  Each line is distinguished by
+# its first character.  A # character introduces a comment, an @ character
+# introduces an option specification (described later), and all other
+# nonempty lines are tree nodes.
 #
 # The first field of a tree specification must be a valid C identifier,
 # optionally followed by a comma.  The identifiers used on non-leaf nodes
@@ -102,6 +104,10 @@ BEGIN {
   indent_stack[0] = 0;
 }
 
+# Comments
+NF == 0 { next }
+$0 ~ /^#/ { next }
+
 # Options
 sub(/^@/, "", $0) {
   if (NF == 1) {
@@ -118,7 +124,6 @@ sub(/^@/, "", $0) {
   next
 }
 
-NF == 0 { next }
 { indent = index($0, $1) - 1 }
 
 indent > 0 {