Am 17.08.2019 um 02:23 schrieb Glenn Knickerbocker:
> [...]
> A way that's a little tricky but avoids messing with combining records
> is to use DROP LAST to delay a copy of the file by one record, [...]
> 
>   (end /) ...
>     | dup: fanout
>     | strfind '_'
>     | all: faninany
>     | ...
>     / dup:
>     | drop last 1
>     | strnfind '_'
>     | all:
> [...]

Awesome tricky -- thank you for this idea. Once more I learned
something from this list. (The 'if' Rob used in his suggestion was
also new to me.)

I will use RITA to find out the best solution. Even it's for hobby
only I am not happy with the performance of my pipeline, for files
of 50'000 lines and more I have to wait several seconds too much.

>     0 * * * Top of File * * *                                                 
>     1 /* RUSPIL EXEC: RedUce PIoneer trace Log */                             
>     2 "PIPE(end ?)<" arg(1),                                                  
>     3 '! strlit conditional append',        /* a broom for the runout cycle */
>     4 '! spec number 1 *-* nw',             /* insert a line number         */
>     5 '!a:lookup w2 autoadd master',        /* stumbled we over it earlier? */
>     6 '! spec /see line/ 1 *-* 13',         /* tag if YES                   */
>     7 '!b:faninany',                        /* gather with untagged         */
>     8 '! notinside /see/ / /',              /* keep only 1st line of rerun  */
>     9 '!c:l w1 /see/',                      /* keep reference lines         */
>    10 '!d:faninany',                        /* gather with treated rest     */
>    11 '!e:if between /see/ 2',              /* like Rob suggested:          */
>    12 '! join x05',                         /* make it 1 line of 2 columns  */
>    13 '! spec f2 1 write f1 1',             /* write it swapped             */
>    14 '!e:',                                /* end if                       */
>    15 '! >' arg(1),                         /* replace input file           */
>    16 '?a:!b:',                             /* short through                */
>    17 '?c:',                                /* from LOCATE                  */
>    18 '! spec stop anyeof a: w1 . select second b: w1 .',    /* compute the */
>    19    'if ^eof() then print a-b 1 *-* nw fi',        /* gap to next line */
>    20 '!d:'                                 /* to FANINANY                  */
>    21 exit rc                                                                 
>    22 * * * End of File * * *                                                 

Result may look like this:

>  SQRT     LOG      C1  V 80  Trunc=80 Size=902 Line=878 Col=1 Alt=0           
>   
>       
> !...+....1....+....2....+....3....+....4....+....5....+....6....+....7... 
>   876        1112       3867 00033        C=C+1   A                           
>   
>   877 see line             9 00035        CPEX    1                           
>   
>   878          29       4979 00312        P=      8                           
>   
>   879 see line          1120 00314        D1=(2)  #46                         
>   
>   880          70       5008 004CA        C=0     S                           
>   
>   881 see line          1162 004CD        P=      12                          
>   
>   882           1       5078 00D45        RTI                                 
>   
>   883        8909       5079 002BB        ?ST=1   14, GOYES +00026 [002E1]    
>   
>   884 see line          1344 002E1        ST=0    14                          
>   
>   885           1      13988 002C0        C=C+1   B                           
>   
>   886        2033      13989 002C3        GONC    -0000C [002B7]              
>   
>   887 see line          3855 002B7        GOSUB   +0018B [00442]              
>   
>   888          14      16022 002C6        GOSUB   +0037E [00644]              
>   
>   889 see line          3841 00644        D1=(5)  #20046                      
>   
>   890           1      16036 002CA        GONC    -00021 [002A9]              
>   
>   891           1      16037 002CD        P=      12                          
>   
>   892           1      16038 002CF        GOSUBL  +003E3 [006B2]              
>   
>   893           1      16039 006B2        ST=0    15                          
>   
>   894           1      16040 006B5        D1=(5)  #20047                      
>   
>   895           1      16041 006BC        C=0     W                           
>   
>   896           1      16042 006BF        DAT1=C  W                           
>   
>   897          22      16043 006C3        D1=(5)  #0074F                      
>   
>   898 see line          1164 006CA        D0=(5)  #2005D                      
>   
>   899           5      16065 002D5        GOSUB   +0016D [00442]              
>   
>   900 see line          3856 00442        GOLONG  +008FB [00D3D]              
>   
>   901           1      16070 002D9        ?ST=1   14, GOYES +00008 [002E1]    
>   
>   902           1      16071 002DE        SHUTDN                              
>   
>   903 * * * End of File * * *                                                 
>   
> ====>                                                      X E D I T  1 File  
>   
>  00:59:05                                  Enter your response in vscreen 
> XEDIT 

My goal is to find out how functions return a result to the
calculator's stack to enhance the emulator with a transfer from
the clipboard. (Don't waste your time with it, it's is hobby only.)

Ciao.....Mike
--
www.Ok.de - die kostenlose E-Mail Adresse

Reply via email to