|
|
1.1 ! root 1: # LAM(1) ! 2: # ! 3: # Laminate files ! 4: # ! 5: # Thomas R. Hicks ! 6: # ! 7: # Last modified 7/28/83 ! 8: # ! 9: ! 10: global fndxs ! 11: ! 12: procedure main(a) ! 13: local bufs, i ! 14: bufs := list(*a) ! 15: fndxs := [] ! 16: if (*a = 0) | a[1] == "?" then Usage() ! 17: every i := 1 to *a do { ! 18: if a[i] == "-" then { ! 19: a[i] := &input ! 20: put(fndxs,i) ! 21: } ! 22: else if match("-",a[i]) then { ! 23: bufs[i] := a[i][2:0] ! 24: a[i] := &null ! 25: } ! 26: else { ! 27: if not (a[i] := open(a[i])) then ! 28: stop("Can't open ",a[i]) ! 29: else put(fndxs,i) ! 30: } ! 31: } ! 32: if 0 ~= *fndxs then lamr(a,bufs) else Usage() ! 33: end ! 34: ! 35: procedure lamr(args,bufs) ! 36: local i, j ! 37: every i := !fndxs do ! 38: bufs[i] := (read(args[i]) | &null) ! 39: while \bufs[!fndxs] do { ! 40: every j := 1 to *bufs do ! 41: writes(\bufs[j]) ! 42: write() ! 43: every i := !fndxs do ! 44: bufs[i] := (read(args[i]) | &null) ! 45: } ! 46: end ! 47: ! 48: procedure Usage() ! 49: stop("usage: lam file [file | -string]...") ! 50: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.