#! /bin/bash -eu
# Last edited on 2026-06-29 11:46:00 by stolfi

export LC_ALL=en_US.utf8
export LANG=en_US.utf8
export LC_CTYPE=en_US.utf8

mkdir -p out

# Create the modified source files:

bencao_raw="in/2026-06-27-bencao-py.utf"
bencao_flp="out/2026-06-27-bencao-flip-py.utf"

cat ${bencao_raw} \
  | flip_first_last_chars.sed \
  > ${bencao_flp}
  
starps_raw="in/2026-06-27-starps-wc.ivp"
starps_flp="out/2026-06-27-starps-flip-wc.utf"
starps_nof="out/2026-06-27-starps-noao-flip-wc.utf"

cat ${starps_raw} \
  | flip_first_last_chars.sed \
  > ${starps_flp}

cat ${starps_raw} \
  | sed \
      -e 's:[ ]:  :g' \
      -e 's:[ ][qaoy][qaoy]*[ ]: X :g' \
      -e 's:[qaoy]::g' \
  | flip_first_last_chars.sed \
  > ${starps_nof}

for source in SBJ-raw SBJ-flp SPS-raw SPS-flp SPS-nof ; do
  if [[ "${source}" == "SBJ-raw" ]]; then
    ifile="${bencao_raw}"
    letters=( 'g' 'm' 'p' 's' 'w' 'z' )
  elif [[ "${source}" == "SBJ-flp" ]]; then
    ifile="${bencao_flp}"
    letters=( 'g' 'n' 'ǔ' 'ì' )
  elif [[ "${source}" == "SPS-raw" ]]; then
    ifile="${starps_raw}"
    letters=( 'q' 'y' 'o' 'k' 't' )
  elif [[ "${source}" == "SPS-flp" ]]; then
    ifile="${starps_flp}"
    letters=( 'd' 'h' 'k' 'l' 'm' 'n' 'o' 'r' 's' 't' 'y' )
  elif [[ "${source}" == "SPS-nof" ]]; then
    ifile="${starps_nof}"
    letters=( 'd' 'h' 'k' 'l' 'm' 'n' 'o' 'r' 's' 't' 'y' )
  else
    echo "** bug" 1>&2; exit 1
  fi
  
  opref="out/${source}"
  
  ofiles=()
  
  ofile="${opref}-abs.cts"
  echo "writing ${ofile} ..."
  cat ${ifile} \
    | compute_abs_counts.sh \
    > ${ofile}
  ofiles+=( ${ofile} )
    
  for let in "${letters[@]}"; do 
  
    alet=$( n063_pinyin_to_ascii.sh "${let}" )
    
    ofile="${opref}-cond-${alet}.cts"
    echo "writing ${ofile} ..."
    cat ${ifile} \
      | compute_cond_counts.sh "${let}" \
      > "${ofile}"
    ofiles+=( ${ofile} )
      
  done
  
  wd=$(( ${#ofiles[@]} * 15 ))  
  pr -w${wd} -m -t -s'|' "${ofiles[@]}" | expand > ${opref}-cond-all.txt
    
done
