anchor.diff:              ResizeArray<string * 'range> * ResizeArray<string * 'range> * ResizeArray<string * 'range>
   
   
  -type Processor<'TokenType, 'br, 'range, 'node >  when 'br:equality and  'range:equality and 'node:null 
  +type Processor<'TokenType, 'br, 'range, 'node >  when 'br:equality and  'range:equality and 'node:null  and 'TokenType : equality
       (
           tokenize: Appr<'br> -> Test<ParserInputGraph<'TokenType>, array<Symb<char*Position<'br>>>>
           , parse, translate, tokenToNumber: 'TokenType -> int, numToString: int -> string, tokenData: 'TokenType -> obj, tokenToTreeNode, lang, calculatePos:_->seq<'range>
  
positive.code:                         let semErrors = cfg.FindUndefVariable()
                          semErrors |> List.iter addSError
  
                  | Yard.Generators.ARNGLR.Parser.Error(_, tok, _) -> tok |> addPError 
              )
  
      let getNextTree index : TreeGenerationState<'node> = 
  
negative.code:         | _ -> failwith "Unexpected state in tree generation"
  
      member this.TokenToPos calculatePos (token : 'TokenType)= 
          let data (*: FSA<char*Position<'br>>*) = unbox <| tokenData token
          calculatePos data
  
      member this.GetForestWithToken range = getForestWithToken range
  
  