\ Примерная программа (кошка для тренировок) \ Программа читает из in.txt в текущей директории слова, \ и сортирует их в алфавитном порядке пирамидальной сортировкой \ Можно было бы и быстрой: ~pinka/samples/2003/common/qsort.f \ Испытуемые: hsort.f , binary-search.f , arr{ , STRcompiledCode \ REQUIRE MemReport ~day/lib/memreport.f REQUIRE 2VARIABLE lib/include/double.f REQUIRE LOCAL ~profit/lib/static.f REQUIRE arr{ ~profit/lib/bac4th-sequence.f REQUIRE split-patch ~profit/lib/bac4th-str.f REQUIRE iterateBy ~profit/lib/bac4th-iterators.f REQUIRE HeapSort ~mlg/SrcLib/hsort.f REQUIRE binary-search.f ~profit/lib/binary-search.f : TAKE-TWO PRO *> <*> BSWAP <* CONT ; : TAKE-THREE PRO *> <*> BSWAP <*> ROT BACK -ROT TRACKING <* CONT ; : TAKE-FOUR PRO *> <*> BSWAP <*> ROT BACK -ROT TRACKING <*> 2SWAP SWAP BACK SWAP 2SWAP TRACKING <* CONT ; 2VARIABLE tmp :NONAME ['] ANSI>OEM TO ANSI>R CELLS 2* [ DUP ] LITERAL + 2! tmp 2@ R> CELLS 2* LITERAL + 2! " STRcompiledCode TO []exch[] HeapSort 0 PyrN 1- S" этой" \ искомое слово arrBeg @ " CELLS 2* LITERAL + 2@ ( 2DUP CR TYPE ) 2LITERAL COMPARE NEGATE " STRcompiledCode binary-search . . KEY DROP START{ arrBeg @ arrLen @ 2 CELLS iterateBy DUP 2@ CR TYPE }EMERGE ; EXECUTE \ MemReport