#!/bin/sh
#

  gawk '
   function cgsub(CMDSTR,NEWCMDSTR,INLINESTR,  inlinetmp,newline,cmdpos){
     inlinetmp=INLINESTR; newline=""
#     CMDSTR=inputnamestr[j]; NEWCMDSTR=newnametmp
     while (inlinetmp != "")  
       {cmdpos=index(inlinetmp,CMDSTR)
        if (cmdpos>0)
          {newline=newline substr(inlinetmp,1,cmdpos-1) NEWCMDSTR
           inlinetmp=substr(inlinetmp,cmdpos+length(CMDSTR))
          }
        else
          {newline=newline inlinetmp; inlinetmp=""}
       }
      return newline
    }

  {inline=$0
   inline=cgsub("^^","\\x",inline)
   inline=cgsub("\\B","B",inline)
   print inline > "mtmp1@"

  }
  END{

  } ' $1
  
  echo "yes" > tmp@
  
  gawk '
 BEGIN{print "{" > "ch2gg.awk"}
 {
   outline="print " "\"" $0 "\"" " > " "\"" "mtmp2@" "\""
   print outline > "ch2gg.awk" 
  }
  END{
  print "}" > "ch2gg.awk"
  system("gawk -f ch2gg.awk tmp@")} ' mtmp1@

  gawk '
   function cgsub(CMDSTR,NEWCMDSTR,INLINESTR,  inlinetmp,newline,cmdpos){
     inlinetmp=INLINESTR; newline=""
#     CMDSTR=inputnamestr[j]; NEWCMDSTR=newnametmp
     while (inlinetmp != "")  
       {cmdpos=index(inlinetmp,CMDSTR)
        if (cmdpos>0)
          {newline=newline substr(inlinetmp,1,cmdpos-1) NEWCMDSTR
           inlinetmp=substr(inlinetmp,cmdpos+length(CMDSTR))
          }
        else
          {newline=newline inlinetmp; inlinetmp=""}
       }
      return newline
    }
  {inline=$0
   inline="\\" inline
   print inline > "mtmp@"
  } ' mtmp2@
  
  exit

