転写指令copy行の転写を行う。形式は、
(.,.)k行3
指定された範囲を行3の後ろに転写する。転写だから指令を"c"にしたいが、 すでに使ってしまったので、苦しいが"k"とする。 転写指令ののためのdocmdの該当部分は、以下の通り。
else if (lin(i) == COPYCMD) {
i = i + 1
if (getone(lin,i,line3,status) == EOF)
status = ERR
if (status == OK)
if (ckp(lin,i,pflag,status) == OK)
if (defalt(curln,curln,status) == OK)
status = kopy(line3)
}
実際の転写はkopy()で行う。
Kopy()のRATFOR版は、以下の通り。
# kopy.r4 -- copy lines into aonother line
integer function kopy(line3)
integer line3
integer line,junk
integer gettxt,inject,nextln
include ctxt.fi
include clines.fi
kopy = ERR
if (line3 <= line1 | line3 < line2)
return
curln = line3
for (line = line1; line <= line2; line = nextln(line)) {
junk = gettxt(line)
kopy = inject(txt)
}
return
end
Kopy()のWATCOM fortran77版は、以下の通り。
c kopy.f -- copy lines into aonother line
integer function kopy(line3)
integer line3
integer line,junk
integer gettxt,inject,nextln
include ctxt.fi
include clines.fi
kopy = -3 ! ERR(-3)
if ((line3 .le. line1) .or. (line3 .lt. line2)) then
return
end if
curln = line3
line = line1
while (line .le. line2) do
junk = gettxt(line)
kopy = inject(txt)
line = nextln(line)
end while
return
end
※コメントの受付件数を超えているため、この記事にコメントすることができません。