[Date Prev][Date Next][Subject Prev][Subject Next][ Date Index][ Subject Index]

Re: Reverse lines in a file?



** Reply to message from Norman Bauman  on Thu, 01 Jul 2004
16:23:35 -0400

Here's a revised/bugproofed version of the Xy4+ Reverse Sort
routine posted the other day, together with a slightly less
potent/speedy version using the same logic that works with
Xy3+ (tested with v358-B [http://www.xywrite.com/editor358b.zip]).
They are both XPLENCODeD below, and also separately "attached".


XPLeNCODE v2.0
b-gin [UNTITLED]
;*; Reverse Sort DeFined Block for Xy4+ R.J.Holmgren LastRev
{046}7/5/04[cr|lf];*;[cr|lf];*; Rules:[cr|lf];*;  Sort Block mus
t be DeFined[cr|lf];*;  All lines must terminate with a carr
iage return[cr|lf];*;  Recent U2 must be installed[cr|lf];*;
[cr|lf]{<}IF{<}VA$DF{>}>0{>}{<}SX01,{<}VA$DT{>}{>}[DZ_][WG_][
DE_]{<}SX02,{<}VA$DN{>}{>}{<}SX03,{<}VA$DS{>}{>}[BX_]es 1[Q2_
][BX_]ci/s [wC] [wC][Q2_]{<}IF@NOT({<}ER{>}){>}{<}SX04,{<}VA
$WC{>}{>}[XD_][DF_][CL_][DF_]{<}SV05{>}[XD_]{<}IF{<}IS05{>}==
"[cr|lf]"{>}{<}SX05,{<}PV03{>}{>}{<}SX06,{<}PV02{>}-{<}PV03{>
}{>}{<}SX50,{<}PV03{>}{>}[JM_]2.ReJuMP[Q2_]{<}IF{<}PV03{>}>0{
>}[DF_][CL_][DF_]{<}SV07{>}[CR_]{<}IF"[cr|lf]"{238}{<}IS07{>}
<>0{>}{<}PRSort list not preceded by carriage return - sort a
nyway? y|N{>}{<}SX07,{<}RC{>}{>}{<}IF@UPR({<}IS07{>})<>"Y"{>}
[XD_]{<}SV07,No sort{>}{<}LBA{>}{<}SX50,{<}PV01{>}{>}[JM_]2.s
etDT[Q2_]{<}SX07,{<}IS07{>}+" - Abort"{>}{<}PR@07{>}{<}EX{>}{
<}EI{>}{<}EI{>}[XD_]{<}EI{>}{<}SX07,1{>}{<}SX50,{<}PV02{>}{>}
[JM_]2.ReJuMP[Q2_][CL_]{<}LBB{>}{<}IF{<}PV07{>}<{<}PV04{>}{>}
[DP_]{<}SV08{>}[DN_]{<}SX09,{<}VA|08{>}{>}{<}SX50,{<}PV03{>}{
>}[JM_]2.ReJuMP[Q2_]{<}GT08{>}{<}SX50,{<}PV02{>}-1{>}[JM_]2.R
eJuMP[Q2_]{<}SX03,{<}PV03{>}+{<}PV09{>}{>}{<}SX07,{<}PV07{>}+
1{>}{<}GLB{>}{<}EI{>}{<}SX50,{<}PV05{>}{>}[JM_]2.ReJuMP[Q2_]{
<}SX50,{<}PV01{>}{>}[JM_]2.setDT[Q2_]{<}PRDone{>}{<}EX{>}{<}E
I{>}{<}SV07,Sort list does not terminate with carriage return
{>}{<}GLA{>}{<}EI{>}{<}SV07,No lines to sort{>}{<}GLA{>}{<}EI
{>}{<}PRNo DeFined block to Reverse Sort!{>}{<}EX{>}[cr|lf][c
r|lf][cr|lf]{<}GLA{>} Reverse Sort DeFined Block for Xy3+ R.
J.Holmgren LastRev.7/4/04[cr|lf] Rules:[cr|lf]  Sort Block m
ust be DeFined[cr|lf]  All lines must terminate with a
 carriage return[cr|lf][cr|lf]{<}LBA{>}{<}SX01,{<}VA$DF{>}{>}
{<}IF{<}PV01{>}<1{>}{<}PRNo DeFined block to Reverse Sort!{>}
{<}EX{>}{<}EI{>}{<}SX01,{<}VA$DT{>}{>}[WG_][DE_]{<}SX02,{<}VA
$DN{>}{>}{<}SX03,{<}VA$DS{>}{>}[XD_][DF_][CL_][DF_]{<}SV04{>}
[XD_]{<}SV05,[cr|lf]{>}{<}IF{<}IS05{>}{238}{<}IS04{>}<>0{>}{<
}LBB{>}[BC_][GT_]{<}PRNo terminal  - Abort{>}{<}EX{>}{<}E
I{>}{<}SX04,{<}PV03{>}{>}{<}SX06,{<}PV02{>}-{<}PV03{>}{>}{<}S
U07,{<}SX08,0{>}{<}LBC{>}[BC_]jmp {<}PV09{>}[XC_]{<}SX10,{<}C
P{>}{>}{<}IF{<}PV10{>}<>{<}PV09{>}{>}{<}IF{<}PV08{>}<2{>}{<}S
X08,{<}PV08{>}+1{>}{<}GLC{>}{<}EI{>}{<}EI{>}[NO_]{>}{<}SX09,{
<}PV03{>}{>}{<}GT07{>}{<}IF{<}PV03{>}>0{>}[DF_][CL_][DF_]{<}S
V11{>}[CR_]{<}IF{<}IS05{>}{238}{<}IS11{>}<>0{>}[BC_][GT_]{<}P
RNo preceding  - sort anyway? y|N{>}{<}SX11,{<}RC{>}{>}{<
}SV10,Y{>}{<}IF@UPR({<}IS11{>})<>{<}IS10{>}{>}[XD_]{<}PRAbort
{>}{<}EX{>}{<}EI{>}{<}EI{>}[XD_]{<}EI{>}{<}SX11,0{>}{<}LBD{>}
[BC_]se [255+048+065][XC_]{<}IF@NOT({<}ER{>}){>}{<}SX10,{<}C
P{>}{>}{<}IF{<}PV10{>}<={<}PV02{>}{>}{<}SX11,{<}PV11{>}+1{>}{
<}IF{<}PV10{>}<{<}PV02{>}{>}{<}GLD{>}{<}LBE{>}{<}EI{>}{<}IF{<
}PV11{>}>0{>}{<}SX12,1{>}{<}SX09,{<}PV02{>}{>}{<}GT07{>}[CL_]
{<}LBF{>}{<}IF{<}PV12{>}<{<}PV11{>}{>}[DP_]{<}SV13{>}[RD_]{<}
SX14,@SIZ({<}IS13{>}){>}{<}SX09,{<}PV03{>}{>}{<}GT07{>}{<}GT1
3{>}{<}SX09,{<}PV02{>}-1{>}{<}GT07{>}{<}SX03,{<}PV03{>}+{<}PV
14{>}{>}{<}SX12,{<}PV12{>}+1{>}{<}GLF{>}{<}EI{>}{<}SX09,{<}PV
04{>}{>}{<}GT07{>}{<}SX09,{<}PV01{>}{>}[BC_][GT_]{<}PRDone{>}
{<}EX{>}{<}EI{>}{<}EI{>}{<}GLE{>}{<}EI{>}{<}GLB{>}[cr|lf][cr|
lf]
-nd
XPLeNCODE

-----------------------------
Robert Holmgren
holmgren@xxxxxxxx
-----------------------------

Attachment: REVSORT.PM
Description: Binary data

Attachment: REVSORT3.PM
Description: Binary data