File:  [CSRG BSD Unix] / 43BSD / contrib / icon / book / f / enrepl.icn
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 16:12:55 2018 UTC (8 years, 1 month ago) by root
Branches: MAIN, BSD
CVS tags: HEAD, BSD43
BSD 4.3

procedure enrepl(s)
   local c, s1
   s1 := ""
   s ? while c := move(1) do {
      i := 1 + (*tab(many(c)) | 0)
      if i > 4 then s1 ||:= c || "(" || i || ")"
      else s1 ||:= repl(c,i)
      }
   return s1
end

procedure derepl(s)
   local c, s1
   s1 := ""
   s ? {
      while s1 ||:= tab(upto('(') - 1) do {
         c := move(1)
         move(1)
         s1 ||:= repl(c,tab(upto(')')))
         move(1)
         }
      s1 ||:= tab(0)
      }
  return s1
end

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.