anchor.diff:                  res                     
   
       let print ps =
  -        printfn "ParseState: \n     i = %A \n      symbol = %A \n     statesSet ="     ps.i   ps.inpSymbol 
  -        Set.map 
  -            (fun s -> List.map PrintTree s.forest)
  +        printfn "ParseState:\n"
  +        printfn "     i = %A\n" ps.i
  +        printfn "     symbol = %A\n" ps.inpSymbol
  +        printfn "     statesSet = [\n" 
  +        Set.iter 
  +            (fun s -> 
  +                printfn "         State:\n"
  +                printfn "             item = %A\n" s.itemName 
  +                printfn "             position = %A\n" s.position
  +                printfn "             forest = <<\n"
  +                List.iter PrintTree s.forest
  +                printfn "\n             >>\n")
               ps.statesSet
  +        printfn "     ]\n" 
   
       let rec climb() = 
           memoize
               (fun tables parserState ->
   #if DEBUG
  -                printfn "\n Climb \n  parserState=%A\n" (print parserState)
  +                printfn "\n Climb \n" 
  +                print parserState
   #endif
                   let gotoSet = goto tables parserState.statesSet parserState.inpSymbol
   #if DEBUG
  
positive.code:                             try
                                      parserState.lexer.Get(parserState.i)
                              with _ -> {name = "EOF"; value = ""}
                          printfn "\n NEXT LEXEME = %A \n" nextLexeme
                          if nextLexeme.name = "EOF" 
                          then Set.empty                              
                          else
  
negative.code:                                         }
                              Set.filter (fun res -> not (isFinaleState res.rItem)) climbRes 
                  let res = resPart1 + resPart2
                  //printfn "RESULT   %A" res
                  res)
  
          
  