anchor.diff:          for e in qGraph.Edges do lexerInputG.AddEdgeForsed (new LexerEdge<_,_>(e.Source,e.Target,Some(e.Tag, e.Tag+"|")))
           lexerInputG
   
  +    let checkArr expectedArr actualArr =
  +        if Array.length expectedArr = Array.length actualArr
  +        then 
  +            Array.iteri2 (
  +                fun i x1 x2 -> 
  +                if x1 <> x2 then Assert.Fail ("Arrays differ at position: " + string i)) expectedArr actualArr
  +            Assert.Pass()
  +        else Assert.Fail ("Arrays have different length")
  +
       let check_brs = 
          Seq.iter
           (fun (e:AbstractParsing.Common.ParserEdge<_>) -> 
  
positive.code:                     | RNGLR_EOF _ -> [||]
                      | t -> failwith (sprintf "Unexpected token: %A" t))
              |> Array.ofSeq
          Assert.AreEqual(positons.Length,6)
          Assert.IsTrue(positons.[0] = 0)
          Assert.IsTrue(positons.[1] = 1)
          Assert.IsTrue(positons.[2] = 0)
          Assert.IsTrue(positons.[3] = 0)
          Assert.IsTrue(positons.[4] = 1)
          Assert.IsTrue(positons.[5] = 0)  
  
      [<Test>]
      member this.``Test with position. Ident on edgs with branch in begin.`` () =
          let lexerInputGraph = loadLexerInputGraph "test_with_pos_4.dot"
          let res = Calc.Lexer._fslex_tables.Tokenize(Calc.Lexer.fslex_actions_token, lexerInputGraph, eofToken)
          Assert.AreEqual(res.Edges |> Seq.length, 3)
          Assert.AreEqual(res.Vertices |> Seq.length, 3)
          res.Edges 
            |> Seq.iter
                (fun e -> 
  
negative.code:     member this.``Test with position. Ident on edgs with branch in begin_1.`` () =
          let lexerInputGraph = loadLexerInputGraph "test_with_pos_5.dot"
          let res = Calc.Lexer._fslex_tables.Tokenize(Calc.Lexer.fslex_actions_token, lexerInputGraph, eofToken)
          checkGraph res 3 3
          let positions =
              res.Edges 
                |> Seq.collect
                    (fun e -> 
  