File:  [CSRG BSD Unix] / 43BSD / contrib / icon / book / f / fixfunc.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 fix(exp)
   while exp ?:= 2(="(",tab(bal(')')),pos(-1))
   return lassoc(exp,'+-' | '*/') | rassoc(exp,'^') |
      func(exp) | exp
end

procedure func(exp)
   return exp ? tab(upto('(') + 1) || fix(tab(-1)) || tab(0)
end

unix.superglobalmegacorp.com

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