anchor.diff:  open Yard.Core.IL
   open Yard.Core.IL.Production
   open Yard.Generators.RNGLR
  -open PrintTreeNode
  +
  +let toClassName (str : string) = 
  +//    let onlyFirstLetterToUpper (word : string) = 
  +//        let symbols = [| 
  +//                        for i = 0 to word.Length - 1 do
  +//                            if i = 0 
  +//                            then yield System.Char.ToUpper word.[0]
  +//                            else yield System.Char.ToLower word.[i] 
  +//                      |] 
  +//        new System.String(symbols)
  +//    
  +//    str.Split('_')
  +//    |> Array.map onlyFirstLetterToUpper
  +//    |> System.String.Concat 
  +        let symbols = [| 
  +                        for i = 0 to str.Length - 1 do
  +                            if i = 0 
  +                            then yield System.Char.ToUpper str.[0]
  +                            else yield str.[i] 
  +                      |] 
  +        new System.String(symbols)
  +
  +let litToClassName (lit : string) = 
  +    toClassName <| lit.ToLower()
   
   let getLeafSemantic leaf isTok = 
       let res = new System.Text.StringBuilder()
  
positive.code:         print "%s" (String.replicate (num <<< 2) " ")
          printBr x
  
      printBrInd 0 "let parent = new %sNonTermNode(\"%s\")" <| firstLetterToUpper parent <| parent
      printBrInd 0 "let children : IAbstractTreeNode list = %A" children
      printBrInd 0 "addSemantic parent children"
      res.ToString()
  
negative.code: 
              let newRule : Rule.t<Source.t, Source.t> = 
                  {
                      name = new Source.t("highlight_" + tok)
                      args = []
                      body = PSeq([newElem], Some <| actionCode, None)
                      isStart = false
  