#! /usr/bin/gforth : copy ( addrdst addrsrc len -- addrdstend ) over ( dst src len src ) + swap ( dst end src ) do ( dst+ ) i ( dst+ src+ ) c@ ( dst+ chr ) over ( dst+ chr dst+ ) c! ( dst+ ) 1+ loop ; : 0 ; : page_steps ( 0 [x] -- 0 x ) \ x muss ungleich 0 sein. falls x nicht vorhanden: 1 dup 0= if 1 then ; : n ( 0 [x] -- 0 ) page_steps ( ... x seiten weiterspringen ... ) ; : csi 27 c, 91 c, : <--> ; : <_> ; : <--> ; : csi c, <_> ; : csi c, <_> ; : begin , 0<> until ; \ : <+> ( addr1 len1 addr2 len2 -- addrdst lendst ) \ rot 2dup + here ( addr1 addr2 len2 len1 lendst addrdst ) \ 2-rot -rot ( lendst addrdst addr1 len1 addr2 len2 ) \ 2swap 2rot ( addr2 len2 addr1 len1 lendst addrdst ) \ 2dup chars allot ( dst allocated ) \ copy copy \ ; : @@ ( addr len -- ) here -rot ( dst src len ) copy drop ; bye s" Dies ist eine Testpresentation" s" Eines Tages hatten wir (" @@ s" Harald Steinlechner" @@ s" und" @@ s" Denis Knauf" @@ s" die tolle Idee, eine Presentationssoftware zu schreiben" @@

s" Ergebnis:" @@ s" Das hier" @@

s" Sieht doch garnicht so schlecht aus" @@

\ presentation ist gestartet: erste Seite wird angezeigt n \ zweite Seite p \ erste Seite 2 n \ dritte Seite