DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦ef6db4a7d⟧ TextFile

    Length: 2304 (0x900)
    Types: TextFile
    Names: »longstrtx«

Derivation

└─⟦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⟧ 

TextFile



;       longstring_tx         * page 1    8 10 80, 13.51;  

; longstring
; **********

if listing.yes
char 10 12 10

longstring = set 1

longstring = algol

external

  integer procedure longstring (tp,  læst_text, text);  
  ____________________________________________________________

  integer tp;  
  string   læst_text, text;  

  comment
  text sammenlignes med læst_text indtil
  text = <::> eller indtil textstrengene er ens.
  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å.
  (bogstaverne i værdierne  bør altsaa
  være smaa. Paa denne maade kan egenavne i
  input staves med stort eller smaat).
  hvis mere end 6 tegn
  afbrydes kørslen med udskriften
  <:longtext:> 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'.

  gi no 80037
  oktober 1980
  annette lund pedersen;  
\f



comment longstring_tx         * page 2    8 10 80, 13.51;  

  begin
    long    læst, sam_text;  
    integer skift,  tegn;  
    boolean found;  
    læst:=long læsttext;  

    found := false;  
    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;  
    tp := 0;  
    repeat
    begin
      tp := tp + 1;  
      sam_text:= long text;  

      if sam_text shift (-23) extract 1 = 1 then
      system(9)run_time_alarm:(tp, <:<10>longtext:>);  

      comment if match , stop søgning;  
      if samtext = læst then
      found := true;  
    end
    until sam_text = long <::> or found;  

    if found then longstring := tp + 1
    else longstring := 1;  

  end of longstring;  

end

if warning.yes
(mode 0.yes
message longstring not ok
lookup longstring)
▶EOF◀