anchor.diff:                  | AstNode -> ",shape=box"
                   | Prod -> ""
               let color =
  -                if not isAmbiguous then ""
  +                if isTerminal then ",style=\"filled\",fillcolor=gray"
  +                elif not isAmbiguous then ""
                   else ",style=\"filled\",fillcolor=red"
               out.WriteLine ("    " + num.ToString() + " [label=\"" + label + "\"" + color + shape + "]")
           let createEdge (b : int) (e : int) isBold (str : string) =
  
positive.code:             out.WriteLine ("    " + b.ToString() + " -> " + e.ToString() + " [" + bold + "label=\"" + label + "\"" + "]")
          let createEpsilon ind = 
              let res = next()
              createNode res false AstNode ("n " + indToString (-1-ind))
              let u = next()
              createNode u false AstNode "eps"
              createEdge res u true ""
              res
          let createTerm t =
              let res = next()
              createNode res false AstNode ("t " + indToString (tokenToNumber tokens.[t]))
              res
          (*if not isEpsilon then*)
          //for i in order do
  
negative.code:                     then indToString leftSide.[children.first.prod]
                      else "error"
                       
                  createNode i (children.other <> null) false AstNode ("n " + label)
                       
                  let inline handle (family : OtherFamily) =
                      let u = next()
                      createNode u false false Prod ("prod " + family.prod.ToString())
                      createEdge i u true ""
                      family.nodes.doForAll <| fun child ->
                          let v = 
  