anchor.diff:  
   : PARSE-POS  \ ( -- caddr )
       SOURCE DROP >IN @ + ;
  -
  -\ Factored out word to start a loop over the parse area
  -: PARSE-DO
  -    SOURCE + PARSE-POS DO ;
   
   32 CONSTANT BL
   
  
positive.code: \ we inspect (currying and higher order functions would be nice).
  \ On the other hand, parsing is not what we do most, and especially
  \ not what will be time or power critical.
  : BL-TEST  \ ( char delimiter -- flag )
      DUP BL = IF 1+ < ELSE = THEN ;
  
  \ Parse ccc delimited by delimiter char.
  
negative.code: \ block for WORD.
  : PARSE  \ ( char "ccc<char>" -- c-addr u )                     ( core ext )
      0 SWAP    \ 0 counter if needed
      SOURCE + PARSE-POS
      DO
        I C@ OVER ?DELIM
          IF DROP I SOURCE + - SWAP LEAVE THEN
      LOOP
      DROP
      PARSE-POS SWAP DUP >IN +! ;
  
  \ Comments
  : (  41 PARSE 2DROP ; IMMEDIATE
  
  \ Skip delimiter characters from the input stream.
  : SKIP  ( char "<chars>" -- )
      SOURCE + PARSE-POS
      DO
        I @ OVER ?DELIM 0= IF LEAVE THEN
        >IN 1+!
      LOOP
      DROP ( delimiter )
  