@@ um strings auf den here-stack zu legen

This commit is contained in:
Denis Knauf 2010-12-10 14:23:29 +01:00
parent 849b2e6945
commit 8e9f1b4ab6

View file

@ -23,26 +23,29 @@
: <b> csi c, <_> ; : <b> csi c, <_> ;
: <i> csi c, <_> ; : <i> csi c, <_> ;
: <np> begin , 0<> until ; : <np> begin , 0<> until ;
: <+> ( addr1 len1 addr2 len2 -- addrdst lendst ) \ : <+> ( addr1 len1 addr2 len2 -- addrdst lendst )
rot 2dup + here ( addr1 addr2 len2 len1 lendst addrdst ) \ rot 2dup + here ( addr1 addr2 len2 len1 lendst addrdst )
2-rot -rot ( lendst addrdst addr1 len1 addr2 len2 ) \ 2-rot -rot ( lendst addrdst addr1 len1 addr2 len2 )
2swap 2rot ( addr2 len2 addr1 len1 lendst addrdst ) \ 2swap 2rot ( addr2 len2 addr1 len1 lendst addrdst )
2dup cells allot ( dst allocated ) \ 2dup chars allot ( dst allocated )
copy copy \ copy copy
\ ;
: @@ ( addr len -- )
here -rot ( dst src len )
copy drop
; ;
: " s" ; immediate
bye bye
<presentation> <presentation>
" Dies ist eine Testpresentation" <h> s" Dies ist eine Testpresentation" <h>
" Eines Tages hatten wir (" @@ <b> " Harald Steinlechner" @@ </b> " und" s" Eines Tages hatten wir (" @@ <b> s" Harald Steinlechner" @@ </b> s" und" @@
" Denis Knauf" <b> " die tolle Idee, eine Presentationssoftware zu schreiben" <n> <p> <b> s" Denis Knauf" @@ </b> s" die tolle Idee, eine Presentationssoftware zu schreiben" @@ <p>
<np> <np>
" Ergebnis:" <h> s" Ergebnis:" @@ <h>
" Das hier" <b> <p> <b> s" Das hier" @@ </b> <p>
<np> <np>
" Sieht doch garnicht so schlecht aus" <p> s" Sieht doch garnicht so schlecht aus" @@ <p>
</presentation> </presentation>
\ presentation ist gestartet: erste Seite wird angezeigt \ presentation ist gestartet: erste Seite wird angezeigt