#! /bin/bash -e
# Last edited on 2025-05-19 03:25:11 by stolfi

cat \
  | egrep -e '[&]{' \
  | gawk \
      ' // {
          lin = $0;
          gsub(/^[#] *[&]{[^{}]*} * [=]/, "# [def]", lin);
          while (match(lin, /[&]{[^{}]*}/)) {
            pref = substr(lin, 1, RSTART-1);
            code = substr(lin, RSTART, RLENGTH);
            suff = substr(lin, RSTART + RLENGTH);
            gsub(/[!]/, "", code);
            printf "%-12s %s\n", code, $0;
            lin = suff;
          }
        }
      '
  
        
