|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 3072 (0xc00) Types: TextFile Names: »nrstringtx«
└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ. Detaljer om "HC8000" projekt. └─⟦0364f57e3⟧ └─⟦80900d603⟧ »giprocfile« └─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ. └─⟦b2ec5d50f⟧ └─⟦80900d603⟧ »giprocfile« └─⟦this⟧
; nr_string_tx * page 1 27 09 77, 11.35; ; nrstring ; ******** if listing.yes char 10 12 10 nrstring = set 1 nrstring = algol external integer procedure nrstring ( tp, text_ant, læst_text, text); ____________________________________________________________ value text_ant; integer text_ant, tp; string læst_text, text; comment Parameteren text evalueres med tp:= text_ant step -1 until 1 (Jensens device) og der søges en match mellem læst_text og værdierne af text. Genkendes læst_text ikke i text er procedurens værdi 1, ellers den tilsvarende værdi af tp+1. Eventuelle store bogstaver i den læste text erstattes ved sammenligningen med små. (bog staverne i værdierne bør altsaa være smaa. Paa denne maade kan egenavne i input staves med stort eller smaat). Der benyttes saa mange tegn af den læste text som den aktuelle værdi af text har. I den aktuelle version dog kun 1-6 . Er dette ikke opfyldt afbrydes kørslen med udskriften <:longtext:> eller <:shorttxt:> samt den tilsvarende værdi af tp (6 tegn er tilladt hvis det er tale om en 'text portion', ikke hvis det er en 'long text string', jft algol5 afs 3.6.3); begin long læst, sam_text; integer skift, i, tegn; læst:=long læsttext; \f comment nr_string_tx * page 2 27 09 77, 11.35 0 1 2 3 4 5 6 7 8 9 ; for skift:= -40 step 8 until 0 do begin comment store til små bogstaver; tegn:= læst shift skift extract 8; if tegn>64 and tegn<94 then læst:= læst shift (skift-8) shift 8 add (tegn+32) shift (-skift) + (læst shift (48+skift) shift (-48-skift)); if tegn=0 then skift:=0; end for skift:= -40; i:= 1; for tp:= text_ant step -1 until 1 do begin sam_text:= long text; comment evaluer text netop 1 gang pr gennemløb for at undgå dublering af eventuelle sideeffekter; if sam_text shift (-23) extract 1 = 1 then system(9)run_time_alarm:(tp, <:<10>longtext:>); for skift:= 8, skift-8 while sam_text shift skift extract 8 = 0 do; if skift<-40 then system(9, tp, <:<10>shorttxt:>); if sam_text = læst shift skift shift (-skift) then begin comment match fundet, stop søgning; i:= tp+1; tp:= 1; end if sam_text; end for tp:= text_ant; nrstring:= i; end of nrstring; end if warning.yes (mode 0.yes message nrstring not ok lookup nrstring) ▶EOF◀