#! /bin/bash -e
# Last edited on 2026-01-16 18:31:20 by stolfi

# Reads a .ivt file like the working version of "text25e1".
# Writes out all 

cat \
  | gawk \
    ' BEGIN { split("", defined); }
      /^[#]/ {
        lin = $0;
        if (match(lin, /[&]{[^{}]*} *[=]/)) {
          code = substr($0, RSTART, RLENGTH);
          defn = substr($0, RSTART + RLENGTH);
          gsub(/[ ]*[=]/, "", code);
          gsub(/^[ ]+/, "", defn);
          if (code in defined) { printf "!! duplicate def %s\n", code > "/dev/stderr"; }
          defined[code] = 1;
          printf "%-10s = %s\n", code, defn;
        }
      } 
    ' \
  | sort \
  | uniq 
  
        
