anchor.diff:       ] 
   
   let items =
  -    let rules_map  = List.zip ([0..(List.length rules)-1])rules
  -    in
  -    union_all(List.map (fun (i,rl) -> let (itm,s,f) = (FA_rules(rl.body)) in                                      
  -                                      if debug
  -                                      then (
  -                                      iter print_any itm ;
  +    let rules_map  = List.zip ([0..(List.length rules)-1])rules in
  +    List.map (fun (i,rl) -> let (itm,s,f) = (FinitAutomata.FA_rules(rl.body)) in                                      
  +#if DEBUG
  +                                      Set.iter print_any itm ;
                                         Console.WriteLine();
                                         print_any (s,f);
  -                                      Console.WriteLine());
  -                                      of_list(List.concat(Set.map (fun (a,b,c) ->( {prod_num = i;
  +                                      Console.WriteLine();
  +#endif
  +                                      Set.of_list(List.concat(Set.map (fun (a,b,c) ->
  +                                      ( {prod_num = i;
                                                                  prod_name = rl.name;
                                                                  item_num = a;
                                                                  symb = (match b 
  
positive.code: 
  module PreCalculation
  
  open FinitAutomata
  open IL.Production
  open IL.Rule
  open IL.Source
  open Set
  open IL
  open Log
  open Grammar
  open Grammar.Item
  open Grammar.Symbol
  
  open System
  
  let debug = false
  
  let lex_list = [PLiteral("b",(1,1));PLiteral("a",(1,1));PLiteral("c",(1,1));PLiteral("E",(1,1));PLiteral("+",(1,1));PLiteral("*",(1,1));PLiteral("(",(1,1));PLiteral(")",(1,1))]
  
  
negative.code:                                                                s =s;
                                                                 f=f                                                                                          
                                                                }::
                                                                (if (Set.exists ((=)c) f)
                                                                 then [{prod_num = i;
                                                                 prod_name = rl.name;
                                                                 item_num = c;
  