User Tools

Site Tools


en:pfw:library

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:pfw:library [2024-09-04 13:01] – [noForth t extending the library] willemen:pfw:library [2024-09-04 13:16] (current) – [The viewer] willem
Line 276: Line 276:
 </code> </code>
  
-==== The viewer ====+===== A viewer for the library ====
 + 
 +This viewer shows 16 or less lines at a time. 
 +It stops at a <09> character, prints a divider line and waits for user input. 
 +When the spacebar was hit, it goes on displaying the next chapter. 
 +Any other key leaves the viewer. 
 + 
 +<code forth> 
 +( A library consists of 09 {tab}, 0D {cr} and ASCII chars ) 
 +( ranging from blank to ~ others chars are not allowed ) 
 +\ Show the library source code of a chapter 
 +: .LINE     ( a1 -- a2 ch ) begin c@+ dup BL < 0= while emit repeat ; 
 +: .DIVIDER  ( -- )          cr  10 0 do ." -- " loop  cr ; 
 + 
 +: LIBTYPE   ( a -- ) 
 +    begin 
 +        10 0 do                         \ Max. 16 lines at a time 
 +            cr .line 09 =               \ End of source chapter? 
 +            if  .divider leave  then    \ Show divider & ready 
 +        loop 
 +    dup libhere < while                 \ More library source to be done? 
 +        key BL <> if drop exit then     \ Yes, ask key, stop on non space 
 +    repeat  drop ; 
 + 
 +: VIEW      ( "name" -- )       bl word count  lib-find libtype ; 
 + 
 +</code>
 ===== A sample library source ===== ===== A sample library source =====
 This examples shows how many different code parts can be used inside the library.\\ This examples shows how many different code parts can be used inside the library.\\
en/pfw/library.1725447714.txt.gz · Last modified: 2024-09-04 13:01 by willem